From 77968d24fcc1c8b4a0447c3da7798ca64a6e71c0 Mon Sep 17 00:00:00 2001 From: Thomas Peterson Date: Tue, 14 Jul 2026 17:04:29 +0200 Subject: [PATCH] auftragsdetails --- .mimocode/plans/1783597417429-calm-comet.md | 178 ++ src/new/.mimocode/.cron-lock | 2 +- src/new/config/reference.php | 4 +- .../Controller/Backend/EditController.php | 35 + ...ore_contact_detail_create_and_edit.de.yaml | 3 +- ...ore_contact_detail_create_and_edit.en.yaml | 1 + .../backend/addressdetail/create.html.twig | 371 +-- .../backend/addressdetail/delete.html.twig | 83 +- .../backend/addressdetail/edit.html.twig | 408 +-- .../backend/addressimport/step1.html.twig | 66 +- .../backend/addressimport/step2.html.twig | 131 +- .../backend/addressimport/step3.html.twig | 88 +- .../backend/edit/anonymisieren.html.twig | 84 +- .../views/backend/edit/create.html.twig | 2111 ++++----------- .../views/backend/edit/edit.html.twig | 2359 +++++------------ .../backend/edit/reset_password.html.twig | 143 + .../views/backend/upload/deleteAll.html.twig | 142 +- src/new/var/tailwind/backend.built.css | 64 + src/new/version.yaml | 12 +- 19 files changed, 2206 insertions(+), 4079 deletions(-) create mode 100644 .mimocode/plans/1783597417429-calm-comet.md create mode 100644 src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/reset_password.html.twig diff --git a/.mimocode/plans/1783597417429-calm-comet.md b/.mimocode/plans/1783597417429-calm-comet.md new file mode 100644 index 000000000..e29047c1f --- /dev/null +++ b/.mimocode/plans/1783597417429-calm-comet.md @@ -0,0 +1,178 @@ +# Plan: ContactBundle Tailwind-Migration + Passwort-Reset + +## Übersicht +Das ContactBundle (Kundenbereich) wird von Bootstrap 5 auf Tailwind CSS umgestellt, analog zur SettingsBundle-Referenz. Das Passwort-Feld wird aus dem Edit-Formular entfernt (bleibt im Create-Formular) und durch eine separate "Passwort neu setzen"-Seite ersetzt. + +## Aktueller Stand +- **Bereits Tailwind**: `list/index.html.twig`, `edit/delete.html.twig` +- **Noch Bootstrap**: `edit/edit.html.twig`, `edit/create.html.twig`, `edit/anonymisieren.html.twig`, `addressdetail/*`, `addressimport/*`, `upload/deleteAll.html.twig` +- **Base Template**: `backend_tailwind_base.html.twig` (Tailwind) statt `backend_base.html.twig` (Bootstrap) +- **Form Theme**: `tailwind_formtheme.html.twig` + +--- + +## Phase 1: Passwort-Feld entfernen + Reset-Seite erstellen + +### 1.1 Passwort-Feld nur aus Edit-Template entfernen +- **Edit-Template**: `Resources/views/backend/edit/edit.html.twig` (Zeilen ~91-107) - Passwort-Block mit data-pw-wrap entfernen +- **Create-Template**: Passwort-Feld BLEIBT erhalten (Neuanlage mit Passwort möglich) +- **ContactType.php**: `->add('password', ...)` bleibt (wird von Create noch benötigt) + +### 1.2 Passwort-Logik im EditController +- Bestehende Logik bleibt: `if ($form->get('password')->getData() !== null) { ... }` (Zeilen ~347-349) +- Wird nur noch beim Create aufgerufen, da Edit das Feld nicht mehr hat + +### 1.3 Neue "Passwort neu setzen"-Seite erstellen + +#### Controller-Action in EditController hinzufügen +**Datei**: `Controller/Backend/EditController.php` +- Neue Action `resetPasswordAction(Request $request, Contact $contact, DocumentManager $dm)` +- Route: `/backend/contact/edit/reset-password/{uuid}` +- Name: `psc_shop_contact_backend_reset_password` +- **GET**: Zeigt Formular mit Passwort-Eingabefeld (mit Show/Hide Toggle) +- **POST**: Hasht das eingegebene Passwort mit `password_hash(PASSWORD_DEFAULT)` und speichert es +- Zeigt nach erfolgreichem Speichern eine Bestätigung + +#### Neues Template erstellen +**Datei**: `Resources/views/backend/edit/reset_password.html.twig` +- Extends `backend_tailwind_base.html.twig` +- Formular mit Passwort-Eingabefeld (mit Show/Hide Toggle) +- Speichern-Button +- Bestätigungsmeldung nach erfolgreichem Speichern +- Zurück-Button zum Kunden +- Styling analog zu `delete.html.twig` (Karte mit Kopfzeile) + +### 1.4 "Passwort neu setzen"-Button in Edit-Formular +**Datei**: `Resources/views/backend/edit/edit.html.twig` (nach Tailwind-Migration) +- Statt Passwort-Feld: Button "Passwort neu setzen" der zur Reset-Seite führt +- Styling: `inline-flex items-center gap-1.5 px-3 py-2 rounded-sm text-sm font-medium text-gray-700 bg-white border border-gray-300 hover:bg-gray-50 shadow-sm` + +--- + +## Phase 2: edit.html.twig Tailwind-Migration (1746 Zeilen) + +### 2.1 Base-Template wechseln +- `{% extends 'backend_base.html.twig' %}` → `{% extends 'backend_tailwind_base.html.twig' %}` +- Form-Theme: `{% form_theme form ... %}` auf `tailwind_formtheme.html.twig` setzen + +### 2.2 Seitenstruktur +``` +{% block header %} + Titel + Aktionsbuttons (Speichern, Löschen, Anonymisieren) +{% endblock %} + +{% block body %} +
+ Tab-Navigation (sidebar links) + Tab-Inhalte (rechts) +
+{% endblock %} +``` + +### 2.3 Tab-System (aus SettingsBundle übernehmen) +- Tab-Sidebar: `tab-group flex-none md:flex w-full` +- Tab-Links: `tab-link flex items-center text-sm px-4 py-2 relative` +- Tab-Inhalte: `tab-content w-full text-stone-500 text-sm hidden/block` + +### 2.4 Tabs die migriert werden müssen +1. **Allgemein** - Username, Email, Enable, Level, Shops, PriceFactor +2. **Adressdaten** - Adresstabelle (existierende Tailwind-Tabelle nutzen) +3. **Individualisierung** - Custom fields +4. **Kalkulationsvariablen** - Preisanpassungen +5. **Variablenfelder** - basketfield1/2, Freefields +6. **Zugriffsrechte** - Rollen, Berechtigungen +7. **Erweitert** - Zusätzliche Einstellungen +8. **Plugin-Tabs** - Dynamisch aus Plugin-System + +### 2.5 Bootstrap → Tailwind Klassen-Mapping +| Bootstrap | Tailwind | +|-----------|----------| +| `panel panel-default > header/body` | `rounded-md border bg-white px-7.5 py-6 shadow-lg` | +| `row > col-md-*` | `flex flex-wrap > w-full lg:w-6/12 px-4` | +| `form-control` | `border-1 px-3 py-3 bg-white rounded text-sm shadow` | +| `form-control-label` | `block uppercase text-xs font-bold mb-2` | +| `btn btn-primary` | `bg-psc-500 hover:bg-psc-600 text-white rounded-sm px-4 py-1` | +| `btn btn-danger` | `bg-red-600 hover:bg-red-700 text-white rounded-sm px-4 py-2` | +| `btn btn-info` | `bg-blue-600 hover:bg-blue-700 text-white rounded-sm px-4 py-2` | +| `nav nav-pills > nav-item > nav-link` | `tab-link flex items-center text-sm px-4 py-2 relative` | +| `table table-striped` | `min-w-full text-sm` mit `hover:bg-gray-50` | +| `badge bg-success/danger` | `text-green-600` / `text-red-600` | +| `collapse` | Alpine.js `x-show` oder `hidden` Klasse | + +### 2.6 JavaScript anpassen +- AJAX Username-Check: Muss weiter funktionieren +- Tab-Switching: Bereits in `backend_tailwind_base.html.twig` implementiert +- jQuery durch Vanilla JS/Alpine.js ersetzen wo nötig + +--- + +## Phase 3: create.html.twig Tailwind-Migration (1617 Zeilen) + +- Fast identisch zu edit.html.twig +- Keine Adresstabelle, kein Change-Log +- Keine Plugin-Tabs +- Preis-Tab (priceFactor) vorhanden +- Gleiche Bootstrap → Tailwind Konvertierung + +--- + +## Phase 4: Weitere Templates migrieren + +### 4.1 anonymisieren.html.twig (38 Zeilen) +- Analog zu `delete.html.twig` (bereits Tailwind) +- Bestätigungsdialog mit Ja/Nein Buttons + +### 4.2 addressdetail/edit.html.twig (320 Zeilen) +- Formularfelder: type, UUID, homepage, sort, email, KundenNr, company, salutation, name, street, zip, phone, fax, mobile, ustid, steuerid, lid, zusatz1/2 +- Change-Log Tabelle +- 2-Spalten Layout mit `flex flex-wrap` + +### 4.3 addressdetail/create.html.twig (296 Zeilen) +- Wie edit aber ohne Change-Log + +### 4.4 addressdetail/delete.html.twig (40 Zeilen) +- Analog zu bestehender delete.html.twig + +### 4.5 addressimport/step1-3.html.twig (39+86+41 Zeilen) +- Step 1: Datei-Upload +- Step 2: Spalten-Mapping +- Step 3: Bestätigung + +### 4.6 upload/deleteAll.html.twig (74 Zeilen) +- Tabelle mit Uploads + Bestätigung + +--- + +## Betroffene Dateien (Zusammenfassung) + +### Zu bearbeiten: +1. `src/PSC/Shop/ContactBundle/Controller/Backend/EditController.php` - Reset-Action hinzufügen +2. `src/PSC/Shop/ContactBundle/Resources/views/backend/edit/edit.html.twig` - Tailwind + Passwort-Button statt Passwort-Feld +3. `src/PSC/Shop/ContactBundle/Resources/views/backend/edit/create.html.twig` - Tailwind (Passwort-Feld bleibt) +4. `src/PSC/Shop/ContactBundle/Resources/views/backend/edit/anonymisieren.html.twig` - Tailwind +5. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/edit.html.twig` - Tailwind +6. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/create.html.twig` - Tailwind +7. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/delete.html.twig` - Tailwind +8. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step1.html.twig` - Tailwind +9. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step2.html.twig` - Tailwind +10. `src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step3.html.twig` - Tailwind +11. `src/PSC/Shop/ContactBundle/Resources/views/backend/upload/deleteAll.html.twig` - Tailwind + +### Neu erstellen: +12. `src/PSC/Shop/ContactBundle/Resources/views/backend/edit/reset_password.html.twig` - Neue Reset-Seite + +### NICHT bearbeiten: +- `src/PSC/Shop/ContactBundle/Form/Backend/General/ContactType.php` - bleibt unverändert (Passwort-Feld für Create benötigt) + +--- + +## Verifikation + +1. **Kundenliste**: `/backend/contact/list/index` laden - funktioniert bereits +2. **Kunde bearbeiten**: `/backend/contact/edit/edit/{uuid}` - Tailwind-Layout prüfen +3. **Kunde anlegen**: `/backend/contact/edit/create` - Tailwind-Layout prüfen +4. **Passwort-Reset**: "Passwort neu setzen" Button klicken → Reset-Seite → Neues Passwort anzeigen +5. **Adresse bearbeiten**: `/backend/contact/address/detail/edit/{uuid}` - Tailwind prüfen +6. **Adresse anlegen**: `/backend/contact/address/detail/create/{uuid}` - Tailwind prüfen +7. **Löschen/Anonymisieren**: Bestätigungsdialoge prüfen +8. **Tabs**: Alle Tabs durchklicken, Inhalte sichtbar/versteckt korrekt +9. **Formulare speichern**: Alle Formulare testweise absenden diff --git a/src/new/.mimocode/.cron-lock b/src/new/.mimocode/.cron-lock index 0c161b20a..e4ad328c2 100644 --- a/src/new/.mimocode/.cron-lock +++ b/src/new/.mimocode/.cron-lock @@ -1 +1 @@ -{"pid":2966987,"startedAt":1783596410229} \ No newline at end of file +{"pid":187559,"startedAt":1783930446903} \ No newline at end of file diff --git a/src/new/config/reference.php b/src/new/config/reference.php index 0cc464fe7..68fd85c85 100644 --- a/src/new/config/reference.php +++ b/src/new/config/reference.php @@ -476,7 +476,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * datetime?: array{ * default_format?: scalar|Param|null, // Default: "Y-m-d\\TH:i:sP" * default_deserialization_formats?: list, - * default_timezone?: scalar|Param|null, // Default: "UTC" + * default_timezone?: scalar|Param|null, // Default: "Europe/Berlin" * cdata?: scalar|Param|null, // Default: true * }, * array_collection?: array{ @@ -576,7 +576,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * datetime?: array{ * default_format?: scalar|Param|null, // Default: "Y-m-d\\TH:i:sP" * default_deserialization_formats?: list, - * default_timezone?: scalar|Param|null, // Default: "UTC" + * default_timezone?: scalar|Param|null, // Default: "Europe/Berlin" * cdata?: scalar|Param|null, // Default: true * }, * array_collection?: array{ diff --git a/src/new/src/PSC/Shop/ContactBundle/Controller/Backend/EditController.php b/src/new/src/PSC/Shop/ContactBundle/Controller/Backend/EditController.php index 2640ee0bb..ced8e25ed 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Controller/Backend/EditController.php +++ b/src/new/src/PSC/Shop/ContactBundle/Controller/Backend/EditController.php @@ -646,6 +646,41 @@ class EditController extends AbstractController ); } + #[Route(path: '/edit/reset-password/{uuid}', name: 'psc_shop_contact_backend_reset_password')] + #[Template('@PSCShopContact/backend/edit/reset_password.html.twig')] + #[IsGranted('ROLE_SHOP')] + public function resetPasswordAction( + Request $request, + EntityManagerInterface $entityManager, + $uuid = "" + ) { + /** @var Contact $contact */ + $contact = $entityManager + ->getRepository('PSC\Shop\EntityBundle\Entity\Contact') + ->findOneBy(array('uuid' => $uuid)); + + if (!$contact) { + throw $this->createNotFoundException('Kunde nicht gefunden.'); + } + + $saved = false; + + if ($request->isMethod('POST')) { + $newPassword = $request->request->get('password', ''); + if (strlen($newPassword) >= 4) { + $contact->setPassword(password_hash($newPassword, PASSWORD_DEFAULT)); + $entityManager->persist($contact); + $entityManager->flush(); + $saved = true; + } + } + + return array( + 'contact' => $contact, + 'saved' => $saved, + ); + } + /** * @param array... $arrayCollections * @return ArrayCollection diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.de.yaml b/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.de.yaml index a63a49a2b..2a625a92c 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.de.yaml +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.de.yaml @@ -1,10 +1,11 @@ general: Allgemein art: Art add: anlegen +back: Zurück steuerid: Steuer Nr lid: Leitweg Id detail: bearbeiten -customeraddress: Kunde +customeraddress: Kundenadresse Company: Firma Company2: Firma Zusatz salutations: Anrede diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.en.yaml b/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.en.yaml index 596ea1e84..6f1416b49 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.en.yaml +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/translations/core_contact_detail_create_and_edit.en.yaml @@ -2,6 +2,7 @@ general: General art: Art detail: edit add: Add +back: Back customeraddress: Customer address Company: Company Companyaddition: Company Addition diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/create.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/create.html.twig index 8d092292d..66d4821fe 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/create.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/create.html.twig @@ -1,296 +1,83 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} +{% form_theme form 'tailwind_formtheme.html.twig' %} {% trans_default_domain 'core_contact_detail_create_and_edit' %} -{% block body %} -
-
-
-

