WMDE
/
eva
forked from tohe/eva
7
1
Fork 0

Added changes according to Timo

This commit is contained in:
Julian Hahn 2026-03-03 15:29:40 +01:00
parent fecf76028a
commit 8fe3395ff7
8 changed files with 37 additions and 28 deletions

View File

@ -29,21 +29,25 @@ class PersonalForm(EvaForm):
class Meta:
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'}),
'lastdate_office': DateInput(attrs={'type': 'date'}),
'lastdate_working': DateInput(attrs={'type': 'date'}),}
'lastdate_office': DateInput(attrs={'type': 'date'}),}
class HRForm(EvaForm):
class Meta:
model = Employee
fields = ['overtime', 'holiday']
fields = ['overtime', 'holiday', 'pension']
class ITForm(EvaForm):
class Meta:
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 Meta:

View File

@ -30,12 +30,11 @@ KEYBOARD_CHOICES = {'DE': 'Deutsch',
'US': 'USA',
'OT': _('Anderes (Bitte unten angeben)')}
ACCOUNT_CHOICES = {'OTRSWMDE': 'OTRS Ticketsystem',
'CIVIC1': _('Civic CRM (allgemein)'),
'CIVIC2': _("Civic CRM (Mailings, impliziert allgemein)"),
'WEB': 'www.wikimedia.de (edit)',
'BLOG': 'blog.wikimedia.de (edit)',
'FORUM': 'forum.wikimedia.de',
HARDWARE_CHOICES = {'KEYBOARD': 'Tastatur',
'MOUSE': 'Maus',
'MONITOR': 'Monitor',
'HEADSET': 'Headset',
'2FA': '2FA Stick',
}
TRANSPONDER_CHOICES = {'NORM': _('Allgemeiner Transponder'),
@ -57,11 +56,11 @@ class Employee(models.Model):
# general work related stuff
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_working = models.DateField(null=True, verbose_name=_("Letzter Arbeitstag"))
# HR related stuff
overtime = models.CharField(max_length=6, blank=True, verbose_name=_("vorhandene Überstunden (wenn bekannt)"))
holiday = models.CharField(max_length=6, blank=True, verbose_name=_("restliche Urlaubstage (wenn bekannt)"))
overtime = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Sollen restliche Überstunden ausgezahlt werden?"))
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
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?"))
mobile = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Diensttelefon (Handy) 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
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
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?")

View File

@ -9,9 +9,7 @@ BASIC_DATA = [
'firstname',
'lastname',
'lastdate_employment',
'lastdate_office',
'lastdate_working'
]
'lastdate_office',]
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
# also one copy with all fields to the person filling the form.
MAILS = {
@ -26,6 +24,7 @@ MAILS = {
'documentowner',
'mobile',
'special_logins',
'hardware',
],
},
'OFFICE': {
@ -37,7 +36,8 @@ MAILS = {
'KOMM': {
'MAIL': 'presse@wikimedia.de',
'DATA': [
'email'
'email',
'website',
],
},
# 'CENTRAL': {
@ -51,6 +51,7 @@ MAILS = {
'DATA': [
'overtime',
'holiday',
'pension',
'laptop_id',
'mobile',
'sim',
@ -61,6 +62,7 @@ MAILS = {
'MAIL': 'claudia.langrock@wikimedia.de',
'DATA': [
'credit_card',
'bahncard',
'sim'
]
},

View File

@ -48,6 +48,8 @@
{% translate "Personal-relevante Angaben" %}
{% elif wizard.steps.step1 == 3 %}
{% translate "IT-relevante Angaben" %}
{% elif wizard.steps.step1 == 4 %}
{% translate "Sonstige Angaben" %}
{% endif %}
{% else %}

View File

@ -13,8 +13,8 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.utils.translation import gettext_lazy as _
from .models import Employee, DEPARTMENT_CHOICES, OS_CHOICES, \
LANG_CHOICES, ACCOUNT_CHOICES, TRANSPONDER_CHOICES, KEYBOARD_CHOICES, JANEIN_CHOICES
from .forms import PersonalForm, HRForm, ITForm, DummyForm, TYPE_CHOICES
LANG_CHOICES, HARDWARE_CHOICES, TRANSPONDER_CHOICES, KEYBOARD_CHOICES, JANEIN_CHOICES
from .forms import PersonalForm, HRForm, ITForm, RestForm, DummyForm, TYPE_CHOICES
from .settings import MAILS, EVA_MAIL, BASIC_DATA, ONLY_ONBOARDING
def success(request):
@ -46,7 +46,7 @@ def change_process(wizard):
class EvaFormView(LoginRequiredMixin, CookieWizardView):
template_name = 'austritt/employee_form.html'
form_list = [PersonalForm, HRForm, ITForm, DummyForm]
form_list = [PersonalForm, HRForm, ITForm, RestForm, DummyForm]
instance = None
choice = 'IN'
@ -89,7 +89,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
'TESTMODE': testmode})
# 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()),
'datatable': True,})
return context

View File

@ -41,8 +41,7 @@ class WorkingForm(EvaForm):
class Meta:
model = Employee
fields = ['firstdate_employment', 'jobdescription_german',
'jobdescription_english',]
fields = ['firstdate_employment', 'jobdescription_german',]
widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),
'firstdate_presence': DateInput(attrs={'type': 'date'}),}

View File

@ -61,7 +61,6 @@ class Employee(models.Model):
# general work related stuff
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_english = models.CharField(null=True, max_length=100, verbose_name="New Job description(english)")
# IT related stuff
laptop = models.CharField(max_length=8, choices=JANEIN_CHOICES.items(), default='NEIN', verbose_name=_('Wird ein neuer Laptop gebraucht?'))

View File

@ -8,8 +8,7 @@ EVA_MAIL = 'it-support@wikimedia.de'
BASIC_DATA = ['firstname',
'lastname',
'firstdate_employment',
'jobdescription_german',
'jobdescription_english',]
'jobdescription_german',]
# for every department: 'MAIL' => mail adress, 'DATA': additional fields to include
# also one copy with all fields to the person filling the form.