User-Panel-Restarbeiten: PM-Guard, Profil-Rework, USt-ID-Prüfung, Buchungspflicht-Adresse
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
036a53499f
commit
afcca34f91
25 changed files with 905 additions and 140 deletions
|
|
@ -5,6 +5,44 @@
|
|||
|
||||
---
|
||||
|
||||
## 2026-06-12 · User-Panel-Restarbeiten (Kevins Liste) ✅
|
||||
|
||||
- **Was**: Alle Punkte aus `docs/user-admin/User-Panel-Restarbeiten.md`
|
||||
(Status-Tabelle dort): (1) PM-Anlage ohne Firma zeigt eine Meldung mit
|
||||
„Firma anlegen"-Button statt des leeren Editors. (2) Profil-Seite neu
|
||||
gegliedert (Persönliche Daten / Konto / Rechnungsadresse / Einstellungen);
|
||||
Rechnungsadresse vervollständigt um Anrede, Vorname, Nachname,
|
||||
Firmenname (Migration `billing_addresses` + Snapshot-Spalte `company`
|
||||
in `invoice_billing_addresses`, von MAN-Lauf und STR-Spiegelung
|
||||
durchgereicht); „Persönliche Daten übernehmen"-Button gegen die
|
||||
Doppel-Eingabe. (3) Doppelte Validierungsmeldung behoben: fehlende
|
||||
Pflichtfelder melden einzeln unter dem Feld. (4) USt-ID-Validierung:
|
||||
Formatprüfung sofort (hartes Speicher-Gate) + eVatR-Online-Bestätigung
|
||||
(BZSt-REST-API, neuer `VatIdValidationService`, ENV `BILLING_OWN_VAT_ID`,
|
||||
6h-Cache nur für definitive Ergebnisse, Ausfälle degradieren sanft).
|
||||
(5) Rechnungsadresse ist Pflicht für jeden Checkout (Redirect aufs
|
||||
Profil mit Hinweis); USt-ID wird als Stripe-Tax-ID übergeben.
|
||||
(6) Firmenübersicht zeigt Logos auch für Legacy-Firmen (zentrale
|
||||
logoUrl-Auflösung statt verkürzter Fast-Variante); „Letzte PM" mit
|
||||
Jahreszahl. (7) Checkboxen → Flux-Switches (Boilerplate-Override,
|
||||
Footer-Code); Token-Abilities bleiben Checkbox-Gruppe. Befund zu den
|
||||
Profil-Schaltern: `show_stats`/`disable_footer_code` werden noch
|
||||
nirgends ausgewertet (greifen mit Web-Relaunch) — steht jetzt in den
|
||||
Beschreibungen.
|
||||
- **Dateien**: `customer/profile.blade.php` (Neufassung),
|
||||
`customer/press-releases/create.blade.php` (Guard),
|
||||
`customer/press-kits/index.blade.php` (Logo/Datum),
|
||||
`app/Services/Billing/VatIdValidationService.php` (neu) +
|
||||
`VatIdCheckStatus`-Enum, `VatResolver` (isPlausibleVatId public),
|
||||
`StripeCheckoutService` (Tax-ID-Sync), `CheckoutController` (Guard),
|
||||
`User::hasCompleteBillingAddress()`, `BillingAddress::isComplete()`,
|
||||
Migration, `config/billing.php` (`own_vat_id`).
|
||||
- **Build/Test**: Suite 546 passed / 4 skipped, Pint clean; 14 neue Tests
|
||||
(VatId-Service, PM-Guard, Profil-Validierung, Checkout-Guard).
|
||||
- **Offene Fragen**: `BILLING_OWN_VAT_ID` in .env setzen (eigene USt-ID),
|
||||
sonst bleibt die Online-Prüfung aus; Entscheidung zu den beiden
|
||||
Profil-Schaltern (behalten vs. bis Relaunch ausblenden).
|
||||
|
||||
## 2026-06-12 · Responsive-Härtung (Block 3, Punkt 1) ✅
|
||||
|
||||
- **Was**: Systemische Responsive-Fehler behoben (Screenshots in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue