diff --git a/backend/workflows/templates/registration/login.html b/backend/workflows/templates/registration/login.html index 8ed8f39..ac58f7b 100644 --- a/backend/workflows/templates/registration/login.html +++ b/backend/workflows/templates/registration/login.html @@ -1,13 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Anmeldung" %} - - - - - - {% include 'workflows/includes/app_header.html' with header_show_home=0 %} -
-

{% trans "Anmeldung" %}

+{% endblock %} + +{% block shell_header %} +{% include 'workflows/includes/app_header.html' %} +{% endblock %} + +{% block shell_body %} +

{% trans "Anmeldung" %}

{% trans "Bitte melden Sie sich mit Ihrem Benutzerkonto an." %}

@@ -35,5 +35,6 @@
- - +{% endblock %} +{% endblock %} + diff --git a/backend/workflows/templates/workflows/developer_handbook.html b/backend/workflows/templates/workflows/developer_handbook.html index ac99da5..f662366 100644 --- a/backend/workflows/templates/workflows/developer_handbook.html +++ b/backend/workflows/templates/workflows/developer_handbook.html @@ -66,6 +66,7 @@
  • /backend/config/: Django settings, WSGI, URL config
  • /backend/workflows/: application logic, views, models, tasks, templates, static assets
  • /backend/workflows/templates/workflows/base_shell.html: standard page shell for new staff-facing pages
  • +
  • Rule: all interactive app pages should extend base_shell.html; do not rebuild topbar/frame logic in page-local templates.
  • /backend/media/templates/: PDF HTML templates and letterhead source files
  • /backend/media/pdfs/: generated PDF outputs on host volume
  • /backend/locale/: translation catalogs
  • diff --git a/backend/workflows/templates/workflows/form_builder.html b/backend/workflows/templates/workflows/form_builder.html index 7a2497f..94c54d3 100644 --- a/backend/workflows/templates/workflows/form_builder.html +++ b/backend/workflows/templates/workflows/form_builder.html @@ -1,17 +1,14 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Form Builder" %} - - - - - -
    - {% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %} + +{% block title %}{% trans "Form Builder" %}{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block shell_body %} +{% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %}

    {% trans "Form Builder" %}

    @@ -166,8 +163,5 @@
    -
    +{% endblock %} - - - diff --git a/backend/workflows/templates/workflows/home.html b/backend/workflows/templates/workflows/home.html index fe4b887..dbedf55 100644 --- a/backend/workflows/templates/workflows/home.html +++ b/backend/workflows/templates/workflows/home.html @@ -1,14 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} -{% get_current_language as CURRENT_LANGUAGE %} - - - - - - {% trans "TUBCO Onboarding & Offboarding Portal" %} - - - - - -
    -
    +{% endblock %} + +{% block shell_body %} +
    @@ -626,6 +622,5 @@ {% trans "Tipp: Die letzten Vorgänge sehen Sie jederzeit im Anfragen Dashboard." %}
    -
    - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/integrations_setup.html b/backend/workflows/templates/workflows/integrations_setup.html index 98d141a..a7ce8e2 100644 --- a/backend/workflows/templates/workflows/integrations_setup.html +++ b/backend/workflows/templates/workflows/integrations_setup.html @@ -1,13 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Integrationen Setup" %} - - - - - -
    - {% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %} +{% endblock %} + +{% block shell_body %} +{% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %}

    {% trans "Integrationen Setup" %}

    {% trans "Verwalten Sie Nextcloud- und Mail-Konfiguration ohne Backend-Wechsel." %}

    @@ -365,6 +362,5 @@
    {% endif %} -
    - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/intro_builder.html b/backend/workflows/templates/workflows/intro_builder.html index 5db6b35..d9bc8fb 100644 --- a/backend/workflows/templates/workflows/intro_builder.html +++ b/backend/workflows/templates/workflows/intro_builder.html @@ -1,13 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Einweisungs-Builder" %} - - - - - -
    - {% include 'workflows/includes/app_header.html' with header_show_dashboard=1 header_show_home=1 header_inside_shell=1 %} +{% endblock %} + +{% block shell_body %} +{% include 'workflows/includes/app_header.html' with header_show_dashboard=1 header_show_home=1 header_inside_shell=1 %}
    @@ -143,6 +140,5 @@
    -
    - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/offboarding_form.html b/backend/workflows/templates/workflows/offboarding_form.html index e925a54..ffac2ed 100644 --- a/backend/workflows/templates/workflows/offboarding_form.html +++ b/backend/workflows/templates/workflows/offboarding_form.html @@ -1,26 +1,26 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} -{% get_current_language as CURRENT_LANGUAGE %} - - - - - - {% trans "Offboarding-Anfrage" %} - - - - - - - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/onboarding_form.html b/backend/workflows/templates/workflows/onboarding_form.html index b124e18..92ec418 100644 --- a/backend/workflows/templates/workflows/onboarding_form.html +++ b/backend/workflows/templates/workflows/onboarding_form.html @@ -1,26 +1,24 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} -{% get_current_language as CURRENT_LANGUAGE %} - - - - - - {% trans "Onboarding-Anfrage" %} - - - - - - - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/onboarding_success.html b/backend/workflows/templates/workflows/onboarding_success.html index 4df98c3..15cee6a 100644 --- a/backend/workflows/templates/workflows/onboarding_success.html +++ b/backend/workflows/templates/workflows/onboarding_success.html @@ -1,13 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Onboarding gespeichert" %} - - - - - - {% include 'workflows/includes/app_header.html' with header_show_home=1 %} -
    -

    {% trans "Anfrage erfolgreich gespeichert" %}

    +{% endblock %} + +{% block shell_header %} +{% include 'workflows/includes/app_header.html' with header_show_home=1 %} +{% endblock %} + +{% block shell_body %} +

    {% trans "Anfrage erfolgreich gespeichert" %}

    {% trans "Vorgangs-ID:" %} {{ obj.id }}

    {% trans "Name:" %} {{ obj.full_name }}

    {% trans "E-Mail:" %} {{ obj.work_email }}

    @@ -33,6 +33,5 @@ {% trans "Neue Anfrage erfassen" %} {% trans "Zum Dashboard" %}
    -
    - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/project_wiki.html b/backend/workflows/templates/workflows/project_wiki.html index 240688a..20cff62 100644 --- a/backend/workflows/templates/workflows/project_wiki.html +++ b/backend/workflows/templates/workflows/project_wiki.html @@ -194,6 +194,7 @@
  • Einweisungs- und Übergabeprotokoll: staff-only PDF erzeugen, Neu erzeugen, and PDF öffnen actions directly on onboarding rows in the Requests Dashboard.
  • Einweisung durchführen: staff-only live checklist page opened from onboarding rows, with draft/completed status, notes, progress tracking, and a separate live-status PDF export.
  • Project Wiki: this documentation page.
  • +
  • UI Shell Standard: interactive app pages should extend base_shell.html; PDF templates under backend/media/templates/ must stay separate.
  • Release Checklist: dedicated staff-only release runbook for validation, rollout evidence, and rollback basics.
  • diff --git a/backend/workflows/templates/workflows/requests_dashboard.html b/backend/workflows/templates/workflows/requests_dashboard.html index 9046103..c0d2267 100644 --- a/backend/workflows/templates/workflows/requests_dashboard.html +++ b/backend/workflows/templates/workflows/requests_dashboard.html @@ -1,14 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} -{% get_current_language as CURRENT_LANGUAGE %} - - - - - - {% trans "Anfragen Dashboard" %} - - - - - -
    -
    +{% endblock %} + +{% block shell_body %} +
    @@ -1001,9 +997,10 @@
    {% trans "Datensätze können direkt in der Tabelle gefiltert, geöffnet, geprüft oder gelöscht werden." %}
    -
    - {% if request.user.is_staff %} -
    +{% endblock %} + +{% block extra_scripts %} +{% if request.user.is_staff %}
    {% csrf_token %}
    @@ -1144,5 +1141,5 @@ })(); {% endif %} - - +{% endblock %} + diff --git a/backend/workflows/templates/workflows/welcome_emails.html b/backend/workflows/templates/workflows/welcome_emails.html index e8b17a0..b013c79 100644 --- a/backend/workflows/templates/workflows/welcome_emails.html +++ b/backend/workflows/templates/workflows/welcome_emails.html @@ -1,13 +1,10 @@ +{% extends 'workflows/base_shell.html' %} {% load static i18n %} - - - - - - {% trans "Welcome E-Mails" %} - - - - - -
    - {% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %} +{% endblock %} + +{% block shell_body %} +{% include 'workflows/includes/app_header.html' with header_show_home=1 header_inside_shell=1 %}

    {% trans "Geplante Welcome E-Mails" %}

    {% trans "Welcome-Mails konfigurieren und geplante Mails steuern (sofort senden, pausieren, fortsetzen, abbrechen)." %}

    @@ -180,9 +177,10 @@ {% endfor %} -
    - - - +{% endblock %} +