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>
118 lines
6.8 KiB
PHP
118 lines
6.8 KiB
PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>{{ __('email.abo_reminder_subject') }}</title>
|
|
<style type="text/css">
|
|
a { text-decoration: none; border: 0; outline: none; color: #919f7a; }
|
|
a:hover { color: #b6b600; }
|
|
td, h1, h2, h3 { font-family: Helvetica, Verdana, Arial, sans-serif; font-weight: 400; }
|
|
td { text-align: left; }
|
|
body { -webkit-font-smoothing: antialiased; width: 100%; height: 100%; color: #37302d; background: #ffffff; font-size: 15px; line-height: 26px; }
|
|
table { border-collapse: separate !important; }
|
|
.headline { color: #37302d; font-size: 18px; }
|
|
.force-full-width { width: 100% !important; }
|
|
</style>
|
|
</head>
|
|
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
|
<table align="left" cellpadding="0" cellspacing="0" width="100%" height="100%">
|
|
<tr>
|
|
<td align="left" valign="top" bgcolor="#f8f8f8" width="100%">
|
|
<br>
|
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
|
<tr>
|
|
<td align="left" valign="top">
|
|
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
|
<tr>
|
|
<td style="text-align:center;">
|
|
<center>
|
|
<picture style="text-align: center">
|
|
<img src="https://my.mivita.care/images/logo_mivita.png" alt="mivita.care" style="border:none" width="230">
|
|
</picture>
|
|
</center>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table cellpadding="10" style="padding: 10px;" cellspacing="0" border="0" width="100%" bgcolor="#ffffff">
|
|
<tr>
|
|
<td class="headline">
|
|
<b>{{ __('email.abo_reminder_title') }}</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="color:#37302d;line-height:1.6em;">
|
|
{{ $salutation }},
|
|
<br><br>
|
|
{{ trans_choice('email.abo_reminder_intro', $days, ['days' => $days, 'date' => $nextDate]) }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="color:#37302d;line-height:1.6em;">
|
|
<br>
|
|
{{ __('email.abo_reminder_onetime_hint') }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<table style="background-color: #f6fdf5; border: 2px solid #b5c49b; border-radius: 8px; margin: 20px 0;" cellpadding="15" cellspacing="0" width="100%">
|
|
<tr>
|
|
<td style="text-align: center; color: #37302d; font-size: 14px; line-height:1.6em;">
|
|
{{ __('email.abo_reminder_coverage_hint') }}
|
|
<br><br>
|
|
{{ __('email.abo_reminder_sustainability_hint') }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align: center; padding-top: 10px;">
|
|
<a href="{{ $link }}" style="display: inline-block; background: #FFCC00; color: #37302d; padding: 12px 24px; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 14px;">
|
|
@if($isConsultant)
|
|
{{ __('email.abo_reminder_button_consultant') }}
|
|
@else
|
|
{{ __('email.abo_reminder_button_customer') }}
|
|
@endif
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="color:#37302d;line-height:1.6em;">
|
|
<br>
|
|
{{ $greetings }}<br>
|
|
{{ $sender }}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<center>
|
|
<table cellpadding="0" cellspacing="0" class="force-full-width" bgcolor="#f8f8f8" style="margin: 0 auto; text-align: center;line-height:1.6em;">
|
|
<tr>
|
|
<td style="color:#7B7B7E; font-size:14px; text-align: center;line-height:1.6em;" align="center">
|
|
<p>{{__('email.footer_copy1')}}</p>
|
|
<br>
|
|
<a href="https://www.mivita.care" style="color: #7B7B7E; text-decoration: underline;">www.mivita.care</a>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="color:#bbbbbb; font-size:12px; text-align: center;line-height:1.6em;" align="center">
|
|
<p>{{__('email.footer_copy2')}}</p>
|
|
<a href="https://www.mivita.care/datenschutz">{{ __('dataprotect.data_protect') }}</a> <br>
|
|
<p>{{__('email.footer_copy3')}}</p>
|
|
<br><br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|