- - {{ 'customeraddress'|trans }} > - {{ 'add'|trans }} -

-
- -
+ +{% block header %} +
+

+ + + + {{ 'customeraddress'|trans }} {{ 'add'|trans }} + für {{ contact.username }} +

- -
-
-
-
{{ contact.username }}
-
-
- - {{ form_start(form, { 'attr': {'class': 'smart-form'}}) }} - {{ form_errors(form) }} - -
-
-
- -
- {{ form_widget(form.type) }} -
- {{ form_errors(form.type) }} -
-
-
-
- -
- {{ form_widget(form.uuid, {attr: {'class': 'form-control disabled'}}) }} -
- {{ form_errors(form.uuid) }} -
-
-
-
-
-
- -
- {{ form_widget(form.homepage) }} -
- {{ form_errors(form.homepage) }} -
-
-
-
- -
- {{ form_widget(form.pos) }} -
- {{ form_errors(form.pos) }} -
-
-
-
-
-
- -
- {{ form_widget(form.email) }} -
- {{ form_errors(form.email) }} -
-
-
-
- -
- {{ form_widget(form.kundenNr) }} -
- {{ form_errors(form.kundenNr) }} -
-
-
-
-
-
- -
- {{ form_widget(form.company) }} -
- {{ form_errors(form.company) }} -
-
-
-
- -
- {{ form_widget(form.company2) }} -
- {{ form_errors(form.company2) }} -
-
-
- -
-
-
- -
- {{ form_widget(form.salutation) }} -
-
- {{ form_widget(form.firstname) }} -
- {{ form_errors(form.firstname) }} -
-
-
-
- -
- {{ form_widget(form.lastname) }} -
- {{ form_errors(form.lastname) }} -
-
-
-
-
-
- -
- {{ form_widget(form.street) }} -
- -
- {{ form_widget(form.houseNumber) }} -
- {{ form_errors(form.street) }}{{ form_errors(form.houseNumber) }} -
-
-
-
- -
- {{ form_widget(form.zip) }} -
-
- {{ form_widget(form.city) }} -
-
- {{ form_widget(form.country) }} -
- {{ form_errors(form.zip) }} - {{ form_errors(form.city) }} - {{ form_errors(form.country) }} -
-
-
-
-
-
- -
- {{ form_widget(form.phone) }} -
- {{ form_errors(form.phone) }} -
-
-
-
- -
- {{ form_widget(form.fax) }} -
- {{ form_errors(form.fax) }} -
-
-
-
-
-
- -
- {{ form_widget(form.mobilPhone) }} -
- {{ form_errors(form.mobilPhone) }} -
-
-
-
- -
- {{ form_widget(form.ustid) }} -
- {{ form_errors(form.ustid) }} -
-
-
-
-
-
- -
- {{ form_widget(form.steuerid) }} -
- {{ form_errors(form.steuerid) }} -
-
-
-
- -
- {{ form_widget(form.lid) }} -
- {{ form_errors(form.lid) }} -
-
-
- -
-
-
- -
- {{ form_widget(form.zusatz1) }} -
- {{ form_errors(form.zusatz1) }} -
-
-
-
- -
- {{ form_widget(form.zusatz2) }} -
- {{ form_errors(form.zusatz2) }} -
-
-
-
-
- {{ form_widget(form.save, {attr: {class: 'btn btn-primary btn-sm'}}) }} -
-
- {{ form_end(form) }} -
-
+ - +{% endblock %} + +{% block body %} +
+ {{ form_start(form) }} +
+ {{ form_errors(form) }} + +
+
{{ form_row(form.type) }}
+
{{ form_row(form.pos) }}
+
{{ form_row(form.kundenNr) }}
+
{{ form_row(form.uuid) }}
+
+ +
+
{{ form_row(form.company) }}
+
{{ form_row(form.company2) }}
+
+ +
+
{{ form_row(form.salutation) }}
+
{{ form_row(form.firstname) }}
+
{{ form_row(form.lastname) }}
+
+ +
+
{{ form_row(form.street) }}
+
{{ form_row(form.houseNumber) }}
+
{{ form_row(form.zip) }}
+
{{ form_row(form.city) }}
+
+ +
+
{{ form_row(form.country) }}
+
{{ form_row(form.phone) }}
+
{{ form_row(form.fax) }}
+
{{ form_row(form.mobilPhone) }}
+
+ +
+
{{ form_row(form.email) }}
+
{{ form_row(form.homepage) }}
+
{{ form_row(form.ustid) }}
+
+ +
+
{{ form_row(form.steuerid) }}
+
{{ form_row(form.lid) }}
+
{{ form_row(form.zusatz1) }}
+
{{ form_row(form.zusatz2) }}
+
+ +
+ +
+ {{ form_widget(form.save, {attr: {class: 'inline-flex items-center justify-center py-1 gap-1 font-medium rounded-md px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]'}}) }} +
+ {{ form_end(form) }} +
{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/delete.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/delete.html.twig index fbce38767..1528953c3 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/delete.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/delete.html.twig @@ -1,40 +1,57 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} {% trans_default_domain 'core_contact_delete' %} + +{% block header %} +
+

+ + + + {{'address'|trans}} {{'del'|trans}} +

+
+ +{% endblock %} + {% block body %} -
-
-
-

- - {{ 'address'|trans }} > - {{ 'del'|trans }} +
+
+
+
+ + + +

+ {{'addressdel'|trans}}

- + +
+ {{ form_start(form) }} +
+ {{ form_widget(form.no, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-psc-600 border border-psc-500 bg-white hover:bg-gray-50 hover:ring-2 hover:ring-psc-500 hover:ring-offset-1 shadow-sm' + }, + label: 'no'|trans + }) }} + {{ form_widget(form.yes, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-white shadow-lg bg-red-500 hover:bg-red-600 hover:ring-2 hover:ring-red-500 hover:ring-offset-1' + }, + label: 'yes'|trans + }) }}
+ {{ form_end(form) }}
- -
-
-
-

{{ 'addressdel'|trans }}

-
-
- - {{ form_start(form, { 'attr': {'class': ''}}) }} -
- -
- {{ form_widget(form.yes, {attr: {class: 'btn btn-lg btn-warning btn-sm'}}) }} -
-
- {{ form_widget(form.no, {attr: {class: 'btn btn-lg btn-primary btn-sm'}}) }} -
-
- {{ form_end(form) }} -
-
-
-{% endblock %} \ No newline at end of file +
+{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/edit.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/edit.html.twig index 9f15e93ba..246dba010 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/edit.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressdetail/edit.html.twig @@ -1,320 +1,118 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} +{% form_theme form 'tailwind_formtheme.html.twig' %} {% trans_default_domain 'core_contact_detail_create_and_edit' %} + +{% block header %} +
+

+ + + + {{ 'customeraddress'|trans }} {{ 'detail'|trans }} + ID: {{ contactAddress.uid }} · für {{ contact.username }} +

+
+ +{% endblock %} + {% block body %} -
-
-
-

- - {{ 'customeraddress'|trans }} > - {{ 'detail'|trans }} {{ contactAddress.uid }} -

-
-
- Zurück +
+ {{ form_start(form) }} +
+ {{ form_errors(form) }} + +
+
{{ form_row(form.type) }}
+
{{ form_row(form.pos) }}
+
{{ form_row(form.kundenNr) }}
+
{{ form_row(form.uuid) }}
+ +
+
{{ form_row(form.company) }}
+
{{ form_row(form.company2) }}
+ +
+
{{ form_row(form.salutation) }}
+
{{ form_row(form.firstname) }}
+
{{ form_row(form.lastname) }}
+
+ +
+
{{ form_row(form.street) }}
+
{{ form_row(form.houseNumber) }}
+
{{ form_row(form.zip) }}
+
{{ form_row(form.city) }}
+
+ +
+
{{ form_row(form.country) }}
+
{{ form_row(form.phone) }}
+
{{ form_row(form.fax) }}
+
{{ form_row(form.mobilPhone) }}
+
+ +
+
{{ form_row(form.email) }}
+
{{ form_row(form.homepage) }}
+
{{ form_row(form.ustid) }}
+
+ +
+
{{ form_row(form.steuerid) }}
+
{{ form_row(form.lid) }}
+
{{ form_row(form.zusatz1) }}
+
{{ form_row(form.zusatz2) }}
+
+
-
-
-
-
{{ contact.username }}
-
-
+
+ {{ form_widget(form.save, {attr: {class: 'inline-flex items-center justify-center py-1 gap-1 font-medium rounded-md px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-2 min-h-[2.25rem]'}}) }} +
+ {{ form_end(form) }} - {{ form_start(form, { 'attr': {'class': 'smart-form'}}) }} - {{ form_errors(form) }} - -
-
-
- -
- {{ form_widget(form.type) }} -
- {{ form_errors(form.type) }} -
-
-
-
- -
- {{ form_widget(form.uuid, {attr: {'class': 'form-control disabled'}}) }} -
- {{ form_errors(form.uuid) }} -
-
-
-
-
-
- -
- {{ form_widget(form.homepage) }} -
- {{ form_errors(form.homepage) }} -
-
-
-
- -
- {{ form_widget(form.pos) }} -
- {{ form_errors(form.pos) }} -
-
-
- -
-
-
- -
- {{ form_widget(form.email) }} -
- {{ form_errors(form.email) }} -
-
-
-
- -
- {{ form_widget(form.kundenNr) }} -
- {{ form_errors(form.kundenNr) }} -
-
-
-
-
-
- -
- {{ form_widget(form.company) }} -
- {{ form_errors(form.company) }} -
-
-
-
- -
- {{ form_widget(form.company2) }} -
- {{ form_errors(form.company2) }} -
-
-
- -
-
-
- -
- {{ form_widget(form.salutation) }} -
-
- {{ form_widget(form.firstname) }} -
- {{ form_errors(form.firstname) }} -
-
-
-
- -
- {{ form_widget(form.lastname) }} -
- {{ form_errors(form.lastname) }} -
-
-
-
-
-
- -
- {{ form_widget(form.street) }} -
- -
- {{ form_widget(form.houseNumber) }} -
- {{ form_errors(form.street) }}{{ form_errors(form.houseNumber) }} -
-
-
-
- -
- {{ form_widget(form.zip) }} -
-
- {{ form_widget(form.city) }} -
-
- {{ form_widget(form.country) }} -
- {{ form_errors(form.zip) }} - {{ form_errors(form.city) }} - {{ form_errors(form.country) }} -
-
-
-
-
-
- -
- {{ form_widget(form.phone) }} -
- {{ form_errors(form.phone) }} -
-
-
-
- -
- {{ form_widget(form.fax) }} -
- {{ form_errors(form.fax) }} -
-
-
-
-
-
- -
- {{ form_widget(form.mobilPhone) }} -
- {{ form_errors(form.mobilPhone) }} -
-
-
-
- -
- {{ form_widget(form.ustid) }} -
- {{ form_errors(form.ustid) }} -
-
-
-
-
-
- -
- {{ form_widget(form.steuerid) }} -
- {{ form_errors(form.steuerid) }} -
-
-
-
- -
- {{ form_widget(form.lid) }} -
- {{ form_errors(form.lid) }} -
-
-
- -
-
-
- -
- {{ form_widget(form.zusatz1) }} -
- {{ form_errors(form.zusatz1) }} -
-
-
-
- -
- {{ form_widget(form.zusatz2) }} -
- {{ form_errors(form.zusatz2) }} -
-
-
-
-
- {{ form_widget(form.save, {attr: {class: 'btn btn-primary btn-sm'}}) }} -
-
- {{ form_end(form) }} -
+
+
+

{{ 'Changes'|trans }}

-
-
-

{{ 'Changes'|trans }}

-
-
- - - - - - {% for change in changes %} - + + {% endfor %} + +
{{ 'Date'|trans }}{{ 'Username'|trans }}{{'Changes'|trans}}
{{ change.created|date('H:i:s d.m.Y') }}{{ change.username }} +
+ + + + + + + + + + {% for change in changes %} + + + + - {% endfor %} - -
{{ 'Date'|trans }}{{ 'Username'|trans }}{{ 'Changes'|trans }}
{{ change.created|date('H:i:s d.m.Y') }}{{ change.username }} {% for key,set in change.changeset %} {% if set|length > 1 and set[1] is not iterable %} - {{key}} {{ set[0]}}{% if set[1] is null %}0{% else %}{{ set[1] }}{% endif %}
+ {{ key }} + {{ set[0] }} + {% if set[1] is null %}0{% else %}{{ set[1] }}{% endif %} +
{% endif %} {% endfor %} -
-
+
- +
{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step1.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step1.html.twig index 3cacb12be..4b01ab5ef 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step1.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step1.html.twig @@ -1,39 +1,39 @@ -{% extends 'backend_base.html.twig' %} -{% block body %} -
-
-
-

- - Address Import > - Schritt 1 -

-
- -
-
+{% extends 'backend_tailwind_base.html.twig' %} +{% form_theme form 'tailwind_formtheme.html.twig' %} -
- {{ form_start(form) }} -
-
-
{{ contact.username }}
-
-
-
- -
- {{ form_widget(form.file) }} -
-
- -
+{% block header %} +
+

+ + + + Address Import Schritt 1 +

+
+ +{% endblock %} + +{% block body %} +
+
+
{{ contact.username }}
+ {{ form_start(form) }} +
+
{{ form_row(form.file) }}
+
+
+ {{ form_end(form) }}
- {{ form_end(form) }}
- {% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step2.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step2.html.twig index 6e7a49e37..826efaa2c 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step2.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step2.html.twig @@ -1,86 +1,61 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} +{% form_theme form 'tailwind_formtheme.html.twig' %} + +{% block header %} +
+

+ + + + Address Import Schritt 2 +

+
+ +{% endblock %} + {% block body %} -
-
-
-

- - Address Import > - Schritt 1 -

-
- -
-
+
+
+
{{ contact.username }}
+ {{ form_start(form) }} -
- {{ form_start(form) }} -
-
-
{{ contact.username }}
+
+
{{ form_row(form.ignoreFirstLine) }}
+
{{ form_row(form.overwrite) }}
-
-
-
-
- {{ form_label(form.ignoreFirstLine) }} -
- {{ form_widget(form.ignoreFirstLine) }} + +
Mapping
+
+ {% for map in form.mapping %} +
+
+
+ + {{ form_widget(map.key) }} +
+
+ + {{ form_widget(map.value) }}
- {{ form_errors(form.ignoreFirstLine) }}
-
-
- {{ form_label(form.overwrite) }} -
- {{ form_widget(form.overwrite) }} -
- {{ form_errors(form.overwrite) }} -
-
-
-
-
-

Mapping

- - {# iterate over each existing tag and render its only field: name #} - {% for map in form.mapping %} -
-
-
- -
-
- {{ form_widget(map.key) }} -
-
-
-
- -
-
- {{ form_widget(map.value) }} -
-
-
-
- {% endfor %} -
-
-
- - -
-
- -
-
+ {% endfor %}
-
- {{ form_end(form) }} -
-{% endblock %} \ No newline at end of file +
+ +
+ + {{ form_end(form) }} +
+
+{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step3.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step3.html.twig index b8068e8a7..953edfc21 100644 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step3.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/addressimport/step3.html.twig @@ -1,41 +1,63 @@ -{% extends 'backend_base.html.twig' %} -{% block body %} -
-
-
-

- - Address Import > - Schritt 3 -

-
- +{% extends 'backend_tailwind_base.html.twig' %} + +{% block header %} +
+

+ + + + Address Import Schritt 3 +

-
+ +{% endblock %} -
- -
-
-
Wollen Sie wirklich in diesen Kunden importieren? {{ contact.username }}
+{% block body %} +
+
+
+
+ + + +

+ Import bestätigen +

+
-
- {{ form_start(form, { 'attr': {'class': ''}}) }} -
- -
- {{ form_widget(form.yes, {attr: {class: 'btn btn-lg btn-warning btn-sm'}}) }} -
-
- {{ form_widget(form.no, {attr: {class: 'btn btn-lg btn-primary btn-sm'}}) }} -
+ +
+

+ Wollen Sie wirklich in diesen Kunden importieren? +

+
+
{{ contact.username }}
+
+
+ +
+ {{ form_start(form) }} +
+ {{ form_widget(form.no, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-psc-600 border border-psc-500 bg-white hover:bg-gray-50 hover:ring-2 hover:ring-psc-500 hover:ring-offset-1 shadow-sm' + } + }) }} + {{ form_widget(form.yes, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-white shadow-lg bg-psc-500 hover:bg-psc-600 hover:ring-2 hover:ring-psc-500 hover:ring-offset-1' + } + }) }}
{{ form_end(form) }}
-
- -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/anonymisieren.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/anonymisieren.html.twig index adeed57d4..46cbe84d2 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/anonymisieren.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/anonymisieren.html.twig @@ -1,38 +1,66 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} {% trans_default_domain 'core_contact_anonymisieren' %} + +{% block header %} +
+

