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

Es kann jetzt auch ausgetreten und verändert werden

This commit is contained in:
root 2026-02-06 10:01:21 +00:00
parent f2ec045987
commit fecf76028a
12 changed files with 224 additions and 82 deletions

View File

@ -25,45 +25,45 @@ MAILS = {
'documents',
'documentowner',
'mobile',
'special_logins'
'special_logins',
],
},
'OFFICE': {
# 'MAIL': 'office@wikimedia.de',
'MAIL': 'julian.hahn@wikimedia.de',
'MAIL': 'office@wikimedia.de',
'DATA': [
'transponder_id'
'transponder_id',
],
},
'KOMM': {
'MAIL': 'presse@wikimedia.de',
'DATA': [
'email'
],
},
# 'KOMM': {
# 'MAIL': 'presse@wikimedia.de',
# 'DATA': [
# 'email'
# ],
# },
# 'CENTRAL': {
# 'MAIL': 'anna.noelte@wikimedia.de',
# 'DATA': [
# 'sim'
# ],
# },
# 'HR': {
# 'MAIL': 'personal@wikimedia.de',
# 'DATA': [
# 'overtime',
# 'holiday',
# 'laptop_id',
# 'mobile',
# 'sim',
# 'credit_card'
# ]
# },
# 'FINANCE': {
# 'MAIL': 'claudia.langrock@wikimedia.de',
# 'DATA': [
# 'credit_card'
# ]
# },
'HR': {
'MAIL': 'personal@wikimedia.de',
'DATA': [
'overtime',
'holiday',
'laptop_id',
'mobile',
'sim',
'credit_card'
]
},
'FINANCE': {
'MAIL': 'claudia.langrock@wikimedia.de',
'DATA': [
'credit_card',
'sim'
]
},
'SUBMITTER': {
'MAIL': 'submitter@wikimedia.de',
'DATA': [

View File

@ -171,7 +171,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
except SMTPException as error:
print(error)
self.instance.delete()
return HttpResponse(f'{error}<p>Error in sending mails (propably wrong adress?). Data not saved!')
return HttpResponse(f'{error}<p>Error in sending mails (probably wrong adress?). Data not saved!')
except Exception as error:
print(error)
# self.instance.delete()

View File

@ -0,0 +1,18 @@
# Generated by Django 5.2.8 on 2026-02-05 10:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('eintritt', '0008_alter_employee_os'),
]
operations = [
migrations.AlterField(
model_name='employee',
name='landline',
field=models.BooleanField(default=False, verbose_name='Festnetznummer (3CX)'),
),
]

View File

@ -71,7 +71,7 @@ class Employee(models.Model):
os = models.CharField(max_length=3, choices=OS_CHOICES.items(), default='FED', verbose_name=_('Betriebssystem'))
#screen = models.BooleanField(default=False, verbose_name=_('Zusätzlicher Monitor? Einer ist standard.'))
mobile = models.BooleanField(max_length=6, default=False, verbose_name=_('Diensttelefon (Handy)'))
landline = models.BooleanField(default = False, verbose_name=_('Festnetznummer (Sipgate)'))
landline = models.BooleanField(default = False, verbose_name=_('Festnetznummer (3CX)'))
# sim = models.BooleanField(default=False, verbose_name="Mobilfunkvertrag")
keyboard = models.CharField(max_length=2, choices=KEYBOARD_CHOICES.items(), default='DE', verbose_name=_("Tastaturlayout"))
comment = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("zusätzliche IT-Anforderungen"))

View File

@ -32,12 +32,12 @@ MAILS = {
'department', 'team', 'add_to_wikimediade'
],
},
'CENTRAL': {
'MAIL': 'anna.noelte@wikimedia.de',
'DATA': [
'department', 'team', 'language', 'mobile', 'rebu2go'
],
},
# 'CENTRAL': {
# 'MAIL': 'anna.noelte@wikimedia.de',
# 'DATA': [
# 'department', 'team', 'language', 'mobile', 'rebu2go'
# ],
# },
'HR': {
'MAIL': 'personal@wikimedia.de',
'DATA': [
@ -47,7 +47,11 @@ MAILS = {
'FINANCE': {
'MAIL': 'claudia.langrock@wikimedia.de',
'DATA': [
'rebu2go'
'rebu2go',
'department',
'team',
'language',
'mobile',
]
},
'SUBMITTER': {

View File

@ -75,17 +75,17 @@ class OfficeForm(EvaForm):
'post_office_box'
]
class ChangeForm(EvaForm):
class Meta:
model = Employee
fields = [
'firstdate_employment',
'jobdescription_german',
'jobdescription_english',
'desk',
'comment',
'accounts',
'lists',
'transponder'
]
widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),}
#class ChangeForm(EvaForm):
# class Meta:
# model = Employee
# fields = [
# 'firstdate_employment',
# 'jobdescription_german',
# 'jobdescription_english',
# 'desk',
# 'comment',
# 'accounts',
# 'lists',
# 'transponder'
# ]
# widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),}

View File

@ -0,0 +1,80 @@
# Generated by Django 5.2.8 on 2026-02-04 13:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('veraenderung', '0007_remove_employee_screen_and_more'),
]
operations = [
migrations.RemoveField(
model_name='employee',
name='desk',
),
migrations.RemoveField(
model_name='employee',
name='firstdate_presence',
),
migrations.RemoveField(
model_name='employee',
name='works_in_gs',
),
migrations.AddField(
model_name='employee',
name='laptop',
field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=8, verbose_name='Wird ein neuer Laptop gebraucht?'),
),
migrations.AddField(
model_name='employee',
name='oldaccounts',
field=models.TextField(blank=True, max_length=500, null=True, verbose_name='Nicht mehr benötigte alte Zugänge'),
),
migrations.AddField(
model_name='employee',
name='oldlists',
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Nicht mehr benötigte Mailinglisten'),
),
migrations.AddField(
model_name='employee',
name='onboarding',
field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=8, verbose_name='Wird wieder ein Onboarding gebraucht?'),
),
migrations.AlterField(
model_name='employee',
name='accounts',
field=models.TextField(blank=True, max_length=500, null=True, verbose_name='Zusätzliche benötigte neue Zugänge'),
),
migrations.AlterField(
model_name='employee',
name='department',
field=models.CharField(choices=[('COENG', 'Communitys & Engagement'), ('SOFT', 'Softwareentwicklung'), ('CENT', 'Central'), ('KOMAD', 'Kommunikation & Advocacy'), ('VOR', 'Vorstand')], max_length=5, verbose_name='neuer Bereich'),
),
migrations.AlterField(
model_name='employee',
name='framework',
field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Wenn ja, soll er vom Standard des Frameworks (Laptop) abweichen, und wenn ja, warum?'),
),
migrations.AlterField(
model_name='employee',
name='jobdescription_english',
field=models.CharField(max_length=100, null=True, verbose_name='New Job description(english)'),
),
migrations.AlterField(
model_name='employee',
name='jobdescription_german',
field=models.CharField(max_length=100, null=True, verbose_name='Neue Stellenbezeichnung(deutsch)'),
),
migrations.AlterField(
model_name='employee',
name='lists',
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Zusätzliche neue Mailinglisten'),
),
migrations.AlterField(
model_name='employee',
name='special',
field=models.TextField(blank=True, max_length=500, null=True, verbose_name='Besondere Schließungen hier eintragen (auch bereits vergebene)'),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 5.2.8 on 2026-02-04 13:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('veraenderung', '0008_remove_employee_desk_and_more'),
]
operations = [
migrations.AlterField(
model_name='employee',
name='keyboard',
field=models.CharField(choices=[('DE', 'Deutsch'), ('US', 'USA'), ('OT', 'Anderes (Bitte unten angeben)')], default='DE', max_length=2, null=True, verbose_name='Tastaturlayout'),
),
migrations.AlterField(
model_name='employee',
name='os',
field=models.CharField(choices=[('FED', 'Fedora (Standard)'), ('WIN', 'Windows (bitte Begründung angeben)'), ('MOS', 'Mac OS (nur wenn Mac gewählt)'), ('UBU', 'Ubuntu')], default='FED', max_length=3, null=True, verbose_name='Betriebssystem'),
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 5.2.8 on 2026-02-05 10:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('veraenderung', '0009_alter_employee_keyboard_alter_employee_os'),
]
operations = [
migrations.AlterField(
model_name='employee',
name='landline',
field=models.BooleanField(default=False, verbose_name='Festnetznummer (3CX)'),
),
]

View File

@ -66,12 +66,12 @@ class Employee(models.Model):
# IT related stuff
laptop = models.CharField(max_length=8, choices=JANEIN_CHOICES.items(), default='NEIN', verbose_name=_('Wird ein neuer Laptop gebraucht?'))
framework = models.CharField(max_length=300, null=True, blank=True, verbose_name=_("Wenn ja, soll er vom Standard des Frameworks (Laptop) abweichen, und wenn ja, warum?"))
os = models.CharField(max_length=3, choices=OS_CHOICES.items(), default='FED', verbose_name=_('Betriebssystem'))
os = models.CharField(max_length=3, null=True, choices=OS_CHOICES.items(), default='FED', verbose_name=_('Betriebssystem'))
#screen = models.BooleanField(default=False, verbose_name=_('Zusätzlicher Monitor? Einer ist standard.'))
mobile = models.BooleanField(max_length=6, default=False, verbose_name=_('Diensttelefon (Handy)'))
landline = models.BooleanField(default = False, verbose_name=_('Festnetznummer (Sipgate)'))
landline = models.BooleanField(default = False, verbose_name=_('Festnetznummer (3CX)'))
# sim = models.BooleanField(default=False, verbose_name="Mobilfunkvertrag")
keyboard = models.CharField(max_length=2, choices=KEYBOARD_CHOICES.items(), default='DE', verbose_name=_("Tastaturlayout"))
keyboard = models.CharField(max_length=2, null=True, choices=KEYBOARD_CHOICES.items(), default='DE', verbose_name=_("Tastaturlayout"))
comment = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("zusätzliche IT-Anforderungen"))
onboarding = models.CharField(max_length=8, choices=JANEIN_CHOICES.items(), default='NEIN', verbose_name=_('Wird wieder ein Onboarding gebraucht?'))
language = models.CharField(max_length=3, choices=LANG_CHOICES.items(), default="GER", verbose_name=_("Sprache für Onboarding"))

