{% extends 'workflows/base_shell.html' %} {% load static %} {% block title %}Project Wiki{% endblock %} {% block extra_css %} {% endblock %} {% block shell_body %} {% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %}
Operational and technical documentation for the Onboarding/Offboarding platform.
This system handles employee onboarding and offboarding requests from web forms. It generates branded PDF documents, sends condition-based notifications, stores records in the database, and optionally uploads PDFs to Nextcloud.
OnboardingRequest: onboarding data, generated PDF path, requester info, signature file/url, conditional fields.OffboardingRequest: offboarding data, requester info, generated PDF path.EmployeeProfile: searchable profile for offboarding prefill.WorkflowConfig: routing emails, integration overrides, feature flags, welcome email delay.NotificationTemplate: subject/body templates with placeholders.NotificationRule: condition-based custom routing rules.FormFieldConfig + FormOption: Form Builder configuration and selectable options.ScheduledWelcomeEmail: delayed welcome email queue state./onboarding/new/ and completes multi-step form.process_onboarding_request runs in worker.Einweisungs- und Übergabeprotokoll from the Requests Dashboard for face-to-face employee introduction and sign-off.Einweisung durchführen page with real web checkboxes, notes, and draft/completed tracking./offboarding/new/ and can search existing profile first.process_offboarding_request runs in worker.Examples: {{ VORNAME }}, {{ NACHNAME }}, {{ FULL_NAME }}, {{ EMAIL }}, {{ DEPARTMENT }}, {{ CONTRACT_START }}.
always, equals, contains, is_true, is_false./backend/media/templates/onboarding_template.html and offboarding_template.html./backend/media/templates/onboarding_intro_template.html./backend/media/templates/templates.pdf, but can be overridden from Admin Apps → Branding./backend/media/pdfs/.Stammdaten, Vertrag, IT-Setup, and Abschluss, plus checkbox grids for devices, software, accesses, workspace groups, resources, and additional IT items.Einweisungs-Builder. If no custom items are configured, the system falls back to built-in defaults.preferred_language on save, and the database schema also enforces a default of de. This prevents null-language inserts outside the main form/view path.makemessages and compilemessages workflow.gettext is installed in the Docker image so translations can be compiled inside the running container./backend/locale/.Makefile provides repeatable local commands for updating and compiling translations..github/workflows/i18n.yml..mo compilation path should no longer be used for ongoing maintenance.Super Admin, Admin, IT Staff, and Staff.is_staff.Admin access so existing operations do not break during rollout.submitted, processing, completed, failed). Failed requests expose the last error and can be retried from the dashboard.PDF erzeugen, Neu erzeugen, and PDF öffnen actions directly on onboarding rows in the Requests Dashboard.base_shell.html; PDF templates under backend/media/templates/ must stay separate./healthz/db=error, verify DB container and connection settings./app/media/pdfs/backend/media/pdfs/ via mounted volume.backups/ and verify them with a temporary restore before using a real restore.Backup & Recovery for create, verify, and delete actions.Integrationen → Backup-Ziel.docker compose exec -T web python manage.py verify_latest_backup --create-if-missing
Branding.docker compose exec -T web python manage.py cleanup_expired_trial_workspace --yes-delete
python manage.py check before release.python manage.py bootstrap_initial_users right after migrations.admin_test / admin12345user_test / user12345X-Content-Type-Options: nosniff, stricter referrer policy, and frame protection.app user.chardet==5.2.0 so requests runs without compatibility warnings alongside ReportLab.http://127.0.0.1:8088/ instead of localhost if local DNS/proxy is unstable./healthz/ and web logs.bootstrap_initial_users and confirm the database volume was initialized correctly.