Compare commits
3 Commits
a7774f6a41
...
b0d1aa1b00
Author | SHA1 | Date |
---|---|---|
Chloe Oltramari | b0d1aa1b00 | |
Chloe Oltramari | f5f10c5414 | |
Chloe Oltramari | b184564c83 |
|
@ -65,7 +65,8 @@ MIDDLEWARE = [
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
]
|
'allauth.account.middleware.AccountMiddleware'
|
||||||
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = 'eva.urls'
|
ROOT_URLCONF = 'eva.urls'
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ class PersonalForm(EvaForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = ['firstname', 'lastname', 'department', 'team', ]
|
fields = ['firstname', 'lastname', 'department', 'team', 'add_to_wikimediade',]
|
||||||
|
|
||||||
class WorkingForm(EvaForm):
|
class WorkingForm(EvaForm):
|
||||||
|
|
||||||
|
@ -57,8 +57,8 @@ class ITForm(EvaForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
fields = [
|
fields = [
|
||||||
'vendor', 'os', 'keyboard', 'screen', 'mobile', 'comment',
|
'vendor', 'os', 'keyboard', 'screen', 'mobile', 'landline',
|
||||||
'language', 'accounts', 'lists', 'rebu2go' ]
|
'comment', 'language', 'accounts', 'lists', 'rebu2go' ]
|
||||||
|
|
||||||
class OfficeForm(EvaForm):
|
class OfficeForm(EvaForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -20,6 +20,7 @@ class Migration(migrations.Migration):
|
||||||
('lastname', models.CharField(max_length=50, verbose_name='Nachname')),
|
('lastname', models.CharField(max_length=50, verbose_name='Nachname')),
|
||||||
('department', models.CharField(choices=[('PROG', 'Programme'), ('SOFT', 'Softwareentwicklung'), ('CENT', 'Central'), ('VOR', 'Vorstand')], max_length=5, verbose_name='Bereich')),
|
('department', models.CharField(choices=[('PROG', 'Programme'), ('SOFT', 'Softwareentwicklung'), ('CENT', 'Central'), ('VOR', 'Vorstand')], max_length=5, verbose_name='Bereich')),
|
||||||
('team', models.CharField(blank=True, max_length=20, null=True)),
|
('team', models.CharField(blank=True, max_length=20, null=True)),
|
||||||
|
('add_to_wikimediade', models.BooleanField(default=False, verbose_name='Soll auf wikimedia.de irgendwo stehen?')),
|
||||||
('firstdate_employment', models.DateField(null=True, verbose_name='Erster Arbeitstag')),
|
('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')),
|
('firstdate_presence', models.DateField(null=True, verbose_name='Erster Tag der Anwesenheit in der Geschäftsstelle')),
|
||||||
('jobdescription_german', models.CharField(max_length=100, null=True, verbose_name='Stellenbezeichnung(deutsch)')),
|
('jobdescription_german', models.CharField(max_length=100, null=True, verbose_name='Stellenbezeichnung(deutsch)')),
|
||||||
|
@ -30,6 +31,7 @@ class Migration(migrations.Migration):
|
||||||
('os', models.CharField(choices=[('UBU', 'Ubuntu (Standard)'), ('WIN', 'Windows (bitte Begründung angeben)'), ('MOS', 'Mac OS (nur wenn Mac gewählt)')], default='UBU', max_length=3, verbose_name='Betriebssystem')),
|
('os', models.CharField(choices=[('UBU', 'Ubuntu (Standard)'), ('WIN', 'Windows (bitte Begründung angeben)'), ('MOS', 'Mac OS (nur wenn Mac gewählt)')], default='UBU', max_length=3, verbose_name='Betriebssystem')),
|
||||||
('screen', models.BooleanField(default=False, verbose_name='Zusätzlicher Monitor? Einer ist standard.')),
|
('screen', models.BooleanField(default=False, verbose_name='Zusätzlicher Monitor? Einer ist standard.')),
|
||||||
('mobile', models.BooleanField(default=False, max_length=6, verbose_name='Diensttelefon (Handy)')),
|
('mobile', models.BooleanField(default=False, max_length=6, verbose_name='Diensttelefon (Handy)')),
|
||||||
|
('landline', models.BooleanField(default=False, verbose_name='Festnetznummer (Sipgate)')),
|
||||||
('keyboard', models.CharField(choices=[('DE', 'Deutsch'), ('US', 'USA'), ('OT', 'Anderes (Bitte unten angeben)')], default='DE', max_length=2, verbose_name='Tastaturlayout')),
|
('keyboard', models.CharField(choices=[('DE', 'Deutsch'), ('US', 'USA'), ('OT', 'Anderes (Bitte unten angeben)')], default='DE', max_length=2, verbose_name='Tastaturlayout')),
|
||||||
('comment', models.TextField(blank=True, max_length=500, null=True, verbose_name='zusätzliche IT-Anforderungen')),
|
('comment', models.TextField(blank=True, max_length=500, null=True, verbose_name='zusätzliche IT-Anforderungen')),
|
||||||
('language', models.CharField(choices=[('GER', 'Deutsch'), ('ENG', 'English')], default='GER', max_length=3, verbose_name='Sprache')),
|
('language', models.CharField(choices=[('GER', 'Deutsch'), ('ENG', 'English')], default='GER', max_length=3, verbose_name='Sprache')),
|
||||||
|
|
|
@ -52,6 +52,7 @@ class Employee(models.Model):
|
||||||
# intern = models.BooleanField(verbose_name='Interne_r Mitarbeiter_in?', default=True)
|
# 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=_('Bereich'))
|
||||||
team = models.CharField(max_length=50, null=True, blank=True) # TODO? better with choices?
|
team = models.CharField(max_length=50, null=True, blank=True) # TODO? better with choices?
|
||||||
|
add_to_wikimediade = models.BooleanField(default = False, verbose_name=_('Soll auf wikimedia.de irgendwo stehen?'))
|
||||||
|
|
||||||
# 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"))
|
||||||
|
@ -66,6 +67,7 @@ class Employee(models.Model):
|
||||||
os = models.CharField(max_length=3, choices=OS_CHOICES.items(), default='UBU', verbose_name=_('Betriebssystem'))
|
os = models.CharField(max_length=3, choices=OS_CHOICES.items(), default='UBU', verbose_name=_('Betriebssystem'))
|
||||||
screen = models.BooleanField(default=False, verbose_name=_('Zusätzlicher Monitor? Einer ist standard.'))
|
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)'))
|
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")
|
# 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, 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"))
|
comment = models.TextField(max_length=500, null=True, blank=True, verbose_name=_("zusätzliche IT-Anforderungen"))
|
||||||
|
|
|
@ -9,6 +9,7 @@ BASIC_DATA = ['firstname', 'lastname', 'firstdate_employment', 'firstdate_presen
|
||||||
'jobdescription_german', 'jobdescription_english',]
|
'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.
|
||||||
MAILS = {
|
MAILS = {
|
||||||
'IT': {
|
'IT': {
|
||||||
'MAIL': 'wmde-it@wikimedia.de',
|
'MAIL': 'wmde-it@wikimedia.de',
|
||||||
|
@ -28,7 +29,7 @@ MAILS = {
|
||||||
'KOMM': {
|
'KOMM': {
|
||||||
'MAIL': 'presse@wikimedia.de',
|
'MAIL': 'presse@wikimedia.de',
|
||||||
'DATA': [
|
'DATA': [
|
||||||
'department', 'team',
|
'department', 'team', 'add_to_wikimediade'
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'CENTRAL': {
|
'CENTRAL': {
|
||||||
|
@ -54,5 +55,13 @@ MAILS = {
|
||||||
'DATA': [
|
'DATA': [
|
||||||
'rebu2go'
|
'rebu2go'
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
'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'
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,14 +148,21 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
f'EVA: Neuzugang {firstname} {lastname} (MAILTEST)',
|
f'EVA: Neuzugang {firstname} {lastname} (MAILTEST)',
|
||||||
mail_template.render(context),
|
mail_template.render(context),
|
||||||
EVA_MAIL,
|
EVA_MAIL,
|
||||||
[EVA_MAIL, contact],
|
[EVA_MAIL],
|
||||||
|
fail_silently=False)
|
||||||
|
elif department != "SUBMITTER":
|
||||||
|
send_mail(
|
||||||
|
f'EVA: Neuzugang {firstname} {lastname}',
|
||||||
|
mail_template.render(context),
|
||||||
|
EVA_MAIL,
|
||||||
|
[MAILS[department]['MAIL']],
|
||||||
fail_silently=False)
|
fail_silently=False)
|
||||||
else:
|
else:
|
||||||
send_mail(
|
send_mail(
|
||||||
f'EVA: Neuzugang {firstname} {lastname}',
|
f'EVA: Neuzugang {firstname} {lastname}',
|
||||||
mail_template.render(context),
|
mail_template.render(context),
|
||||||
EVA_MAIL,
|
EVA_MAIL,
|
||||||
[MAILS[department]['MAIL'], contact],
|
[contact],
|
||||||
fail_silently=False)
|
fail_silently=False)
|
||||||
except BadHeaderError as error:
|
except BadHeaderError as error:
|
||||||
print(error)
|
print(error)
|
||||||
|
|
Loading…
Reference in New Issue