View File

@ -33,37 +33,37 @@ MAILS = {
'language',
],
},
# 'OFFICE': {
# 'MAIL': 'office@wikimedia.de',
# 'DATA': [
# 'transponder', 'special', 'post_office_box', 'mobile',
# 'works_in_gs', 'desk',
# ],
# },
# 'KOMM': {
# 'MAIL': 'presse@wikimedia.de',
# 'DATA': [
# 'department', 'team', 'add_to_wikimediade'
# ],
# },
'OFFICE': {
'MAIL': 'office@wikimedia.de',
'DATA': [
'transponder', 'special', 'post_office_box',
],
},
'KOMM': {
'MAIL': 'presse@wikimedia.de',
'DATA': [
'department', 'team', 'add_to_wikimediade'
],
},
# 'CENTRAL': {
# 'MAIL': 'anna.noelte@wikimedia.de',
# 'DATA': [
# 'department', 'team', 'language', 'mobile', 'rebu2go'
# ],
# },
# 'HR': {
# 'MAIL': 'personal@wikimedia.de',
# 'DATA': [
# 'department', 'team', 'language',
# ]
# },
# 'FINANCE': {
# 'MAIL': 'claudia.langrock@wikimedia.de',
# 'DATA': [
# 'rebu2go'
# ]
# },
'HR': {
'MAIL': 'personal@wikimedia.de',
'DATA': [
'department', 'team', 'language'
]
},
'FINANCE': {
'MAIL': 'claudia.langrock@wikimedia.de',
'DATA': [
'rebu2go',
'mobile',
]
},
'SUBMITTER': {
'MAIL': 'submitter@wikimedia.de',
'DATA': [

View File

@ -14,8 +14,7 @@ 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, WorkingForm, ITForm, OfficeForm, DummyForm,\
ChangeForm, TYPE_CHOICES
from .forms import PersonalForm, WorkingForm, ITForm, OfficeForm, DummyForm, TYPE_CHOICES
from .settings import MAILS, EVA_MAIL, BASIC_DATA, ONLY_ONBOARDING
def success(request):
@ -47,7 +46,7 @@ def change_process(wizard):
class EvaFormView(LoginRequiredMixin, CookieWizardView):
template_name = 'veraenderung/employee_form.html'
form_list = [PersonalForm, WorkingForm, ITForm, OfficeForm, ChangeForm, DummyForm]
form_list = [PersonalForm, WorkingForm, ITForm, OfficeForm, WorkingForm, DummyForm]
instance = None
choice = 'IN'
@ -90,7 +89,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
'TESTMODE': testmode})
# deliver context for forms if we are in the last step
if (self.steps.step1 == 5 or (self.choice != 'IN' and self.steps.step1 == 3)):
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