some reorganisations of models, forms and views

This commit is contained in:
Benni Bärmann 2020-10-26 12:06:26 +01:00
parent 5a014d4696
commit a6474e07e8
4 changed files with 35 additions and 10 deletions

View File

@ -3,7 +3,7 @@ from django.forms import ModelForm, DateField, ChoiceField, RadioSelect, Boolean
from django.contrib.admin.widgets import AdminDateWidget from django.contrib.admin.widgets import AdminDateWidget
from django.utils.html import format_html from django.utils.html import format_html
from .models import Project, Volunteer, IFG, Library, TYPE_CHOICES, HonoraryCertificate, Travel from .models import Project, Volunteer, Extern, IFG, Library, TYPE_CHOICES, HonoraryCertificate, Travel
from .settings import DATAPROTECTION, FOERDERRICHTLINIEN from .settings import DATAPROTECTION, FOERDERRICHTLINIEN
@ -13,11 +13,11 @@ class ProjectForm(ModelForm):
class Meta: class Meta:
model = Project model = Project
exclude = ('pid', 'granted', 'granted_date', 'username', 'realname', 'email', 'project_end_mail', 'survey_mail_send') exclude = ('pid', 'granted', 'granted_date', 'realname', 'email', 'project_end_mail', 'survey_mail_send')
widgets = {'start': AdminDateWidget(), widgets = {'start': AdminDateWidget(),
'end': AdminDateWidget(),} 'end': AdminDateWidget(),}
class VolunteerForm(ModelForm): class ExternForm(ModelForm):
choice = ChoiceField(choices=TYPE_CHOICES.items(), widget=RadioSelect, choice = ChoiceField(choices=TYPE_CHOICES.items(), widget=RadioSelect,
label='Was möchtest Du beantragen?') label='Was möchtest Du beantragen?')
@ -27,7 +27,7 @@ class VolunteerForm(ModelForm):
DATAPROTECTION, FOERDERRICHTLINIEN)) DATAPROTECTION, FOERDERRICHTLINIEN))
class Meta: class Meta:
model = Volunteer model = Extern
exclude = ('granted', 'granted_date', 'survey_mail_send') exclude = ('granted', 'granted_date', 'survey_mail_send')
INTERN_CHOICES = [('PRO', 'Projektsteckbrief'), INTERN_CHOICES = [('PRO', 'Projektsteckbrief'),

View File

@ -0,0 +1,25 @@
# Generated by Django 3.1.1 on 2020-10-26 10:48
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('input', '0024_travel'),
]
operations = [
migrations.RemoveField(
model_name='honorarycertificate',
name='username',
),
migrations.RemoveField(
model_name='project',
name='username',
),
migrations.RemoveField(
model_name='travel',
name='username',
),
]

View File

@ -8,7 +8,7 @@ from .settings import ACCOUNTS
class Volunteer(models.Model): class Volunteer(models.Model):
realname = models.CharField(max_length=200, null=True) realname = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True) email = models.CharField(max_length=200, null=True)
username = models.CharField(max_length=200, null=True) # username = models.CharField(max_length=200, null=True)
# the following Fields are not supposed to be edited by users # the following Fields are not supposed to be edited by users
granted = models.BooleanField(null=True) granted = models.BooleanField(null=True)

View File

@ -7,7 +7,7 @@ from django.conf import settings
from django.template.loader import get_template from django.template.loader import get_template
from django.template import Context from django.template import Context
from .forms import ProjectForm, VolunteerForm, LibraryForm, IFGForm,\ from .forms import ProjectForm, ExternForm, LibraryForm, IFGForm,\
HonoraryCertificateForm, InternForm, TravelForm HonoraryCertificateForm, InternForm, TravelForm
from .models import Project, TYPE_CHOICES, Library from .models import Project, TYPE_CHOICES, Library
from .settings import URLPREFIX, IF_EMAIL from .settings import URLPREFIX, IF_EMAIL
@ -72,7 +72,7 @@ class InternView(CookieWizardView):
return form return form
def done(self, form_list, **kwargs): def done(self, form_list, **kwargs):
print('ExternView.done() reached') print('InternView.done() reached')
# gather data from all forms # gather data from all forms
data = {} data = {}
for form in form_list: for form in form_list:
@ -85,7 +85,7 @@ class InternView(CookieWizardView):
# this is ugly code. how can we copy this without explicit writing? # this is ugly code. how can we copy this without explicit writing?
# i found no way to access the ModelForm.Meta.exclude-tupel # i found no way to access the ModelForm.Meta.exclude-tupel
form.realname = data['realname'] form.realname = data['realname']
form.username = data['username'] # form.username = data['username']
form.email = data['email'] form.email = data['email']
form.save() form.save()
@ -96,7 +96,7 @@ class ExternView(CookieWizardView):
'''This View is for Volunteers''' '''This View is for Volunteers'''
template_name = "input/extern.html" template_name = "input/extern.html"
form_list = [VolunteerForm, LibraryForm] form_list = [ExternForm, LibraryForm]
def get_form(self, step=None, data=None, files=None): def get_form(self, step=None, data=None, files=None):
'''this function determines which part of the multipart form is '''this function determines which part of the multipart form is
@ -135,7 +135,7 @@ class ExternView(CookieWizardView):
# we have to copy the data from the first form here # we have to copy the data from the first form here
# this is a bit ugly code. how can we copy this without explicit writing? # this is a bit ugly code. how can we copy this without explicit writing?
form.realname = data['realname'] form.realname = data['realname']
form.username = data['username'] # form.username = data['username']
form.email = data['email'] form.email = data['email']
# write type of form in some cases # write type of form in some cases
if data['choice'] in ('BIB', 'ELIT', 'SOFT'): if data['choice'] in ('BIB', 'ELIT', 'SOFT'):