Entwicklungsplan September, B2 (Protokoll 08.09., Rueckmeldung 14.09., R3): - Ablauftag + 2 Kalendertage (Nachtlauf): Team, Kunden, Kundenabos und Portal-Logins gehen umkehrbar an den naechsten aktiven Sponsor, jede Umhaengung in consultant_suspension_transfers protokolliert. Kurzinfo an den Sponsor ohne Listen, keine Mail an das Firmenkonto. - Zahlung bis Tag 27: Berater aktiv, Team und Kundendaten zurueck (nur was noch beim Sponsor liegt); Umsaetze der Zwischenzeit bleiben dort. - Tag 28: was noch am Berater haengt geht endgueltig an den Sponsor, Berater wird dessen Kunde (ohne Duplikat) und geloescht; Listen-Mail mit Vorname, Nachname, Telefon, E-Mail an jeden haltenden Sponsor. - Cron, Zahlungseingang und Admin-Ablaufdatum laufen ueber ConsultantSuspensionService; user:cleanup --dry-run listet beide Stufen. - Mail 35 und Dashboard nennen Pausentag und Frist; Fristen in config/mivita.php (cleanup_suspend_days, cleanup_delete_days). - Nebenbefunde: Kernel referenziert UserCleanUp, user:restore aus der User-Bereinigung laeuft nur noch einmal. - Testschema: shopping_users.auth_user_id nullable wie auf Produktion (Migration aendert nur, wo die Spalte noch NOT NULL ist). - Uebersicht fuer die Kundin: dev/_tickets/2026-09-23-mitgliedschaft- ablauf-uebersicht.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
48 lines
No EOL
3.3 KiB
PHP
Executable file
48 lines
No EOL
3.3 KiB
PHP
Executable file
@if($user->active == 1 || ($user->payment_account && ! $user->isActiveAccount()))
|
|
@if($user->payment_account && $user->daysActiveAccount() <= config('mivita.remind_first_days'))
|
|
<div class="d-flex col-xl-12 align-items-stretch">
|
|
<div class="card w-100 mb-4">
|
|
<h5 class="card-header">
|
|
{{__('membership.home_hl') }}
|
|
</h5>
|
|
<div class="card-body">
|
|
@if($user->daysActiveAccount() <= 0)
|
|
@if($user->isActiveAccount())
|
|
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_35')}}</h5>
|
|
<p>{{__('membership.home_copy_last_35', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
|
@else
|
|
{{-- 35, 36 --}}
|
|
@if($user->daysActiveAccount() == 0)
|
|
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36_today', ['datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
|
@else
|
|
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36', ['days'=>$user->daysActiveAccount()*-1, 'datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
|
@endif
|
|
@php($suspension = app(\App\Services\ConsultantSuspensionService::class))
|
|
<p>{{__('membership.home_copy_last_36', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat(), 'suspend_date'=>$suspension->suspensionDateFor($user)?->format('d.m.Y'), 'deadline'=>$suspension->deadlineFor($user)?->format('d.m.Y')])}}</p>
|
|
@endif
|
|
@elseif($user->daysActiveAccount() < config('mivita.remind_last_days') )
|
|
{{-- 34 --}}
|
|
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
|
<p>{{__('membership.home_copy_last_34', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
|
@elseif($user->daysActiveAccount() < config('mivita.remind_sec_days'))
|
|
{{-- 33 --}}
|
|
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
|
<p>{{__('membership.home_copy_last_33', ['days'=>$user->daysActiveAccount()])}}</p>
|
|
@else
|
|
{{-- 31 --}}
|
|
<h5 class="alert badge-default">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
|
<p>{{__('membership.home_copy_last_31', ['days'=>$user->daysActiveAccount()])}}</p>
|
|
|
|
@endif
|
|
|
|
@if($user->isActiveAccount())
|
|
<p>{{ __('membership.renewal_consequence') }}</p>
|
|
@endif
|
|
</div>
|
|
<div class="card-footer py-3">
|
|
<a href="{{route('user_membership')}}" class="btn btn-info mb-3"><i class="ion ion-ios-refresh text-default mr-1"></i> {{ __('home.manage_membership_now_here') }}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@endif |