Handover of working equipment is shown as html step before last step
This commit is contained in:
parent
5c5f22375e
commit
3354c6dbfc
|
|
@ -50,8 +50,14 @@
|
||||||
{% translate "IT-relevante Angaben" %}
|
{% translate "IT-relevante Angaben" %}
|
||||||
{% elif wizard.steps.step1 == 4 %}
|
{% elif wizard.steps.step1 == 4 %}
|
||||||
{% translate "Sonstige Angaben" %}
|
{% translate "Sonstige Angaben" %}
|
||||||
|
<!-- Delete when in production!! -->
|
||||||
|
{% elif wizard.steps.step1 == 5 %}
|
||||||
|
{% translate "PDF Abgabe Arbeitsmittel" %}
|
||||||
|
{% if pdf_data %}
|
||||||
|
{% include 'austritt/pdf_template.html' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if wizard.steps.step1 == 2 %}
|
{% if wizard.steps.step1 == 2 %}
|
||||||
Veränderungsrelevante Angaben
|
Veränderungsrelevante Angaben
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
{% load i18n %}
|
<!DOCTYPE html>
|
||||||
{% load static %}
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
</head>
|
||||||
{% if datatable == 2 %}
|
<body>
|
||||||
|
<h2>Übergabedokument von Arbeitsmitteln: {{ pdf_data.firstname }} {{ pdf_data.lastname }}</h2>
|
||||||
|
|
||||||
|
|
||||||
<h2>Übergabedokument von Arbeitsmitteln: {{ data.firstname }} {{ data.lastname }}</h2>
|
|
||||||
<h2 style="color:blue;">Handover sheet of work equipment: </h2>
|
<h2 style="color:blue;">Handover sheet of work equipment: </h2>
|
||||||
<table class="center", style="border: 1px solid black;
|
<table class="center", style="border: 1px solid black;
|
||||||
border-collapse: collapse; width:90%">
|
border-collapse: collapse; width:90%">
|
||||||
|
|
@ -16,15 +13,15 @@
|
||||||
<th style="border: 1px solid black;
|
<th style="border: 1px solid black;
|
||||||
border-collapse: collapse;">[X]</th>
|
border-collapse: collapse;">[X]</th>
|
||||||
<th style="border: 1px solid black;
|
<th style="border: 1px solid black;
|
||||||
border-collapse: collapse;">Ausstattung/<strong style="color:blue;">Equipment</strong></th>
|
border-collapse: collapse;"><strong>Ausstattung/</strong><strong style="color:blue;">Equipment</strong></th>
|
||||||
<th style="border: 1px solid black;
|
<th style="border: 1px solid black;
|
||||||
border-collapse: collapse;">Weitergabe an/<strong style="color:blue;">Handover to</strong></th>
|
border-collapse: collapse;"><strong>Weitergabe an/</strong><strong style="color:blue;">Handover to</strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"><p>Laptop + Ladekabel <strong> {{% if data.laptop_id %}} {{data.laptop_id}} {{% else %}} ID nicht bekannt {{% endif %}} </strong></p> </td>
|
border-collapse: collapse;"><p>Laptop + Ladekabel <strong> {% if pdf_data.laptop_id %} {{pdf_data.laptop_id}} {% else %} ID nicht bekannt {% endif %} </strong></p> </td>
|
||||||
<td style="text-align: center;border: 1px solid black;
|
<td style="text-align: center;border: 1px solid black;
|
||||||
border-collapse: collapse;">IT</td>
|
border-collapse: collapse;">IT</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -32,7 +29,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"><p>Home-Office Geräte (Monitor, Kabel, Tastatur, Maus)</p></td>
|
border-collapse: collapse;"><p>Home-Office Geräte ({% if pdf_data.hardware %}{% for item in pdf_data.hardware %}{{ item }}{% if not forloop.last %}, {% endif %}{% endfor %}{% else %}Keine Hardware {% endif %})</p></td>
|
||||||
<td style="text-align: center;border: 1px solid black;
|
<td style="text-align: center;border: 1px solid black;
|
||||||
border-collapse: collapse;">IT</td>
|
border-collapse: collapse;">IT</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -40,7 +37,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;">{{% if data.mobile=="JA" %}}<p> Mobiltelefon (ID nicht angegeben)</p> {{% else %}} <p><s>Mobiltelefon</s></p>{{% endif %}}</td>
|
border-collapse: collapse;">{% if pdf_data.mobile == "JA" %}<p> Mobiltelefon (ID nicht angegeben)</p> {% else %} <p><s>Mobiltelefon</s></p>{% endif %}</td>
|
||||||
<td style="text-align: center;border: 1px solid black;
|
<td style="text-align: center;border: 1px solid black;
|
||||||
border-collapse: collapse;">IT</td>
|
border-collapse: collapse;">IT</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -48,7 +45,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;">{{% if data.credit_card=="JA" %}}<p> Kreditkarte</p> {{% else %}} <p><s>Kreditkarte</s></p>{{% endif %}}</td>
|
border-collapse: collapse;">{% if pdf_data.credit_card == "JA" %}<p> Kreditkarte</p> {% else %} <p><s>Kreditkarte</s></p>{% endif %}</td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -56,7 +53,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;">{{% if data.sim=="JA" %}}<p> SIM Karte – bitte aushändigen lassen</p> {{% else %}} <p><s>SIM Karte</s></p>{{% endif %}}</td>
|
border-collapse: collapse;">{% if pdf_data.sim == "JA" %}<p> SIM Karte – bitte aushändigen lassen</p> {% else %} <p><s>SIM Karte</s></p>{% endif %}</td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -64,7 +61,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"><p>Transponder Nr.</p> <strong> {{ data.transponder_id}}</strong></td>
|
border-collapse: collapse;"><p>Transponder Nr.<strong> {{ pdf_data.transponder_id}}</strong></p></td>
|
||||||
<td style="text-align: center;border: 1px solid black;
|
<td style="text-align: center;border: 1px solid black;
|
||||||
border-collapse: collapse;">Office</td>
|
border-collapse: collapse;">Office</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -80,7 +77,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;">{{% if data.pension=="JA" %}}<p> MA hat BAV Unterlagen erhalten</p> {{% else %}} <p><s>MA hat BAV Unterlagen erhalten</s></p>{{% endif %}}</td>
|
border-collapse: collapse;">{% if pdf_data.pension == "JA" %}<p> MA hat BAV Unterlagen erhalten</p> {% else %} <p><s>MA hat BAV Unterlagen erhalten</s></p>{% endif %}</td>
|
||||||
<td style="text-align: center;border: 1px solid black;
|
<td style="text-align: center;border: 1px solid black;
|
||||||
border-collapse: collapse;">HR</td>
|
border-collapse: collapse;">HR</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -88,7 +85,7 @@
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"><p>Sonstiges: {{ data.miscenalleous }}</p></td>
|
border-collapse: collapse;"><p>{% if pdf_data.miscellaneous %}<strong>Sonstiges:</strong> {{ pdf_data.miscellaneous }} {% else %} <s>Sonstiges</s>{% endif %}</p></td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"></td>
|
border-collapse: collapse;"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -114,7 +111,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"> {{% if data.bahncard=="JA" %}}<i style="color:grey;">BahnCard</i> {{% else %}} <i style="color:grey;"><s>BahnCard</s></i>{{% endif %}}</td>
|
border-collapse: collapse;"> {% if pdf_data.bahncard == "JA" %}<i style="color:grey;">BahnCard</i> {% else %} <i style="color:grey;"><s>BahnCard</s></i>{% endif %}</td>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;text-align: center;"> <i style="color:grey;">falls vorhanden, kann diese behalten werden, da sie ausläuft</i></td>
|
border-collapse: collapse;text-align: center;"> <i style="color:grey;">falls vorhanden, kann diese behalten werden, da sie ausläuft</i></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -127,7 +124,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td style="border: 1px solid black;
|
<td style="border: 1px solid black;
|
||||||
border-collapse: collapse;"> <p><strong>Rückgabe:</strong> Hiermit bestätige ich die vollständige Übergabe aller mir zur Verfügung gestellten Arbeitsmittel im gepflegten und funktionstüchtigen Zustand. Ich habe die Benutzung durch Dritte - sofern es sich nicht um betriebseigene Mitarbeitende handelt - nicht gestattet. Außerdem bestätige ich hiermit die vollumfängliche Zusicherung der Einhaltung der allgemeinen Vertraulichkeitserklärung/Datenschutzerklärung, sowie die Einhaltung der Verschwiegenheitsvereinbarung aus dem Arbeitsvertrag. </p>
|
border-collapse: collapse;"> <p><strong>Rückgabe:</strong> Hiermit bestätige ich die vollständige Übergabe aller mir zur Verfügung gestellten Arbeitsmittel im gepflegten und funktionstüchtigen Zustand. Ich habe die Benutzung durch Dritte - sofern es sich nicht um betriebseigene Mitarbeitende handelt - nicht gestattet. Außerdem bestätige ich hiermit die vollumfängliche Zusicherung der Einhaltung der allgemeinen Vertraulichkeitserklärung/Datenschutzerklärung, sowie die Einhaltung der Verschwiegenheitsvereinbarung aus dem Arbeitsvertrag. </p>
|
||||||
<p style="color:blue;"><strong>Handover:</strong> I hereby confirm the complete handover of all work equipment provided to me in a well-maintained and functional condition. I have not permitted the use by third parties - unless they are employees of Wikimedia. Furthermore, I hereby confirm the full assurance of compliance with the general confidentiality declaration/data protection declaration, as well as compliance with the confidentiality agreement from the employment contract. </p>
|
<p style="color:blue;"><strong>Handover:</strong> I hereby confirm the complete handover of all work equipment provided to me in a well-maintained and functional condition. I have not permitted the use by third parties - unless they are employees of Wikimedia. Furthermore, I hereby confirm the full assurance of compliance with the general confidentiality declaration/pdf_data protection declaration, as well as compliance with the confidentiality agreement from the employment contract. </p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
@ -160,5 +157,5 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</body>
|
||||||
{% endif %}
|
</html>
|
||||||
|
|
@ -43,6 +43,26 @@ def change_process(wizard):
|
||||||
# print('CHANGE PROZESS')
|
# print('CHANGE PROZESS')
|
||||||
return not long_process(wizard)
|
return not long_process(wizard)
|
||||||
|
|
||||||
|
def beautify_data_pdf(data):
|
||||||
|
# Function for displaying the form items in correct order for handover pdf
|
||||||
|
hardware = data.get('hardware', [])
|
||||||
|
choices_dict = dict(ITForm.base_fields['hardware'].choices)
|
||||||
|
selected_hardware = [choices_dict[val] for val in hardware]
|
||||||
|
|
||||||
|
return {
|
||||||
|
'firstname': data.get('firstname', ''),
|
||||||
|
'lastname': data.get('lastname', ''),
|
||||||
|
'laptop_id': data.get('laptop_id', ''),
|
||||||
|
'hardware': selected_hardware,
|
||||||
|
'mobile': data.get('mobile', ''),
|
||||||
|
'credit_card': data.get('credit_card', ''),
|
||||||
|
'sim': data.get('sim', ''),
|
||||||
|
'transponder_id': data.get('transponder_id', ''),
|
||||||
|
'pension': data.get('pension', ''),
|
||||||
|
'miscellaneous': data.get('miscellaneous', ''),
|
||||||
|
'bahncard': data.get('bahncard', ''),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
template_name = 'austritt/employee_form.html'
|
template_name = 'austritt/employee_form.html'
|
||||||
|
|
@ -88,15 +108,23 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
'choice_string': TYPE_CHOICES[self.choice],
|
'choice_string': TYPE_CHOICES[self.choice],
|
||||||
'TESTMODE': testmode})
|
'TESTMODE': testmode})
|
||||||
|
|
||||||
|
|
||||||
|
# six steps for testing purposes ONLY!!
|
||||||
# deliver context for forms if we are in the last step
|
# deliver context for forms if we are in the last step
|
||||||
if (self.steps.step1 == 5 or (self.choice != 'IN' and self.steps.step1 == 5)):
|
if (self.steps.step1 == 6 or (self.choice != 'IN' and self.steps.step1 == 6)):
|
||||||
context.update({'data': self.beautify_data(self.get_all_cleaned_data()),
|
context.update({'data': self.beautify_data(self.get_all_cleaned_data()),
|
||||||
'datatable': 1,})
|
'datatable': 1,})
|
||||||
|
|
||||||
|
if (self.steps.step1 == 5):
|
||||||
|
context.update({'pdf_data': beautify_data_pdf(self.get_all_cleaned_data()),
|
||||||
|
})
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_pdf_data(self, form, **kwargs):
|
def get_pdf_data(self, form, **kwargs):
|
||||||
'''this method is called to give context data to the template'''
|
|
||||||
|
|
||||||
#print('GETCONTEXT')
|
#print('GETCONTEXT')
|
||||||
context = super().get_pdf_data(form=form, **kwargs)
|
context = super().get_pdf_data(form=form, **kwargs)
|
||||||
|
|
@ -111,6 +139,7 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
'datatable': 2,})
|
'datatable': 2,})
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
def get_form_instance(self,step):
|
def get_form_instance(self,step):
|
||||||
''' this method assures, that we use the same model instance for all steps'''
|
''' this method assures, that we use the same model instance for all steps'''
|
||||||
|
|
||||||
|
|
@ -232,29 +261,4 @@ class EvaFormView(LoginRequiredMixin, CookieWizardView):
|
||||||
|
|
||||||
return newdata
|
return newdata
|
||||||
|
|
||||||
def beautify_data_pdf(self, data):
|
|
||||||
''' # use long form for contextdata instead of short form if available
|
|
||||||
#
|
|
||||||
# ATTENTION!
|
|
||||||
# This implementation works only for unique keys over all of these dicts from model.py
|
|
||||||
#
|
|
||||||
'''
|
|
||||||
# handling multiselect field for hardware beforehand
|
|
||||||
|
|
||||||
hardware = data.get("hardware", [])
|
|
||||||
choices_dict = dict(self.form_class.base_fields["hardware"].choices)
|
|
||||||
selected_hardware = [choices_dict[val] for val in hardware]
|
|
||||||
|
|
||||||
return {
|
|
||||||
"firstname": data.get("firstname"),
|
|
||||||
"lastname": data.get("lastname"),
|
|
||||||
"laptop_id": data.get("laptop_id"),
|
|
||||||
"hardware": ", ".join(selected_hardware),
|
|
||||||
"mobile": data.get("mobile"),
|
|
||||||
"credit_card": data.get("credit_card"),
|
|
||||||
"sim": data.get("sim"),
|
|
||||||
"transponder_id": data.get("transponder_id"),
|
|
||||||
"pension": data.get("pension"),
|
|
||||||
"miscellaneous": data.get("miscellaneous"),
|
|
||||||
"bahncard": data.get("bahncard"),
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue