Added changes according to Timo
This commit is contained in:
parent
fecf76028a
commit
8fe3395ff7
|
|
@ -29,21 +29,25 @@ class PersonalForm(EvaForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = ['firstname', 'lastname', 'lastdate_employment', 'lastdate_office', 'lastdate_working']
|
fields = ['firstname', 'lastname', 'lastdate_employment', 'lastdate_office',]
|
||||||
widgets = {'lastdate_employment': DateInput(attrs={'type': 'date'}),
|
widgets = {'lastdate_employment': DateInput(attrs={'type': 'date'}),
|
||||||
'lastdate_office': DateInput(attrs={'type': 'date'}),
|
'lastdate_office': DateInput(attrs={'type': 'date'}),}
|
||||||
'lastdate_working': DateInput(attrs={'type': 'date'}),}
|
|
||||||
|
|
||||||
class HRForm(EvaForm):
|
class HRForm(EvaForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = ['overtime', 'holiday']
|
fields = ['overtime', 'holiday', 'pension']
|
||||||
|
|
||||||
|
|
||||||
class ITForm(EvaForm):
|
class ITForm(EvaForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = ['laptop_id', 'forward', 'forwardemail', 'documents', 'documentowner', 'mobile', 'sim', 'credit_card', 'transponder_id', 'special_logins']
|
fields = ['laptop_id', 'forward', 'forwardemail', 'documents', 'documentowner', 'mobile', 'sim', 'hardware', 'special_logins']
|
||||||
|
|
||||||
|
class RestForm(EvaForm):
|
||||||
|
class Meta:
|
||||||
|
model = Employee
|
||||||
|
fields = ['credit_card', 'transponder_id', 'bahncard', 'website']
|
||||||
|
|
||||||
class DummyForm(ModelForm):
|
class DummyForm(ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,11 @@ KEYBOARD_CHOICES = {'DE': 'Deutsch',
|
||||||
'US': 'USA',
|
'US': 'USA',
|
||||||
'OT': _('Anderes (Bitte unten angeben)')}
|
'OT': _('Anderes (Bitte unten angeben)')}
|
||||||
|
|
||||||
ACCOUNT_CHOICES = {'OTRSWMDE': 'OTRS Ticketsystem',
|
HARDWARE_CHOICES = {'KEYBOARD': 'Tastatur',
|
||||||
'CIVIC1': _('Civic CRM (allgemein)'),
|
'MOUSE': 'Maus',
|
||||||
'CIVIC2': _("Civic CRM (Mailings, impliziert allgemein)"),
|
'MONITOR': 'Monitor',
|
||||||
'WEB': 'www.wikimedia.de (edit)',
|
'HEADSET': 'Headset',
|
||||||
'BLOG': 'blog.wikimedia.de (edit)',
|
'2FA': '2FA Stick',
|
||||||
'FORUM': 'forum.wikimedia.de',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TRANSPONDER_CHOICES = {'NORM': _('Allgemeiner Transponder'),
|
TRANSPONDER_CHOICES = {'NORM': _('Allgemeiner Transponder'),
|
||||||
|
|
@ -57,11 +56,11 @@ class Employee(models.Model):
|
||||||
# general work related stuff
|
# general work related stuff
|
||||||
lastdate_employment = models.DateField(null=True, verbose_name=_("Vertragsende"))
|
lastdate_employment = models.DateField(null=True, verbose_name=_("Vertragsende"))
|
||||||
lastdate_office = models.DateField(null=True, verbose_name=_("Letzter Tag der Anwesenheit in der Geschäftsstelle"))
|
lastdate_office = models.DateField(null=True, verbose_name=_("Letzter Tag der Anwesenheit in der Geschäftsstelle"))
|
||||||
lastdate_working = models.DateField(null=True, verbose_name=_("Letzter Arbeitstag"))
|
|
||||||
|
|
||||||
# HR related stuff
|
# HR related stuff
|
||||||
overtime = models.CharField(max_length=6, blank=True, verbose_name=_("vorhandene Überstunden (wenn bekannt)"))
|
overtime = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Sollen restliche Überstunden ausgezahlt werden?"))
|
||||||
holiday = models.CharField(max_length=6, blank=True, verbose_name=_("restliche Urlaubstage (wenn bekannt)"))
|
holiday = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Sollen restliche Urlaubstage ausgezahlt werden?"))
|
||||||
|
pension = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Ist betriebliche Altersvorsorge (BAV) vorhanden?"))
|
||||||
|
|
||||||
# IT related stuff
|
# IT related stuff
|
||||||
laptop_id = models.CharField(max_length=6, blank=True, verbose_name=_("Laptop ID (wenn bekannt)"))
|
laptop_id = models.CharField(max_length=6, blank=True, verbose_name=_("Laptop ID (wenn bekannt)"))
|
||||||
|
|
@ -72,9 +71,14 @@ class Employee(models.Model):
|
||||||
documentowner = models.CharField(max_length=300, null=True, blank=True, verbose_name=_("An wen sollen die Dokumente übertragen werden?"))
|
documentowner = models.CharField(max_length=300, null=True, blank=True, verbose_name=_("An wen sollen die Dokumente übertragen werden?"))
|
||||||
mobile = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Diensttelefon (Handy) vorhanden?'))
|
mobile = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Diensttelefon (Handy) vorhanden?'))
|
||||||
sim = models.BooleanField(default=False, verbose_name="Mobilfunkvertrag vorhanden?")
|
sim = models.BooleanField(default=False, verbose_name="Mobilfunkvertrag vorhanden?")
|
||||||
|
hardware = MultiSelectField(choices=HARDWARE_CHOICES.items(), max_length=40, null=True, blank=True, verbose_name=_("Zusätzliche Hardware vorhanden?"))
|
||||||
|
|
||||||
# office related stuff
|
# office related stuff
|
||||||
transponder_id = models.CharField(max_length=6, blank=True, verbose_name=_("Transponder ID (wenn bekannt)"))
|
transponder_id = models.CharField(max_length=6, blank=True, verbose_name=_("Transponder ID (Laut Personio)"))
|
||||||
|
|
||||||
# finance related stuff
|
# finance related stuff
|
||||||
credit_card = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name="Kreditkarte vorhanden?")
|
credit_card = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name="Kreditkarte vorhanden?")
|
||||||
|
bahncard = models.CharField(max_length=5, default="NEIN", choices=JANEIN_CHOICES.items(), verbose_name="Bahncard-Abo vorhanden?")
|
||||||
|
|
||||||
|
# kom related stuff
|
||||||
|
website = models.BooleanField(default=False, verbose_name="Müssen Dinge von der Webseite gelöscht werden?")
|
||||||
|
|
@ -9,9 +9,7 @@ BASIC_DATA = [
|
||||||
'firstname',
|
'firstname',
|
||||||
'lastname',
|
'lastname',
|
||||||
'lastdate_employment',
|
'lastdate_employment',
|
||||||
'lastdate_office',
|
'lastdate_office',]
|
||||||
'lastdate_working'
|
|
||||||
]
|
|
||||||
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
|
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
|
||||||
# also one copy with all fields to the person filling the form.
|
# also one copy with all fields to the person filling the form.
|
||||||
MAILS = {
|
MAILS = {
|
||||||
|
|
@ -26,6 +24,7 @@ MAILS = {
|
||||||
'documentowner',
|
'documentowner',
|
||||||
'mobile',
|
'mobile',
|
||||||
'special_logins',
|
'special_logins',
|
||||||
|
'hardware',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'OFFICE': {
|
'OFFICE': {
|
||||||
|
|
@ -37,7 +36,8 @@ MAILS = {
|
||||||
'KOMM': {
|
'KOMM': {
|
||||||
'MAIL': 'presse@wikimedia.de',
|
'MAIL': 'presse@wikimedia.de',
|
||||||
'DATA': [
|
'DATA': [
|
||||||
'email'
|
'email',
|
||||||
|
'website',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
# 'CENTRAL': {
|
# 'CENTRAL': {
|
||||||
|
|
@ -51,6 +51,7 @@ MAILS = {
|
||||||
'DATA': [
|
'DATA': [
|
||||||
'overtime',
|
'overtime',
|
||||||
'holiday',
|
'holiday',
|
||||||
|
'pension',
|
||||||
'laptop_id',
|
'laptop_id',
|
||||||
'mobile',
|
'mobile',
|
||||||
'sim',
|
'sim',
|
||||||
|
|
@ -61,6 +62,7 @@ MAILS = {
|
||||||
'MAIL': 'claudia.langrock@wikimedia.de',
|
'MAIL': 'claudia.langrock@wikimedia.de',
|
||||||
'DATA': [
|
'DATA': [
|
||||||
'credit_card',
|
'credit_card',
|
||||||
|
'bahncard',
|
||||||
'sim'
|
'sim'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,8 @@
|
||||||
{% translate "Personal-relevante Angaben" %}
|
{% translate "Personal-relevante Angaben" %}
|
||||||
{% elif wizard.steps.step1 == 3 %}
|
{% elif wizard.steps.step1 == 3 %}
|
||||||
{% translate "IT-relevante Angaben" %}
|
{% translate "IT-relevante Angaben" %}
|
||||||
|
{% elif wizard.steps.step1 == 4 %}
|
||||||
|
{% translate "Sonstige Angaben" %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from .models import Employee, DEPARTMENT_CHOICES, OS_CHOICES, \
|
from .models import Employee, DEPARTMENT_CHOICES, OS_CHOICES, \
|
||||||
LANG_CHOICES, ACCOUNT_CHOICES, TRANSPONDER_CHOICES, KEYBOARD_CHOICES, JANEIN_CHOICES
|
LANG_CHOICES, HARDWARE_CHOICES, TRANSPONDER_CHOICES, KEYBOARD_CHOICES, JANEIN_CHOICES
|
||||||
from .forms import PersonalForm, HRForm, ITForm, DummyForm, TYPE_CHOICES
|
from .forms import PersonalForm, HRForm, ITForm, RestForm, DummyForm, TYPE_CHOICES
|
||||||
from .settings import MAILS, EVA_MAIL, BASIC_DATA, ONLY_ONBOARDING
|
from .settings import MAILS, EVA_MAIL, BASIC_DATA, ONLY_ONBOARDING
|
||||||
|
|
||||||
def success(request):
|
def success(request):
|
||||||
|
|
@ -46,7 +46,7 @@ def change_process(wizard):
|
||||||
|
|
||||||
class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
template_name = 'austritt/employee_form.html'
|
template_name = 'austritt/employee_form.html'
|
||||||
form_list = [PersonalForm, HRForm, ITForm, DummyForm]
|
form_list = [PersonalForm, HRForm, ITForm, RestForm, DummyForm]
|
||||||
instance = None
|
instance = None
|
||||||
choice = 'IN'
|
choice = 'IN'
|
||||||
|
|
||||||
|
|
@ -89,7 +89,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
'TESTMODE': testmode})
|
'TESTMODE': testmode})
|
||||||
|
|
||||||
# deliver context for forms if we are in the last step
|
# deliver context for forms if we are in the last step
|
||||||
if (self.steps.step1 == 4 or (self.choice != 'IN' and self.steps.step1 == 4)):
|
if (self.steps.step1 == 5 or (self.choice != 'IN' and self.steps.step1 == 5)):
|
||||||
context.update({'data': self.beautify_data(self.get_all_cleaned_data()),
|
context.update({'data': self.beautify_data(self.get_all_cleaned_data()),
|
||||||
'datatable': True,})
|
'datatable': True,})
|
||||||
return context
|
return context
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,7 @@ class WorkingForm(EvaForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = ['firstdate_employment', 'jobdescription_german',
|
fields = ['firstdate_employment', 'jobdescription_german',]
|
||||||
'jobdescription_english',]
|
|
||||||
widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),
|
widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),
|
||||||
'firstdate_presence': DateInput(attrs={'type': 'date'}),}
|
'firstdate_presence': DateInput(attrs={'type': 'date'}),}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,6 @@ class Employee(models.Model):
|
||||||
# general work related stuff
|
# general work related stuff
|
||||||
firstdate_employment = models.DateField(null=True, verbose_name=_("Erster Arbeitstag"))
|
firstdate_employment = models.DateField(null=True, verbose_name=_("Erster Arbeitstag"))
|
||||||
jobdescription_german = models.CharField(null=True, max_length=100, verbose_name="Neue Stellenbezeichnung(deutsch)")
|
jobdescription_german = models.CharField(null=True, max_length=100, verbose_name="Neue Stellenbezeichnung(deutsch)")
|
||||||
jobdescription_english = models.CharField(null=True, max_length=100, verbose_name="New Job description(english)")
|
|
||||||
|
|
||||||
# IT related stuff
|
# IT related stuff
|
||||||
laptop = models.CharField(max_length=8, choices=JANEIN_CHOICES.items(), default='NEIN', verbose_name=_('Wird ein neuer Laptop gebraucht?'))
|
laptop = models.CharField(max_length=8, choices=JANEIN_CHOICES.items(), default='NEIN', verbose_name=_('Wird ein neuer Laptop gebraucht?'))
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@ EVA_MAIL = 'it-support@wikimedia.de'
|
||||||
BASIC_DATA = ['firstname',
|
BASIC_DATA = ['firstname',
|
||||||
'lastname',
|
'lastname',
|
||||||
'firstdate_employment',
|
'firstdate_employment',
|
||||||
'jobdescription_german',
|
'jobdescription_german',]
|
||||||
'jobdescription_english',]
|
|
||||||
|
|
||||||
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
|
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
|
||||||
# also one copy with all fields to the person filling the form.
|
# also one copy with all fields to the person filling the form.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue