Files
workdock-platform/backend/workflows/pdf_assets/onboarding_template.html
2026-03-29 03:05:54 +02:00

390 lines
11 KiB
HTML

<!DOCTYPE html>
<html lang="{{ PDF_LANG or 'de' }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ T.onboarding_title }}</title>
<style>
body {
font-family: Helvetica, Arial, sans-serif;
color: #0f172a;
font-size: 10.2px;
line-height: 1.4;
margin: 0;
}
.hero {
background: #eef4ff;
border: 1px solid #cbd9f6;
border-left: 4px solid #3056a3;
padding: 8px 10px;
margin-bottom: 8px;
}
.title {
margin: 0;
font-size: 17px;
color: #233f7a;
font-weight: bold;
letter-spacing: 0.2px;
}
.section {
margin-top: 9px;
font-size: 11px;
color: #233f7a;
font-weight: bold;
border-bottom: 1px solid #cbd9f6;
padding-bottom: 2px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 6px 0;
}
th, td {
border: 1px solid #d5e2f9;
padding: 4px 6px;
vertical-align: top;
overflow-wrap: anywhere;
word-break: break-word;
}
th {
background: #eaf1ff;
color: #1f376b;
font-weight: bold;
width: 31%;
text-align: left;
}
.mono {
font-weight: bold;
color: #111827;
word-break: break-word;
}
.opt-card {
border: 1px solid #d5e2f9;
margin-top: 6px;
margin-bottom: 6px;
}
.opt-title {
background: #3056a3;
color: #fff;
font-weight: bold;
padding: 5px 6px;
font-size: 9.5px;
}
.opt-grid {
width: 100%;
border-collapse: collapse;
margin: 0;
}
.opt-grid td {
border: 1px solid #d5e2f9;
padding: 3px 5px;
width: 33.33%;
font-size: 9.5px;
overflow-wrap: anywhere;
word-break: break-word;
}
.signature {
width: 150px;
height: 70px;
max-width: 150px;
max-height: 70px;
border: 1px solid #c3d3f3;
padding: 1px;
object-fit: contain;
background: #fff;
}
.small {
color: #64748b;
font-size: 9px;
}
.muted-cell {
color: #64748b;
}
</style>
</head>
<body>
<div class="hero">
<h1 class="title">{{ T.onboarding_title }}</h1>
</div>
<div class="section">{% if PDF_LANG == 'en' %}Master data{% else %}Stammdaten{% endif %}</div>
<div class="opt-card">
<div class="opt-title">{{ T.onboarding_staff_data }}</div>
<table>
<tr>
<th>{{ T.name }}</th>
<td class="mono" colspan="3">{{ DISPLAY_NAME }}</td>
</tr>
<tr>
<th>{{ T.department }}</th>
<td>{{ ABTEILUNG }}</td>
<th>{{ T.job_title }}</th>
<td>{{ BERUFSBEZEICHNUNG }}</td>
</tr>
<tr>
<th>{{ T.work_email }}</th>
<td>{{ EMAIL }}</td>
<th>{{ T.employment_type }}</th>
<td>{{ BESCHAEFTIGUNG }}</td>
</tr>
<tr>
<th>{{ T.contract_start }}</th>
<td>{{ VERTRAGSBEGINN }}</td>
<th>{{ T.contract_end }}</th>
<td>{{ VERTRAGSENDE }}</td>
</tr>
<tr>
<th>{{ T.handover_date }}</th>
<td colspan="3">{{ UEBERGABEDATUM }}</td>
</tr>
</table>
</div>
{% if HAS_DEVICES or HAS_GROUPS or HAS_SOFTWARE or HAS_ACCESSES or HAS_RESOURCES or HAS_GROUP_MAILBOXES or HAS_ADDITIONAL_HARDWARE or HAS_ADDITIONAL_SOFTWARE or HAS_ADDITIONAL_ACCESS %}
<div class="section">{% if PDF_LANG == 'en' %}IT setup{% else %}IT-Setup{% endif %}</div>
{% if HAS_DEVICES %}
<div class="opt-card">
<div class="opt-title">{{ T.devices }}</div>
<table class="opt-grid">
{% for row in ARBEITSGERÄTE_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if HAS_GROUPS %}
<div class="opt-card">
<div class="opt-title">{{ T.workspace_groups }}</div>
<table class="opt-grid">
{% for row in ZUGAENGE_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if HAS_SOFTWARE %}
<div class="opt-card">
<div class="opt-title">{{ T.software }}</div>
<table class="opt-grid">
{% for row in SOFTWARE_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if HAS_ACCESSES %}
<div class="opt-card">
<div class="opt-title">{{ T.accesses }}</div>
<table class="opt-grid">
{% for row in ACCOUNT_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if HAS_RESOURCES %}
<div class="opt-card">
<div class="opt-title">{{ T.resources }}</div>
<table class="opt-grid">
{% for row in STANDARD_RESSOURCEN %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if GROUP_MAILBOXES_REQUIRED and HAS_GROUP_MAILBOXES %}
<div class="opt-card">
<div class="opt-title">{{ T.group_mailboxes_required }}</div>
<table class="opt-grid">
{% for row in GROUP_MAILBOXES_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if ADDITIONAL_HARDWARE_NEEDED and HAS_ADDITIONAL_HARDWARE %}
<div class="opt-card">
<div class="opt-title">{{ T.additional_hardware_needed }}</div>
<table class="opt-grid">
{% for row in ADDITIONAL_HARDWARE_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if ADDITIONAL_SOFTWARE_NEEDED and HAS_ADDITIONAL_SOFTWARE %}
<div class="opt-card">
<div class="opt-title">{{ T.additional_software_needed }}</div>
<table class="opt-grid">
{% for row in ADDITIONAL_SOFTWARE_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% if ADDITIONAL_ACCESS_NEEDED and HAS_ADDITIONAL_ACCESS %}
<div class="opt-card">
<div class="opt-title">{{ T.additional_access_needed }}</div>
<table class="opt-grid">
{% for row in ADDITIONAL_ACCESS_LIST %}
<tr>
{% for cell in row %}<td>• {{ cell }}</td>{% endfor %}
{% if row|length < 3 %}
{% for _ in range(3 - row|length) %}<td></td>{% endfor %}
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% endif %}
{% if (VISITENKARTE_BESTELLT and HAS_VISITENKARTE_DATEN) or HAS_ADDITIONAL_HARDWARE_OTHER or HAS_SUCCESSOR_INFO or HAS_ADDITIONAL_NOTES %}
<div class="section">{{ T.additional_details }}</div>
{% endif %}
{% if VISITENKARTE_BESTELLT and HAS_VISITENKARTE_DATEN %}
<div class="opt-card">
<div class="opt-title">{{ T.business_cards }}</div>
<table>
<tr>
<th>{{ T.name }}</th>
<td>{{ VISITENKARTE_NAME }}</td>
<th>{{ T.job_title }}</th>
<td>{{ VISITENKARTE_TITEL }}</td>
</tr>
<tr>
<th>{{ T.email }}</th>
<td>{{ VISITENKARTE_EMAIL }}</td>
<th>{{ T.phone }}</th>
<td>{{ VISITENKARTE_TELEFON }}</td>
</tr>
</table>
</div>
{% endif %}
{% if HAS_ADDITIONAL_HARDWARE_OTHER %}
<div class="opt-card">
<div class="opt-title">{{ T.additional_hardware_other }}</div>
<table>
<tr>
<td>{{ ADDITIONAL_HARDWARE_OTHER }}</td>
</tr>
</table>
</div>
{% endif %}
{% if HAS_SUCCESSOR_INFO %}
<div class="opt-card">
<div class="opt-title">{{ T.successor_phone }}</div>
<table>
<tr>
<th>{{ T.successor_of }}</th>
<td>{{ SUCCESSOR_NAME }}</td>
<th>{{ T.inherit_phone_number }}</th>
<td>{{ INHERIT_PHONE_NUMBER }}</td>
</tr>
<tr>
<th>{{ T.direct_extension }}</th>
<td colspan="3">{{ PHONE_NUMBER }}</td>
</tr>
</table>
</div>
{% endif %}
{% if HAS_ADDITIONAL_NOTES %}
<div class="opt-card">
<div class="opt-title">{{ T.notes }}</div>
<table>
<tr>
<td>{{ ADDITIONAL_NOTES }}</td>
</tr>
</table>
</div>
{% endif %}
<div class="section">{{ T.confirmation }}</div>
<table>
<tr>
<th>{{ T.requested_by_name }}</th>
<td>{{ REQUESTED_BY_NAME }}</td>
<th>{{ T.requested_by_email }}</th>
<td>{{ REQUESTED_BY_EMAIL }}</td>
</tr>
<tr>
<th>{{ T.signature }}</th>
{% if UNTERSCHRIFT %}
<td colspan="3"><img src="{{ UNTERSCHRIFT }}" alt="{{ T.signature_alt }}" class="signature"></td>
{% else %}
<td colspan="3" class="muted-cell">{{ UNTERSCHRIFT_HINWEIS }}</td>
{% endif %}
</tr>
</table>
<p class="small">{{ T.onboarding_note }}</p>
</body>
</html>