diff --git a/austritt/forms.py b/austritt/forms.py index 662df53..142a339 100644 --- a/austritt/forms.py +++ b/austritt/forms.py @@ -29,39 +29,23 @@ class PersonalForm(EvaForm): class Meta: model = Employee - fields = ['firstname', 'lastname', 'department', 'team', 'add_to_wikimediade',] - -class WorkingForm(EvaForm): - - def clean(self): - data = self.cleaned_data - if data['works_in_gs'] and data['desk'] is None: - raise ValidationError('Wer nicht remote arbeitet braucht einen Schreibtisch!') - return data + fields = ['firstname', 'lastname', 'lastdate_employment', 'lastdate_office', 'lastdate_working'] + widgets = {'lastdate_employment': DateInput(attrs={'type': 'date'}), + 'lastdate_office': DateInput(attrs={'type': 'date'}), + 'lastdate_working': DateInput(attrs={'type': 'date'}),} +class HRForm(EvaForm): class Meta: model = Employee - fields = ['firstdate_employment', 'firstdate_presence', 'jobdescription_german', - 'jobdescription_english', 'works_in_gs', 'desk',] - widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}), - 'firstdate_presence': DateInput(attrs={'type': 'date'}),} + fields = ['overtime', 'holiday'] + class ITForm(EvaForm): - class Meta: model = Employee - fields = [ - 'framework', 'os', 'keyboard', 'mobile', 'landline', - 'comment', 'language', 'accounts', 'lists', 'rebu2go' ] + fields = ['laptop_id', 'forward', 'forwardemail', 'documents', 'documentowner', 'mobile', 'sim', 'credit_card', 'transponder_id', 'special_logins'] -class OfficeForm(EvaForm): +class DummyForm(ModelForm): class Meta: model = Employee - fields = ['transponder', 'special', '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'}),} + fields = [] diff --git a/austritt/migrations/0008_remove_employee_accounts_and_more.py b/austritt/migrations/0008_remove_employee_accounts_and_more.py new file mode 100644 index 0000000..28d19c8 --- /dev/null +++ b/austritt/migrations/0008_remove_employee_accounts_and_more.py @@ -0,0 +1,137 @@ +# Generated by Django 5.2.8 on 2026-01-21 15:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0007_remove_employee_screen_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='employee', + name='accounts', + ), + migrations.RemoveField( + model_name='employee', + name='add_to_wikimediade', + ), + migrations.RemoveField( + model_name='employee', + name='comment', + ), + migrations.RemoveField( + model_name='employee', + name='department', + ), + migrations.RemoveField( + model_name='employee', + name='desk', + ), + migrations.RemoveField( + model_name='employee', + name='firstdate_employment', + ), + migrations.RemoveField( + model_name='employee', + name='firstdate_presence', + ), + migrations.RemoveField( + model_name='employee', + name='framework', + ), + migrations.RemoveField( + model_name='employee', + name='jobdescription_english', + ), + migrations.RemoveField( + model_name='employee', + name='jobdescription_german', + ), + migrations.RemoveField( + model_name='employee', + name='keyboard', + ), + migrations.RemoveField( + model_name='employee', + name='landline', + ), + migrations.RemoveField( + model_name='employee', + name='language', + ), + migrations.RemoveField( + model_name='employee', + name='lists', + ), + migrations.RemoveField( + model_name='employee', + name='os', + ), + migrations.RemoveField( + model_name='employee', + name='post_office_box', + ), + migrations.RemoveField( + model_name='employee', + name='rebu2go', + ), + migrations.RemoveField( + model_name='employee', + name='special', + ), + migrations.RemoveField( + model_name='employee', + name='team', + ), + migrations.RemoveField( + model_name='employee', + name='transponder', + ), + migrations.RemoveField( + model_name='employee', + name='works_in_gs', + ), + migrations.AddField( + model_name='employee', + name='credit_card', + field=models.BooleanField(default=False, verbose_name='Kreditkarte'), + ), + migrations.AddField( + model_name='employee', + name='laptop_id', + field=models.CharField(default='000000', max_length=6, verbose_name='Laptop ID'), + ), + migrations.AddField( + model_name='employee', + name='lastdate_employment', + field=models.DateField(null=True, verbose_name='Vertragsende'), + ), + migrations.AddField( + model_name='employee', + name='lastdate_office', + field=models.DateField(null=True, verbose_name='Letzter Tag der Anwesenheit in der Geschäftsstelle'), + ), + migrations.AddField( + model_name='employee', + name='lastdate_working', + field=models.DateField(null=True, verbose_name='Letzter Arbeitstag'), + ), + migrations.AddField( + model_name='employee', + name='sim', + field=models.BooleanField(default=False, verbose_name='Mobilfunkvertrag'), + ), + migrations.AddField( + model_name='employee', + name='special_logins', + field=models.TextField(blank=True, max_length=500, null=True, verbose_name='Zusätzliche Accounts'), + ), + migrations.AddField( + model_name='employee', + name='transponder_id', + field=models.CharField(default='000000', max_length=6, verbose_name='Transponder ID'), + ), + ] diff --git a/austritt/migrations/0009_alter_employee_credit_card_alter_employee_laptop_id_and_more.py b/austritt/migrations/0009_alter_employee_credit_card_alter_employee_laptop_id_and_more.py new file mode 100644 index 0000000..d1743f3 --- /dev/null +++ b/austritt/migrations/0009_alter_employee_credit_card_alter_employee_laptop_id_and_more.py @@ -0,0 +1,43 @@ +# Generated by Django 5.2.8 on 2026-01-22 11:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0008_remove_employee_accounts_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='credit_card', + field=models.BooleanField(default=False, verbose_name='Kreditkarte vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='laptop_id', + field=models.CharField(default='000000', max_length=6, verbose_name='Laptop ID (wenn bekannt)'), + ), + migrations.AlterField( + model_name='employee', + name='mobile', + field=models.BooleanField(default=False, max_length=6, verbose_name='Diensttelefon (Handy) vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='sim', + field=models.BooleanField(default=False, verbose_name='Mobilfunkvertrag vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='special_logins', + field=models.TextField(blank=True, max_length=500, null=True, verbose_name='Zusätzlich zu deaktivierende Accounts'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(default='000000', max_length=6, verbose_name='Transponder ID (wenn bekannt)'), + ), + ] diff --git a/austritt/migrations/0010_employee_documentowner_employee_documents_and_more.py b/austritt/migrations/0010_employee_documentowner_employee_documents_and_more.py new file mode 100644 index 0000000..915f337 --- /dev/null +++ b/austritt/migrations/0010_employee_documentowner_employee_documents_and_more.py @@ -0,0 +1,53 @@ +# Generated by Django 5.2.8 on 2026-01-22 12:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0009_alter_employee_credit_card_alter_employee_laptop_id_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='employee', + name='documentowner', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='An wen sollen die Dokumente übertragen werden?'), + ), + migrations.AddField( + model_name='employee', + name='documents', + field=models.BooleanField(default=False, max_length=6, verbose_name='Sollen Google Drive Dokumente übertragen werden? (Sonst werden sie gelöscht)'), + ), + migrations.AddField( + model_name='employee', + name='forward', + field=models.BooleanField(default=False, max_length=6, verbose_name='Soll die Email umgeleitet werden anstatt sie zu deaktivieren?'), + ), + migrations.AddField( + model_name='employee', + name='forwardemail', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='An welche Email soll umgeleitet werden?'), + ), + migrations.AddField( + model_name='employee', + name='holiday', + field=models.CharField(blank=True, max_length=6, verbose_name='restliche Urlaubstage (wenn bekannt)'), + ), + migrations.AddField( + model_name='employee', + name='overtime', + field=models.CharField(blank=True, max_length=6, verbose_name='vorhandene Überstunden (wenn bekannt)'), + ), + migrations.AlterField( + model_name='employee', + name='laptop_id', + field=models.CharField(blank=True, default='000000', max_length=6, verbose_name='Laptop ID (wenn bekannt)'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(blank=True, default='000000', max_length=6, verbose_name='Transponder ID (wenn bekannt)'), + ), + ] diff --git a/austritt/migrations/0011_alter_employee_credit_card_alter_employee_documents_and_more.py b/austritt/migrations/0011_alter_employee_credit_card_alter_employee_documents_and_more.py new file mode 100644 index 0000000..5b3c1c1 --- /dev/null +++ b/austritt/migrations/0011_alter_employee_credit_card_alter_employee_documents_and_more.py @@ -0,0 +1,43 @@ +# Generated by Django 5.2.8 on 2026-01-22 12:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('austritt', '0010_employee_documentowner_employee_documents_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='credit_card', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Kreditkarte vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='documents', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Sollen Google Drive Dokumente übertragen werden? (Sonst werden sie gelöscht)'), + ), + migrations.AlterField( + model_name='employee', + name='forward', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Soll die Email umgeleitet werden anstatt sie zu deaktivieren?'), + ), + migrations.AlterField( + model_name='employee', + name='laptop_id', + field=models.CharField(blank=True, max_length=6, verbose_name='Laptop ID (wenn bekannt)'), + ), + migrations.AlterField( + model_name='employee', + name='mobile', + field=models.CharField(choices=[('NEIN', 'Nein'), ('JA', 'Ja')], max_length=5, verbose_name='Diensttelefon (Handy) vorhanden?'), + ), + migrations.AlterField( + model_name='employee', + name='transponder_id', + field=models.CharField(blank=True, max_length=6, verbose_name='Transponder ID (wenn bekannt)'), + ), + ] diff --git a/austritt/models.py b/austritt/models.py index ca5e9aa..fe0ee27 100644 --- a/austritt/models.py +++ b/austritt/models.py @@ -53,35 +53,28 @@ class Employee(models.Model): # personal data firstname = models.CharField(max_length=50, verbose_name=_("Vorname")) lastname = models.CharField(max_length=50, verbose_name=_("Nachname")) - # intern = models.BooleanField(verbose_name='Interne_r Mitarbeiter_in?', default=True) - department = models.CharField(max_length=5, choices=DEPARTMENT_CHOICES.items(), verbose_name=_('Bereich')) - team = models.CharField(max_length=50, null=True, blank=True) # TODO? better with choices? - add_to_wikimediade = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Soll die Person bei Ansprechpartner*innen auf der WMDE-Webseite mit aufgenommen werden?")) # general work related stuff - firstdate_employment = models.DateField(null=True, verbose_name=_("Erster Arbeitstag")) - firstdate_presence = models.DateField(null=True, verbose_name=_("Erster Tag der Anwesenheit in der Geschäftsstelle")) - jobdescription_german = models.CharField(null=True, max_length=100, verbose_name="Stellenbezeichnung(deutsch)") - jobdescription_english = models.CharField(null=True, max_length=100, verbose_name="Job description(english)") - works_in_gs = models.BooleanField(verbose_name=_('Braucht Arbeitsplatz in der Geschäftsstelle?)'), default=True) - desk = models.CharField(max_length=100, null=True, blank=True, verbose_name=_("Wo soll der Arbeitsplatz sein?")) + 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)")) # IT related stuff - #vendor = models.CharField(max_length=8, choices=VENDOR_CHOICES.items(), default='STANDARD', verbose_name=_('Hersteller')) - framework = models.CharField(max_length=300, null=True, blank=True, verbose_name=_("Möchten Sie 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')) - #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)')) - # 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")) - language = models.CharField(max_length=3, choices=LANG_CHOICES.items(), default="GER", verbose_name=_("Sprache für Onboarding")) - accounts = MultiSelectField(choices=ACCOUNT_CHOICES.items(), max_length=40, null=True, blank=True, verbose_name=_("Zusätzliche Accounts")) - lists = models.CharField(max_length=100, null=True, blank=True, verbose_name=_("Zusätzliche Mailinglisten")) - rebu2go = models.BooleanField(verbose_name=_("Rebu2Go-Zugang benötigt?"), default=False) + laptop_id = models.CharField(max_length=6, blank=True, verbose_name=_("Laptop ID (wenn bekannt)")) + special_logins = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("Zusätzlich zu deaktivierende Accounts")) + 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?")) + mobile = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_('Diensttelefon (Handy) vorhanden?')) + sim = models.BooleanField(default=False, verbose_name="Mobilfunkvertrag vorhanden?") # office related stuff - transponder = models.CharField(max_length=7, choices=TRANSPONDER_CHOICES.items(), default='NORM') - special = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("Besondere Schließungen hier eintragen")) - post_office_box = models.BooleanField(default=True, verbose_name=_('Postfach am Empfang benötigt?')) + transponder_id = models.CharField(max_length=6, blank=True, verbose_name=_("Transponder ID (wenn bekannt)")) + + # finance related stuff + credit_card = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name="Kreditkarte vorhanden?") diff --git a/austritt/settings.py b/austritt/settings.py index 10e3d99..da19f3f 100644 --- a/austritt/settings.py +++ b/austritt/settings.py @@ -5,57 +5,81 @@ ONLY_ONBOARDING = True EVA_MAIL = 'it-support@wikimedia.de' # these Fields should be included in every mail -BASIC_DATA = ['firstname', 'lastname', 'firstdate_employment', 'firstdate_presence', - 'jobdescription_german', 'jobdescription_english',] - +BASIC_DATA = [ + 'firstname', + 'lastname', + 'lastdate_employment', + 'lastdate_office', + 'lastdate_working' + ] # for every department: 'MAIL' => mail adress, 'DATA': additional fields to include # also one copy with all fields to the person filling the form. MAILS = { 'IT': { 'MAIL': 'wmde-it@wikimedia.de', 'DATA': [ - 'laptop', 'os', 'comment', 'email', 'landline', 'lists', 'mobile', - 'department', 'accounts', 'language', 'screen', 'works_in_gs', 'desk', - 'keyboard', - ], + 'laptop_id', + 'email', + 'forward', + 'forwardemail', + 'documents', + 'documentowner', + 'mobile', + 'special_logins' + ], }, 'OFFICE': { - 'MAIL': 'office@wikimedia.de', +# 'MAIL': 'office@wikimedia.de', + 'MAIL': 'julian.hahn@wikimedia.de', 'DATA': [ - 'transponder', 'special', 'post_office_box', 'mobile', - 'works_in_gs', 'desk', + 'transponder_id' ], }, - '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' - ] - }, +# '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' +# ] +# }, 'SUBMITTER': { 'MAIL': 'submitter@wikimedia.de', 'DATA': [ - 'department', 'team', 'add_to_wikimediade', 'remote', 'desk', 'vendor', - 'os', 'screen', 'mobile', 'landline', 'keyboard', 'comment', 'language', - 'accounts', 'lists', 'rebu2go', 'transponder', 'special', 'post_office_box' + 'overtime', + 'holiday', + 'laptop_id', + 'email', + 'forward', + 'forwardemail', + 'documents', + 'documentowner', + 'mobile', + 'sim', + 'credit_card' + 'transponder_id', + 'special_logins', ] } } diff --git a/austritt/templates/austritt/department_mail.txt b/austritt/templates/austritt/department_mail.txt index 8645617..b27f232 100644 --- a/austritt/templates/austritt/department_mail.txt +++ b/austritt/templates/austritt/department_mail.txt @@ -4,11 +4,11 @@ Hallo! -Es gibt einen Neuzugang bei Wikimedia! Hier ( https://wiki.wikimedia.de/wiki/Onboarding ) kannst Du nachsehen, +Es gibt einen Austritt bei Wikimedia! Hier ( https://wiki.wikimedia.de/wiki/Offboarding ) kannst Du nachsehen, welche Schritte jetzt für Deine Abteilung nötig werden. Im Folgenden alle Daten, die Du dafür brauchst: -{% include 'evapp/dataloop.txt' %} +{% include 'austritt/dataloop.txt' %} Wenn Du Fragen hast, melde Dich bei {{contact}}. @@ -18,12 +18,12 @@ Grüße, Deine E.V.A. {% language 'en' %} Hi! -There is a new employee at Wikimedia! Here ( https://wiki.wikimedia.de/wiki/Onboarding ) you can see, which +Someone is leaving Wikimedia! Here ( https://wiki.wikimedia.de/wiki/Offboarding/en ) you can see, which steps are now necessary for your department. All Data you need for this: -{% include 'evapp/dataloop.txt' %} +{% include 'austritt/dataloop.txt' %} If you have any questions please write to {{contact}}. diff --git a/austritt/templates/austritt/employee_form.html b/austritt/templates/austritt/employee_form.html index 7f6a5e5..2b7bb1e 100644 --- a/austritt/templates/austritt/employee_form.html +++ b/austritt/templates/austritt/employee_form.html @@ -36,7 +36,7 @@
+ (E V) A - (Eintritt, Veränderung), Austritt
{% translate "Du bist eingeloggt als" %} {{ user.email }}
Error in sending mails (propably wrong adress?). Data not saved!') except Exception as error: + + print("str:", str(error)) + print("repr:", repr(error)) + print("type:", type(error)) print(error) # self.instance.delete() return HttpResponse(f'{error}
Error in sending mails. Data not saved! Please contact ' + EVA_MAIL) diff --git a/eva/settings_production.py b/eva/settings_production.py index fbd0f44..7ef2ff6 100644 --- a/eva/settings_production.py +++ b/eva/settings_production.py @@ -166,9 +166,20 @@ STATIC_URL = '/static/' # settings needed for allauth SOCIALACCOUNT_PROVIDERS = { 'nextcloud': { - 'SERVER': 'https://wolke.wikimedia.de/', - } +# 'SERVER': 'https://wolke.wikimedia.de', + 'APP': { + 'name': 'Wolke', + 'client_id': 'uKfMSd1oBqkrNog02ZhsXamXvvXblHYOCfLoNHLcppCQPvlFYoiKKmvdKZf77ZQ2', + 'secret': 'CyEBOwjOxgR12POEAEi7FIyusZrMX9d2S7YB0diFMhbw65M06oWKtYyGq0zZJpZE', + 'settings': { + 'server': 'https://wolke.wikimedia.de/', +# 'server_url': 'https://wolke.wikimedia.de', + }, + } + }, } +SOCIALACCOUNT_ONLY = True +DISABLE_ALLAUTH_LOGIN_URL = True AUTHENTICATION_BACKENDS = ( "django.contrib.auth.backends.ModelBackend", diff --git a/eva/urls.py b/eva/urls.py index 5f709fb..1dae7d2 100644 --- a/eva/urls.py +++ b/eva/urls.py @@ -17,11 +17,11 @@ from django.contrib import admin from django.urls import path, include urlpatterns = [ - path('eintritt/', include('eintritt.urls')), + path('accounts/', include('allauth.urls')), + path('eintritt/', include('eintritt.urls')), path('', include("home.urls")), path('austritt/', include("austritt.urls")), path('veraenderung/', include("veraenderung.urls")), path('admin/', admin.site.urls), - path('accounts/', include('allauth.urls')), ] diff --git a/home/static/evapp/austritt.png b/home/static/evapp/austritt.png new file mode 100644 index 0000000..850a007 Binary files /dev/null and b/home/static/evapp/austritt.png differ diff --git a/home/static/evapp/eintritt.png b/home/static/evapp/eintritt.png new file mode 100644 index 0000000..aa7ca39 Binary files /dev/null and b/home/static/evapp/eintritt.png differ diff --git a/home/static/evapp/logo.png b/home/static/evapp/logo.png new file mode 100644 index 0000000..cec78db Binary files /dev/null and b/home/static/evapp/logo.png differ diff --git a/home/static/evapp/veraenderung.png b/home/static/evapp/veraenderung.png new file mode 100644 index 0000000..1d7542f Binary files /dev/null and b/home/static/evapp/veraenderung.png differ diff --git a/veraenderung/models.py b/veraenderung/models.py index ca5e9aa..c5614e7 100644 --- a/veraenderung/models.py +++ b/veraenderung/models.py @@ -54,7 +54,7 @@ class Employee(models.Model): firstname = models.CharField(max_length=50, verbose_name=_("Vorname")) lastname = models.CharField(max_length=50, verbose_name=_("Nachname")) # intern = models.BooleanField(verbose_name='Interne_r Mitarbeiter_in?', default=True) - department = models.CharField(max_length=5, choices=DEPARTMENT_CHOICES.items(), verbose_name=_('Bereich')) + department = models.CharField(max_length=5, choices=DEPARTMENT_CHOICES.items(), verbose_name=_('neuer Bereich')) team = models.CharField(max_length=50, null=True, blank=True) # TODO? better with choices? add_to_wikimediade = models.CharField(max_length=5, choices=JANEIN_CHOICES.items(), verbose_name=_("Soll die Person bei Ansprechpartner*innen auf der WMDE-Webseite mit aufgenommen werden?")) diff --git a/veraenderung/templates/veraenderung/department_mail.txt b/veraenderung/templates/veraenderung/department_mail.txt index 8645617..a0da918 100644 --- a/veraenderung/templates/veraenderung/department_mail.txt +++ b/veraenderung/templates/veraenderung/department_mail.txt @@ -8,7 +8,7 @@ Es gibt einen Neuzugang bei Wikimedia! Hier ( https://wiki.wikimedia.de/wiki/Onb welche Schritte jetzt für Deine Abteilung nötig werden. Im Folgenden alle Daten, die Du dafür brauchst: -{% include 'evapp/dataloop.txt' %} +{% include 'veraenderung/dataloop.txt' %} Wenn Du Fragen hast, melde Dich bei {{contact}}. @@ -23,7 +23,7 @@ steps are now necessary for your department. All Data you need for this: -{% include 'evapp/dataloop.txt' %} +{% include 'veraenderung/dataloop.txt' %} If you have any questions please write to {{contact}}. diff --git a/veraenderung/views.py b/veraenderung/views.py index 5ce871b..fff1bf2 100644 --- a/veraenderung/views.py +++ b/veraenderung/views.py @@ -143,7 +143,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView): lastname = data['lastname'] firstday = data['firstdate_employment'] try: - mail_template = get_template(f'evapp/department_mail.txt') + mail_template = get_template(f'veraenderung/department_mail.txt') if settings.MAILTEST: send_mail( f'EVA: Neuzugang {firstname} {lastname} {firstday} (MAILTEST)',