Abo Einmalprodukte: Phasen 5-7, konfigurierbare Sperrfristen, Lokalisierung & Dashboard
Rechnung/Lieferschein: - PDF-Gruppierung Abo- vs. Einmal-Artikel (is_abo_addon), rueckwaertskompatibel - Vorschau-Command sales:preview-invoice (umgeht Test-System-Gate, ohne Rechnungsnummer) Reminder-Mail (vorbereitet, Cron inaktiv): - MailAboExecutionReminder + Template, abo:send-execution-reminder, Spalte onetime_reminder_sent_for - Berater -> Sales Center, Kunde -> Portal; Vorschau abo:preview-reminder - Datum-Fix: formatDateDB() statt formatDate() (ICU-Format) Sperrfristen konfigurierbar (Admin-Settings): - abo-lock-days-change (Liefertag + Abo-Produkte), abo-lock-days-pause-cancel - Meldungen mit :lock-Platzhalter; Pausieren/Kuendigen vom Change-Lock entkoppelt - Abo-Produkt-Aenderungen im Lock-Fenster server- + clientseitig eingefroren - Selbstbedienung: Add-only/Lock nach $view (kein Admin-Bypass), Stale-Cache-Fix beim Mengen-Update Dashboard: - Einmalprodukte-Card + Team-Abo-KPI-Card, News-Card responsiv (col-xl-6) Lokalisierung: - Sprachdateien en/es/fr vollstaendig mit de synchronisiert (inkl. marketingplan/portal) - LocalizationSyncTest sichert Key-Gleichheit ab Tests: AboOneTimeInvoiceGrouping, AboExecutionReminder, AboLockDaysSetting, AboOnetimeDashboardAndMail, PreviewInvoiceCommand, TeamAboOverview + erweiterte View-Tests Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
9f996a7f1b
commit
65b867f8ee
96 changed files with 4154 additions and 1189 deletions
|
|
@ -53,7 +53,11 @@
|
|||
@include('admin.customer._customer_detail', ['shopping_user' => $customer_detail])
|
||||
</div>
|
||||
@php
|
||||
// Selbstbedienung: Add-only (Mindestlaufzeit) und Change-Lock richten sich nach der
|
||||
// Abo-Sicht ($view), NICHT nach Admin-Status. So gelten für VIP/Admin auf der eigenen
|
||||
// Abo-Seite dieselben Regeln wie für jeden Berater (kein Admin-Bypass).
|
||||
$addOnlyMode = App\Services\AboHelper::isAddOnlyMode($user_abo, $view);
|
||||
$aboChangeLocked = App\Services\AboHelper::isAboChangeLocked($user_abo, $view);
|
||||
@endphp
|
||||
{!! Form::open([
|
||||
'action' => route('user_abos_update', [$view, $user_abo->id]),
|
||||
|
|
@ -79,6 +83,7 @@
|
|||
'add_only_mode' => $addOnlyMode,
|
||||
'split_mode' => true,
|
||||
'summary' => $summary,
|
||||
'change_locked' => $aboChangeLocked,
|
||||
])
|
||||
</div>
|
||||
<div id="holder_html_view_comp_product">
|
||||
|
|
@ -98,7 +103,7 @@
|
|||
</div>
|
||||
@else
|
||||
<div class="card mt-3">
|
||||
@include('admin.abo._order_abo', ['add_only_mode' => $addOnlyMode])
|
||||
@include('admin.abo._order_abo', ['add_only_mode' => $addOnlyMode, 'change_locked' => $aboChangeLocked])
|
||||
</div>
|
||||
|
||||
<div id="holder_html_view_comp_product">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue