Initial commit

This commit is contained in:
Kevin Alberts 2017-12-19 15:48:06 +01:00
commit 8948abe8e9
21 changed files with 621 additions and 0 deletions

0
dronken/__init__.py Normal file
View file

5
dronken/admin.py Normal file
View file

@ -0,0 +1,5 @@
from django.contrib import admin
from dronken.models import *
admin.site.register(City)
admin.site.register(Association)

5
dronken/apps.py Normal file
View file

@ -0,0 +1,5 @@
from django.apps import AppConfig
class DronkenConfig(AppConfig):
name = 'dronken'

View file

@ -0,0 +1,8 @@
from django.conf import settings
def environment(request):
""" Template context processor to add debug variable to tempate context. """
return {
'debug': settings.DEBUG
}

View file

@ -0,0 +1,35 @@
# Generated by Django 2.0 on 2017-12-19 12:53
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Association',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('slug', models.CharField(max_length=255)),
('intern', models.CharField(max_length=255)),
('state', models.CharField(choices=[('ja', 'Ja'), ('nee', 'Nee'), ('brak', 'Brak')], max_length=255)),
('has_intern', models.BooleanField()),
('enabled', models.BooleanField()),
],
),
migrations.CreateModel(
name='City',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('slug', models.CharField(max_length=255)),
('enabled', models.BooleanField()),
],
),
]

View file

@ -0,0 +1,19 @@
# Generated by Django 2.0 on 2017-12-19 12:58
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dronken', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='association',
name='city',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dronken.City'),
),
]

View file

@ -0,0 +1,24 @@
# Generated by Django 2.0 on 2017-12-19 14:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dronken', '0002_association_city'),
]
operations = [
migrations.AddField(
model_name='association',
name='short_name',
field=models.CharField(default='', max_length=255),
preserve_default=False,
),
migrations.AlterField(
model_name='association',
name='state',
field=models.CharField(choices=[('dronken', 'Dronken'), ('nuchter', 'Nuchter'), ('brak', 'Brak')], max_length=255),
),
]

View file

30
dronken/models.py Normal file
View file

@ -0,0 +1,30 @@
from django.db import models
class City(models.Model):
name = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
enabled = models.BooleanField()
def __str__(self):
return self.name
class Association(models.Model):
STATES = (
('dronken', 'Dronken'),
('nuchter', 'Nuchter'),
('brak', 'Brak')
)
name = models.CharField(max_length=255)
short_name = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
intern = models.CharField(max_length=255)
state = models.CharField(choices=STATES, max_length=255)
city = models.ForeignKey(to=City, on_delete=models.SET_NULL, blank=True, null=True)
has_intern = models.BooleanField()
enabled = models.BooleanField()
def __str__(self):
return self.name

3
dronken/tests.py Normal file
View file

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

11
dronken/urls.py Normal file
View file

@ -0,0 +1,11 @@
from django.urls import path
from dronken.views import *
app_name = 'dronken'
urlpatterns = [
path('', CityList.as_view(), name='city_list'),
path('<city>/', AssociationList.as_view(), name='association_list'),
path('<city>/<slug>/', AssociationDetail.as_view(), name='association'),
]

38
dronken/views.py Normal file
View file

@ -0,0 +1,38 @@
from django import forms
from django.urls import reverse_lazy
from django.views.generic import ListView, UpdateView
from dronken.models import City, Association
class CityList(ListView):
template_name = 'cities.html'
model = City
class AssociationList(ListView):
template_name = 'associations.html'
model = Association
def get_queryset(self):
c = City.objects.get(slug=self.kwargs['city'])
return Association.objects.filter(city=c)
class DrunkUpdateForm(forms.ModelForm):
state = forms.CharField(
widget=forms.Select(choices=Association.STATES),
)
class Meta:
model = Association
fields = ['state']
class AssociationDetail(UpdateView):
template_name = 'association.html'
model = Association
form_class = DrunkUpdateForm
def get_success_url(self):
return reverse_lazy('dronken:association_list', kwargs={'city': self.get_object().city.slug})