From 60dd1e9f5a21b6b81a04139e832695a88d257b46 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 Mar 2026 09:04:27 +0000 Subject: [PATCH 1/5] =?UTF-8?q?rumgewiegelst=20um=20die=20St=C3=A4nde=20zu?= =?UTF-8?q?=20sichern=20vor=20einem=20Pull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...date_working_employee_bahncard_and_more.py | 53 +++++++++++++++++++ ...ahncard_alter_employee_pension_and_more.py | 33 ++++++++++++ .../migrations/0014_alter_employee_website.py | 18 +++++++ ...ee_bahncard_alter_employee_sim_and_more.py | 28 ++++++++++ ..._remove_employee_jobdescription_english.py | 17 ++++++ ...yboard_alter_employee_language_and_more.py | 43 +++++++++++++++ 6 files changed, 192 insertions(+) create mode 100644 austritt/migrations/0012_remove_employee_lastdate_working_employee_bahncard_and_more.py create mode 100644 austritt/migrations/0013_alter_employee_bahncard_alter_employee_pension_and_more.py create mode 100644 austritt/migrations/0014_alter_employee_website.py create mode 100644 austritt/migrations/0015_alter_employee_bahncard_alter_employee_sim_and_more.py create mode 100644 veraenderung/migrations/0011_remove_employee_jobdescription_english.py create mode 100644 veraenderung/migrations/0012_alter_employee_keyboard_alter_employee_language_and_more.py diff --git a/austritt/migrations/0012_remove_employee_lastdate_working_employee_bahncard_and_more.py b/austritt/migrations/0012_remove_employee_lastdate_working_employee_bahncard_and_more.py new file mode 100644 index 0000000..e27df8d --- /dev/null +++ b/austritt/migrations/0012_remove_employee_lastdate_working_employee_bahncard_and_more.py @@ -0,0 +1,53 @@ +# Generated by Django 5.2.8 on 2026-03-03 14:36 + +import multiselectfield.db.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0011_alter_employee_credit_card_alter_employee_documents_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='employee', + name='lastdate_working', + ), + migrations.AddField( + model_name='employee', + name='bahncard', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, verbose_name='Bahncard-Abo vorhanden?'), + ), + migrations.AddField( + model_name='employee', + name='hardware', + field=multiselectfield.db.fields.MultiSelectField(blank=True, choices=[('KEYBOARD', 'Tastatur'), ('MOUSE', 'Maus'), ('MONITOR', 'Monitor'), ('HEADSET', 'Headset'), ('2FA', '2FA Stick')], max_length=40, null=True, verbose_name='Zusätzliche Hardware vorhanden?'), + ), + migrations.AddField( + model_name='employee', + name='pension', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, verbose_name='Ist betriebliche Altersvorsorge (BAV) vorhanden?'), + ), + migrations.AddField( + model_name='employee', + name='website', + field=models.BooleanField(default=False, verbose_name='Müssen Dinge von der Webseite gelöscht werden?'), + ), + migrations.AlterField( + model_name='employee', + name='holiday', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Sollen restliche Urlaubstage ausgezahlt werden?'), + ), + migrations.AlterField( + model_name='employee', + name='overtime', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Sollen restliche Überstunden ausgezahlt werden?'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(blank=True, max_length=6, verbose_name='Transponder ID (Laut Personio)'), + ), + ] diff --git a/austritt/migrations/0013_alter_employee_bahncard_alter_employee_pension_and_more.py b/austritt/migrations/0013_alter_employee_bahncard_alter_employee_pension_and_more.py new file mode 100644 index 0000000..92ba3d7 --- /dev/null +++ b/austritt/migrations/0013_alter_employee_bahncard_alter_employee_pension_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 5.2.8 on 2026-03-03 15:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0012_remove_employee_lastdate_working_employee_bahncard_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='bahncard', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, null=True, verbose_name='Bahncard-Abo vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='pension', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Ist betriebliche Altersvorsorge (BAV) vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='sim', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, null=True, verbose_name='Mobilfunkvertrag vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='website', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, null=True, verbose_name='Müssen Dinge von der Webseite gelöscht werden?'), + ), + ] diff --git a/austritt/migrations/0014_alter_employee_website.py b/austritt/migrations/0014_alter_employee_website.py new file mode 100644 index 0000000..c356ff5 --- /dev/null +++ b/austritt/migrations/0014_alter_employee_website.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.8 on 2026-03-03 15:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0013_alter_employee_bahncard_alter_employee_pension_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='website', + field=models.CharField(blank=True, choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, verbose_name='Müssen Dinge von der Webseite gelöscht werden?'), + ), + ] diff --git a/austritt/migrations/0015_alter_employee_bahncard_alter_employee_sim_and_more.py b/austritt/migrations/0015_alter_employee_bahncard_alter_employee_sim_and_more.py new file mode 100644 index 0000000..95edd0f --- /dev/null +++ b/austritt/migrations/0015_alter_employee_bahncard_alter_employee_sim_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2.8 on 2026-03-03 15:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0014_alter_employee_website'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='bahncard', + field=models.CharField(blank=True, choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, verbose_name='Bahncard-Abo vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='sim', + field=models.CharField(blank=True, choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=5, verbose_name='Mobilfunkvertrag vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(max_length=6, verbose_name='Transponder ID (Laut Personio)'), + ), + ] diff --git a/veraenderung/migrations/0011_remove_employee_jobdescription_english.py b/veraenderung/migrations/0011_remove_employee_jobdescription_english.py new file mode 100644 index 0000000..d5d3802 --- /dev/null +++ b/veraenderung/migrations/0011_remove_employee_jobdescription_english.py @@ -0,0 +1,17 @@ +# Generated by Django 5.2.8 on 2026-03-03 14:36 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('veraenderung', '0010_alter_employee_landline'), + ] + + operations = [ + migrations.RemoveField( + model_name='employee', + name='jobdescription_english', + ), + ] diff --git a/veraenderung/migrations/0012_alter_employee_keyboard_alter_employee_language_and_more.py b/veraenderung/migrations/0012_alter_employee_keyboard_alter_employee_language_and_more.py new file mode 100644 index 0000000..9960ae7 --- /dev/null +++ b/veraenderung/migrations/0012_alter_employee_keyboard_alter_employee_language_and_more.py @@ -0,0 +1,43 @@ +# Generated by Django 5.2.8 on 2026-03-03 15:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('veraenderung', '0011_remove_employee_jobdescription_english'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='keyboard', + field=models.CharField(blank=True, 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='language', + field=models.CharField(blank=True, choices=[('GER', 'Deutsch'), ('ENG', 'English')], default='GER', max_length=3, verbose_name='Sprache für Onboarding'), + ), + migrations.AlterField( + model_name='employee', + name='laptop', + field=models.CharField(blank=True, choices=[('NEIN', 'Nein'), ('JA', 'Ja')], default='NEIN', max_length=8, verbose_name='Wird ein neuer Laptop gebraucht?'), + ), + migrations.AlterField( + model_name='employee', + name='onboarding', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=8, verbose_name='Wird wieder ein Onboarding gebraucht?'), + ), + migrations.AlterField( + model_name='employee', + name='os', + field=models.CharField(blank=True, 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'), + ), + migrations.AlterField( + model_name='employee', + name='transponder', + field=models.CharField(blank=True, choices=[('NORM', 'Transponder wird beibehalten'), ('SPECIAL', 'Besondere Schließungen (bitte angeben)'), ('NOTRANS', 'Kein Transponder')], default='NORM', max_length=7), + ), + ] From c31d0475322b2f8b5e40b5415feafa4bc0e58e2e Mon Sep 17 00:00:00 2001 From: Julian Hahn Date: Thu, 12 Mar 2026 10:08:32 +0100 Subject: [PATCH 2/5] changed mails for team-os and finance --- austritt/settings.py | 14 +++++++------- eintritt/settings.py | 22 +++++++++++++++------- veraenderung/settings.py | 22 +++++++++++++++------- 3 files changed, 37 insertions(+), 21 deletions(-) diff --git a/austritt/settings.py b/austritt/settings.py index fbacf0d..7a762b6 100644 --- a/austritt/settings.py +++ b/austritt/settings.py @@ -41,12 +41,12 @@ MAILS = { 'website', ], }, -# 'CENTRAL': { -# 'MAIL': 'anna.noelte@wikimedia.de', -# 'DATA': [ -# 'sim' -# ], -# }, + 'CENTRAL': { + 'MAIL': 'krisztina.nagy@wikimedia.de', + 'DATA': [ + 'sim' + ], + }, 'HR': { 'MAIL': 'personal@wikimedia.de', 'DATA': [ @@ -61,7 +61,7 @@ MAILS = { ] }, 'FINANCE': { - 'MAIL': 'claudia.langrock@wikimedia.de', + 'MAIL': 'buchhaltung@wikimedia.de', 'DATA': [ 'credit_card', 'bahncard', diff --git a/eintritt/settings.py b/eintritt/settings.py index c8e7e5b..f18fee6 100644 --- a/eintritt/settings.py +++ b/eintritt/settings.py @@ -32,12 +32,12 @@ MAILS = { 'department', 'team', 'add_to_wikimediade' ], }, -# 'CENTRAL': { -# 'MAIL': 'anna.noelte@wikimedia.de', -# 'DATA': [ -# 'department', 'team', 'language', 'mobile', 'rebu2go' -# ], -# }, + 'CENTRAL': { + 'MAIL': 'krisztina.nagy@wikimedia.de', + 'DATA': [ + 'department', 'team', 'language', 'mobile', 'rebu2go' + ], + }, 'HR': { 'MAIL': 'personal@wikimedia.de', 'DATA': [ @@ -45,7 +45,7 @@ MAILS = { ] }, 'FINANCE': { - 'MAIL': 'claudia.langrock@wikimedia.de', + 'MAIL': 'buchhaltung@wikimedia.de', 'DATA': [ 'rebu2go', 'department', @@ -54,6 +54,14 @@ MAILS = { 'mobile', ] }, + 'TEAMOS': { + 'MAIL': 'team-os@wikimedia.de', + 'DATA': [ + 'department', + 'team', + 'language' + ], + }, 'SUBMITTER': { 'MAIL': 'submitter@wikimedia.de', 'DATA': [ diff --git a/veraenderung/settings.py b/veraenderung/settings.py index 8f17d94..7c19eaf 100644 --- a/veraenderung/settings.py +++ b/veraenderung/settings.py @@ -45,12 +45,12 @@ MAILS = { 'department', 'team', 'add_to_wikimediade' ], }, -# 'CENTRAL': { -# 'MAIL': 'anna.noelte@wikimedia.de', -# 'DATA': [ -# 'department', 'team', 'language', 'mobile', 'rebu2go' -# ], -# }, + 'CENTRAL': { + 'MAIL': 'krisztina.nagy@wikimedia.de', + 'DATA': [ + 'department', 'team', 'language', 'mobile', 'rebu2go' + ], + }, 'HR': { 'MAIL': 'personal@wikimedia.de', 'DATA': [ @@ -58,12 +58,20 @@ MAILS = { ] }, 'FINANCE': { - 'MAIL': 'claudia.langrock@wikimedia.de', + 'MAIL': 'buchhaltung@wikimedia.de', 'DATA': [ 'rebu2go', 'mobile', ] }, + 'TEAMOS': { + 'MAIL': 'team-os@wikimedia.de', + 'DATA': [ + 'department', + 'team', + 'language' + ], + }, 'SUBMITTER': { 'MAIL': 'submitter@wikimedia.de', 'DATA': [ From 4c21c8a251d703e71401cddb4ebfc6a773effad8 Mon Sep 17 00:00:00 2001 From: Julian Hahn Date: Thu, 12 Mar 2026 10:18:50 +0100 Subject: [PATCH 3/5] Optional fields change --- austritt/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/austritt/models.py b/austritt/models.py index 4d906db..7614577 100644 --- a/austritt/models.py +++ b/austritt/models.py @@ -68,13 +68,13 @@ class Employee(models.Model): forward = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Soll die Email umgeleitet werden anstatt sie zu deaktivieren?')) forwardemail = models.CharField(max_length=300, null=True, blank=True, verbose_name=_("An welche Email soll umgeleitet werden?")) documents = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Sollen Google Drive Dokumente übertragen werden? (Sonst werden sie gelöscht)')) - 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, 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.CharField(max_length=5, default="NEIN", blank=True, choices=JANEIN_CHOICES.items(), 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, verbose_name=_("Transponder ID (Laut Personio)")) + 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?") From e47be101f9bf19c83ac47636338cf97f6703f272 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 Mar 2026 09:25:41 +0000 Subject: [PATCH 4/5] =?UTF-8?q?Migrations=20wieder=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6_alter_employee_documentowner_and_more.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 austritt/migrations/0016_alter_employee_documentowner_and_more.py diff --git a/austritt/migrations/0016_alter_employee_documentowner_and_more.py b/austritt/migrations/0016_alter_employee_documentowner_and_more.py new file mode 100644 index 0000000..6350cbe --- /dev/null +++ b/austritt/migrations/0016_alter_employee_documentowner_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2.8 on 2026-03-12 09:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0015_alter_employee_bahncard_alter_employee_sim_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='documentowner', + field=models.CharField(max_length=300, null=True, verbose_name='An wen sollen die Dokumente übertragen werden?'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(blank=True, max_length=6, verbose_name='Transponder ID (Laut Personio)'), + ), + ] From 5674b4491d5458b72fc153ed9afe8851441daa01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marike=20Vo=C3=9Fbeck?= Date: Thu, 12 Mar 2026 11:00:42 +0100 Subject: [PATCH 5/5] inserted miscellaneous field on rest form --- austritt/forms.py | 2 +- austritt/models.py | 6 +++++- austritt/settings.py | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/austritt/forms.py b/austritt/forms.py index e1e74dd..0b88d66 100644 --- a/austritt/forms.py +++ b/austritt/forms.py @@ -47,7 +47,7 @@ class ITForm(EvaForm): class RestForm(EvaForm): class Meta: model = Employee - fields = ['credit_card', 'transponder_id', 'bahncard', 'website'] + fields = ['credit_card', 'transponder_id', 'bahncard', 'website', 'miscellaneous'] class DummyForm(ModelForm): class Meta: diff --git a/austritt/models.py b/austritt/models.py index 7614577..152c33d 100644 --- a/austritt/models.py +++ b/austritt/models.py @@ -81,4 +81,8 @@ class Employee(models.Model): bahncard = models.CharField(max_length=5, default="NEIN", blank=True, choices=JANEIN_CHOICES.items(), verbose_name="Bahncard-Abo vorhanden?") # kom related stuff - website = models.CharField(max_length=5, default="NEIN", blank=True, choices=JANEIN_CHOICES.items(), verbose_name="Müssen Dinge von der Webseite gelöscht werden?") \ No newline at end of file + website = models.CharField(max_length=5, default="NEIN", blank=True, choices=JANEIN_CHOICES.items(), verbose_name="Müssen Dinge von der Webseite gelöscht werden?") + + + # rest text field + miscellaneous = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("Sonstiges")) \ No newline at end of file diff --git a/austritt/settings.py b/austritt/settings.py index 7a762b6..5fb21cc 100644 --- a/austritt/settings.py +++ b/austritt/settings.py @@ -88,6 +88,7 @@ MAILS = { 'pension', 'credit_card', 'bahncard', + 'miscellaneous', ] } }