+ + + + {{'customers'|trans}} {{'Anonymize'|trans}} +

+
+ +{% endblock %} + {% block body %} -
-
-
-

- - {{ 'customers'|trans }} > - {{ 'Anonymize'|trans }} +
+
+
+
+ + + +

+ {{'Anonymize'|trans}}

-
+
+
+
{{ contact.username }}
+
+

+ {{'Doyoureally'|trans}} +

+
-
-
-
-
{{ contact.username }}
-
-
- {{ form_start(form, { 'attr': {'class': ''}}) }} - {{ form_errors(form) }} -
- -
- {{ form_widget(form.no, {attr: {class: 'btn btn-primary'}}) }} - {{ form_widget(form.yes, {attr: {class: 'btn btn-danger'}}) }} -
-
- {{ form_end(form) }} +
+ {{ form_start(form) }} +
+ {{ form_widget(form.no, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-psc-600 border border-psc-500 bg-white hover:bg-gray-50 hover:ring-2 hover:ring-psc-500 hover:ring-offset-1 shadow-sm' + }, + label: 'no'|trans + }) }} + {{ form_widget(form.yes, { + attr: { + class: 'inline-flex items-center justify-center py-2 gap-2 font-medium rounded-md px-4 text-sm text-white shadow-lg bg-yellow-500 hover:bg-yellow-600 hover:ring-2 hover:ring-yellow-500 hover:ring-offset-1' + }, + label: 'yes'|trans + }) }}
+ {{ form_end(form) }}
-{% endblock %} \ No newline at end of file +
+{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/create.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/create.html.twig index b3e46ddfa..cc535b6e5 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/create.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/edit/create.html.twig @@ -1,1582 +1,601 @@ -{% extends 'backend_base.html.twig' %} +{% extends 'backend_tailwind_base.html.twig' %} +{% form_theme form 'tailwind_formtheme.html.twig' %} {% trans_default_domain 'core_contact_edit' %} -{% block body %} - -
-
-
-

- - Kunde > - Detail {{ contact.id }} -

-
- -
+{% block header %} +
+

+ + + + {{'customer'|trans}} {{'create'|trans}} +

+ +{% endblock %} -
- {{ form_start(form) }} -
-
-
{{ contact.username }}
-
+{% block body %} +
+ {{ form_start(form, {attr: {class: ''}}) }} +
{{ 'customer'|trans }} {{ 'create'|trans }}
-
-
-
- +
+ +
+ + {# ═══════════════════════════════════════════════════════════════ + TAB: Allgemein + ═══════════════════════════════════════════════════════════════ #} +
+
{{ 'General'|trans }}
+ +
+
Login
+ +
+
{{ form_row(form.username) }}
+
+
+ +
+ {{ form_widget(form.password, {'attr': {'style': 'padding-right:2.5rem'}}) }} + +
+ {{ form_errors(form.password) }} +
+
+
{{ form_row(form.uuid) }}
+
+ +
+
{{ form_row(form.enable, {'label': 'active'|trans}) }}
+
{{ form_row(form.locked, {'label': 'Locked'|trans}) }}
+
{{ form_row(form.virtual, {'label': 'virtual'|trans}) }}
+
-
-
-
-
-
-
- {{ form_label(form.priceFactor) }} -
- {{ form_widget(form.priceFactor) }} -
- {{ form_errors(form.priceFactor) }} -
-
-
-
-
-
-
-
-
-
{{ form_label(form.username) }}
-
-
-
- {{ form_widget(form.username) }} -
- {{ form_errors(form.username) }} -
-
-
-
-
-
-
{{ form_label(form.password) }}
-
-
-
-
- {{ form_widget(form.password, {'attr': {'style': 'padding-right:2.5rem'}}) }} - -
-
- {{ form_errors(form.password) }} -
-
-
-
-
-
-
{{ form_label(form.kundenNr) }}
-
-
-
- {{ form_widget(form.kundenNr) }} -
- {{ form_errors(form.kundenNr) }} -
-
-
-
-
-
-
{{ form_label(form.defaultPayment) }}
-
-
-
- {{ form_widget(form.defaultPayment) }} -
- {{ form_errors(form.defaultPayment) }} -
-
-
-
-
-
-
{{ form_label(form.defaultShipment) }}
-
-
-
- {{ form_widget(form.defaultShipment) }} -
- {{ form_errors(form.defaultShipment) }} -
-
-
-
-
+
+
+
Allgemein
-
-
-
-
{{ form_label(form.account) }}
-
-
-
- {{ form_widget(form.account) }} -
- {{ form_errors(form.account) }} -
-
-
-
-
-
-
{{ form_label(form.language) }}
-
-
-
- {{ form_widget(form.language) }} -
- {{ form_errors(form.language) }} -
-
-
-
-
-
-
{{ form_label(form.uuid) }}
-
-
-
- {{ form_widget(form.uuid) }} -
- {{ form_errors(form.uuid) }} -
-
-
-
-
-
-
-
-
-
-
{{ 'active'|trans }}
-
-
- {{ form_label(form.enable) }} -
- {{ form_widget(form.enable) }} -
- {{ form_errors(form.enable) }} -
-
-
-
-
-
-
{{ 'Locked'|trans }}
-
-
- {{ form_label(form.locked) }} -
- {{ form_widget(form.locked) }} -
- {{ form_errors(form.locked) }} -
-
-
-
-
-
-
{{ 'virtual'|trans }}
-
-
- {{ form_label(form.virtual) }} -
- {{ form_widget(form.virtual) }} -
- {{ form_errors(form.virtual) }} -
-
-
-
-
-
-
{{ 'vat'|trans }}
-
-
- {{ form_label(form.mwert) }} -
- {{ form_widget(form.mwert) }} -
- {{ form_errors(form.mwert) }} -
-
-
-
-
-
-
{{ 'newsletter'|trans }}
-
-
- {{ form_label(form.newsletter) }} -
- {{ form_widget(form.newsletter) }} -
- {{ form_errors(form.newsletter) }} -
-
-
-
-
-
-
-
-
-
{{ form_label(form.country) }}
-
-
-
- {{ form_widget(form.country) }} -
- {{ form_errors(form.country) }} -
-
-
-
-
-
-
{{ form_label(form.vonwo) }}
-
-
-
- {{ form_widget(form.vonwo) }} -
- {{ form_errors(form.vonwo) }} -
-
-
-
-
-
-
{{ form_label(form.information) }}
-
-
-
- {{ form_widget(form.information) }} -
- {{ form_errors(form.information) }} -
-
-
-
-
-
-
{{ form_label(form.accountType) }}
-
-
-
- {{ form_widget(form.accountType) }} -
- {{ form_errors(form.accountType) }} -
-
-
-
+
+
{{ form_row(form.kundenNr) }}
+
{{ form_row(form.defaultPayment) }}
+
{{ form_row(form.defaultShipment) }}
+
{{ form_row(form.account) }}
+
-
-
-
-
-
-
-
-
-
{{ 'Addressdata'|trans }}
-
-
-
-
-
-
- {{ form_label(form.company) }} -
-
- {{ form_widget(form.company) }} -
- {{ form_errors(form.company) }} -
-
-
-
-
- {{ form_label(form.company2) }} -
-
- {{ form_widget(form.company2) }} -
- {{ form_errors(form.company2) }} -
-
-
-
-
-
-
-
-
- {{ form_label(form.salutation) }} -
-
- {{ form_widget(form.salutation) }} -
- {{ form_errors(form.salutation) }} -
-
-
-
-
- {{ form_label(form.firstname) }} -
-
- {{ form_widget(form.firstname) }} -
- {{ form_errors(form.firstname) }} -
-
-
-
-
- {{ form_label(form.lastname) }} -
-
- {{ form_widget(form.lastname) }} -
- {{ form_errors(form.lastname) }} -
-
-
-
-
-
-
-
-
- {{ form_label(form.street) }} -
-
- {{ form_widget(form.street) }} -
- {{ form_errors(form.street) }} -
-
-
-
-
- {{ form_label(form.houseNumber) }} -
-
- {{ form_widget(form.houseNumber) }} -
- {{ form_errors(form.houseNumber) }} -
-
-
-
-
- {{ form_label(form.zip) }} -
-
- {{ form_widget(form.zip) }} -
- {{ form_errors(form.zip) }} -
-
-
-
-
- {{ form_label(form.city) }} -
-
- {{ form_widget(form.city) }} -
- {{ form_errors(form.city) }} -
-
-
-
-
-
-
-
-
- {{ form_label(form.ustid) }} -
-
- {{ form_widget(form.ustid) }} -
- {{ form_errors(form.ustid) }} -
-
-
-
-
- {{ form_label(form.district) }} -
-
- {{ form_widget(form.district) }} -
- {{ form_errors(form.district) }} -
-
-
-
-
- {{ form_label(form.state) }} -
-
- {{ form_widget(form.state) }} -
- {{ form_errors(form.state) }} -
-
+
+
{{ form_row(form.language) }}
+
{{ form_row(form.mwert, {'label': 'vat'|trans}) }}
+
{{ form_row(form.newsletter, {'label': 'newsletter'|trans}) }}
+
{{ form_row(form.accountType) }}
+
-
-
-
-
-
-
-
-
- {{ form_label(form.homepage) }} -
-
- {{ form_widget(form.homepage) }} -
- {{ form_errors(form.homepage) }} -
-
-
-
-
- {{ form_label(form.birthday) }} -
-
- {{ form_widget(form.birthday) }} -
- {{ form_errors(form.birthday) }} -
-
-
-
-
- {{ form_label(form.kostenstellung) }} -
-
- {{ form_widget(form.kostenstellung) }} -
- {{ form_errors(form.kostenstellung) }} -
-
-
-
-
-
-
-
-
-
- {{ form_label(form.function) }} -
-
- {{ form_widget(form.function) }} -
- {{ form_errors(form.function) }} -
-
-
-
-
- {{ form_label(form.abteilung) }} -
-
- {{ form_widget(form.abteilung) }} -
- {{ form_errors(form.abteilung) }} -
-
-
-
-
- {{ form_label(form.position) }} -
-
- {{ form_widget(form.position) }} -
- {{ form_errors(form.position) }} -
-
-
-
-
- {{ form_label(form.title) }} -
-
- {{ form_widget(form.title) }} -
- {{ form_errors(form.title) }} -
-
-
-
-
-
-
-
-
-
- {{ form_label(form.layouterEmail) }} -
-
- {{ form_widget(form.layouterEmail) }} -
- {{ form_errors(form.layouterEmail) }} -
-
-
-
-
- {{ form_label(form.layouterCountryCode) }} -
-
- {{ form_widget(form.layouterCountryCode) }} -
- {{ form_errors(form.layouterCountryCode) }} -
-
-
-
-
- {{ form_label(form.layouterCountryName) }} -
-
- {{ form_widget(form.layouterCountryName) }} -
- {{ form_errors(form.layouterCountryName) }} -
-
-
-
-
-
-
-
-
+
+
{{ form_row(form.country) }}
+
{{ form_row(form.vonwo) }}
+
{{ form_row(form.information) }}
+
+
+
-
-
-
-
{{ 'Contactdata'|trans }}
-
-
+ {# ═══════════════════════════════════════════════════════════════ + TAB: Adressdaten + ═══════════════════════════════════════════════════════════════ #} + -
-
-
-
-
-
-
{{ 'Bankdetails'|trans }}
-
-
-
-
-
- {{ form_label(form.bankKtoName) }} -
-
- {{ form_widget(form.bankKtoName) }} -
- {{ form_errors(form.bankKtoName) }} -
-
-
-
-
- {{ form_label(form.bankKTO) }} -
-
- {{ form_widget(form.bankKTO) }} -
- {{ form_errors(form.bankKTO) }} -
-
-
-
-
- {{ form_label(form.bankBLZ) }} -
-
- {{ form_widget(form.bankBLZ) }} -
- {{ form_errors(form.bankBLZ) }} -
-
-
-
-
-
-
- {{ form_label(form.bankIban) }} -
-
- {{ form_widget(form.bankIban) }} -
- {{ form_errors(form.bankIban) }} -
-
-
-
-
- {{ form_label(form.bankBic) }} -
-
- {{ form_widget(form.bankBic) }} -
- {{ form_errors(form.bankBic) }} -
-
-
-
-
- {{ form_label(form.bankName) }} -
-
- {{ form_widget(form.bankName) }} -
- {{ form_errors(form.bankName) }} -
-
-
-
-
-
-
-
-
{{ form_label(form.image) }}
-
-
-
- {{ form_widget(form.image) }} - {{ form_errors(form.image) }} -
-
- {{ form_widget(form.image2) }} - {{ form_errors(form.image2) }} -
-
-
-
-
-
-
-
-
-
{{ 'Orderview'|trans }}
-
-
- {{ form_label(form.showOtherOrders) }} -
- {{ form_widget(form.showOtherOrders) }} -
- {{ form_errors(form.showOtherOrders) }} -
-
-
- {{ form_label(form.showOtherOrdersAccountFilter) }} -
-
- {{ form_widget(form.showOtherOrdersAccountFilter) }} -
- {{ form_errors(form.showOtherOrdersAccountFilter) }} -
-
-
- {{ form_label(form.showOtherOrdersAccount) }} -
-
- {{ form_widget(form.showOtherOrdersAccount) }} -
- {{ form_errors(form.showOtherOrdersAccount) }} -
-
-
-
+
+
{{ form_row(form.salutation) }}
+
{{ form_row(form.firstname) }}
+
{{ form_row(form.lastname) }}
+
-
-
-
{{ 'Bulkorders'|trans }}
-
-
- {{ form_label(form.isSek) }} -
- {{ form_widget(form.isSek) }} -
- {{ form_errors(form.isSek) }} -
-
- {{ form_label(form.collectingOrders) }} -
- {{ form_widget(form.collectingOrders) }} -
- {{ form_errors(form.collectingOrders) }} -
-
-
-
- -
+
+
{{ form_row(form.street) }}
+
{{ form_row(form.houseNumber) }}
+
{{ form_row(form.zip) }}
+
{{ form_row(form.city) }}
+
-
-
-
{{ 'Caneditcompanies'|trans }}
-
-
-
- {{ form_widget(form.collectingOrdersAccounts) }} -
-
-
-
-
-
{{ 'Usergroups'|trans }}
-
-
-
- {{ form_widget(form.rolesForm) }} -
-
-
-
-
-
-
-
-
{{ 'Canorderintheseshops'|trans }}
-
-
-
- {{ form_widget(form.shops) }} -
-
-
-
-
-
-
-
{{ 'Mayadministerintheseshops'|trans }}
-
-
- {% for shop in contact.shopContact %} -
- {{ shop.shop.title }} -
-
- -
- {% endfor %} -
-
-
-
-
+
+
{{ form_row(form.ustid) }}
+
{{ form_row(form.district) }}
+
{{ form_row(form.state) }}
+
+
+ +
+
{{ form_row(form.homepage) }}
+
{{ form_row(form.birthday) }}
+
{{ form_row(form.kostenstellung) }}
+
+ +
+ +
+
{{ form_row(form.function) }}
+
{{ form_row(form.abteilung) }}
+
{{ form_row(form.position) }}
+
{{ form_row(form.title) }}
+
+ +
+ +
+
{{ form_row(form.layouterEmail) }}
+
{{ form_row(form.layouterCountryCode) }}
+
{{ form_row(form.layouterCountryName) }}
+
+
+ +
+ +
+
{{ 'Contactdata'|trans }}
+ +
{{ 'Phonenumber'|trans }}
+
+
{{ form_row(form.phoneAreaCode) }}
+
{{ form_row(form.phonePrefix) }}
+
{{ form_row(form.phone) }}
+
{{ form_row(form.phoneAppendix) }}
+
+ +
{{ 'mobilenumber'|trans }}
+
+
{{ form_row(form.mobileAreaCode) }}
+
{{ form_row(form.mobilePrefix) }}
+
{{ form_row(form.mobile) }}
+
{{ form_row(form.mobileAppendix) }}
+
+ +
{{ 'faxnumber'|trans }}
+
+
{{ form_row(form.faxAreaCode) }}
+
{{ form_row(form.faxPrefix) }}
+
{{ form_row(form.fax) }}
+
{{ form_row(form.faxAppendix) }}
+
+ +
{{ 'alternativenumber'|trans }}
+
+
{{ form_row(form.alternativAreaCode) }}
+
{{ form_row(form.alternativType) }}
+
{{ form_row(form.alternativ) }}
+
{{ form_row(form.alternativAppendix) }}
+
+
+ +
+
{{ 'Bankdetails'|trans }}
+
+
{{ form_row(form.bankKtoName) }}
+
{{ form_row(form.bankKTO) }}
+
{{ form_row(form.bankBLZ) }}
+
+
+
{{ form_row(form.bankIban) }}
+
{{ form_row(form.bankBic) }}
+
{{ form_row(form.bankName) }}
+
+
+ +
+
{{ form_label(form.image) }}
+
+
+ {{ form_widget(form.image) }} + {{ form_errors(form.image) }}
-
-
-
-
-
{{ 'Subproducts'|trans }}
-
-
- {{ form_widget(form.productsSub) }} -
-
-
-
-
{{ 'Products'|trans }}
-
-
- {{ form_widget(form.productsOrg) }} -
-
-
-
-
{{ 'Productgroups'|trans }}
-
-
- {{ form_widget(form.productGroups) }} -
-
-
-
-
{{ 'Paymentmethods'|trans }}
-
-
- {{ form_widget(form.payments) }} -
-
-
-
-
{{ 'Shippingmethods'|trans }}
-
-
- {{ form_widget(form.shippings) }} -
-
-
-
-
{{ 'CMS'|trans }}
-
-
- {{ form_widget(form.cms) }} -
-
-
+
+ {{ form_widget(form.image2) }} + {{ form_errors(form.image2) }} +
+
+
+
+ + {# ═══════════════════════════════════════════════════════════════ + TAB: Zugriffsrechte + ═══════════════════════════════════════════════════════════════ #} +