Die Erinnerungsmails vor Ablauf der Mitgliedschaft beschrieben noch den abgeschafften SEPA-Einzug und verlinkten auf die Hauptdomain, wo /user/membership nicht existiert. Das Produkt fuer die Verlaengerung war zudem dasselbe wie bei der Registrierung und sprach deshalb vom Neuabschluss. - Erinnerungen: nur noch Stufen 31/33/34/35, SEPA-Stufen 32/36/37 samt :price und :pay_date entfallen; Button verlinkt auf my.mivita.care; fehlt ein Text zum Status, wird die Mail geloggt statt roh versendet. - Alle Erinnerungstexte (de/en/es/fr) erklaeren jetzt, dass ohne Zahlung der Account pausiert und offene Provisionen ausgezahlt werden. - Eigenes Produkt fuer die Verlaengerung (identifier show_renewal) als Kopie des Mitgliedschafts-Produkts inkl. Preisen, Kategorien und Uebersetzungen fuer en/es/fr; die Mitgliedschaftsseite faellt ohne dieses Produkt auf das bisherige zurueck. - Mitgliedschaftsseite auf ein Paket reduziert: Upgrade-, Wechsel- und Abo-Optionen entfernt, Texte auf die manuelle Verlaengerung umgestellt. - Alte Cron-Weboberflaeche entfernt, der Versand laeuft ueber den Scheduler (payments:check-accounts). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
211 lines
11 KiB
PHP
211 lines
11 KiB
PHP
@extends('layouts.layout-2')
|
|
|
|
@section('content')
|
|
|
|
@if ($errors->any())
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<div class="alert alert-danger">
|
|
<ul>
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<h4 class="font-weight-bold py-2 mb-2">
|
|
{{ __('navigation.my_membership') }}
|
|
</h4>
|
|
<div class="row">
|
|
<div class="col order-2 order-md-1">
|
|
{{-- Verlaengerungsfenster: ab config('mivita.renewal_days') Tagen vor Ablauf ist die Zahlung moeglich.
|
|
Es gibt nur noch eine Mitgliedschaft: Zahlung eingegangen => +1 Jahr, sonst laeuft sie aus. --}}
|
|
@if($user->isRenewalAccount())
|
|
<div class="card w-100 mb-4">
|
|
<h5 class="card-header">{{ __('membership.renewal_hl') }}</h5>
|
|
<div class="card-body">
|
|
@if($user->isActiveAccount())
|
|
<p>{{ __('membership.renewal_info', ['datetime' => $user->getPaymentAccountDateFormat()]) }}</p>
|
|
@else
|
|
<p>{{ __('membership.renewal_expired_info', ['datetime' => $user->getPaymentAccountDateFormat()]) }}</p>
|
|
@endif
|
|
<p>{{ __('membership.renewal_consequence') }}</p>
|
|
|
|
@if($userHistoryPaymentOrder && $userHistoryPaymentOrder->status > 2)
|
|
<h6 class="alert badge-{{$userHistoryPaymentOrder->getStatusColor()}}">{{__('membership.payment_has_been_made') }} {{__('membership.status') }}: {{ trans('payment.status.'.$userHistoryPaymentOrder->getStatusType())}}</h6>
|
|
<h5 class="card-header bg-light">
|
|
<a href="#" data-toggle="collapse" data-target="#collapsePaymentForm" aria-expanded="false" aria-controls="collapsePaymentForm">
|
|
<i class="fa fa-caret-expand"></i> {{ __('membership.open_payment_options') }}
|
|
</a>
|
|
</h5>
|
|
<div class="collapse" id="collapsePaymentForm">
|
|
@include('user.membership._payment_order')
|
|
</div>
|
|
@else
|
|
<h6 class="alert badge-warning">{{ __('membership.alert_contract_renewal') }}</h6>
|
|
@include('user.membership._payment_order')
|
|
@endif
|
|
</div>
|
|
</div>
|
|
@elseif($user->payment_account && $user->isActiveAccount())
|
|
<div class="card w-100 mb-4">
|
|
<h5 class="card-header">{{ __('membership.renewal_hl') }}</h5>
|
|
<div class="card-body">
|
|
<p>{{ __('membership.active_info', ['datetime' => $user->getPaymentAccountDateFormat(), 'renewal_date' => $user->nextRenewalAccount()]) }}</p>
|
|
<p>{{ __('membership.renewal_consequence') }}</p>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
|
|
<div class="card w-100 mb-4">
|
|
<h5 class="card-header">Zahlungshistorie</h5>
|
|
<div class="card-body">
|
|
<p>
|
|
Die Zahlungshistorie zeigt Dir alle Zahlungen für Deine MIVITA Mitgliedschaft.
|
|
</p>
|
|
<div class="card-datatable table-responsive py-0">
|
|
<table class="datatables-style table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>#</th>
|
|
<th>{{__('tables.date')}}</th>
|
|
<th>{{__('tables.amount')}}</th>
|
|
<th>{{__('tables.payment')}}</th>
|
|
<th>{{__('tables.status')}}</th>
|
|
<th>{{__('tables.art')}}</th>
|
|
<th>{{__('tables.rf_no')}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($userShoppingOrders as $value)
|
|
<tr>
|
|
<td>
|
|
<a href="{{ route('user_order_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
|
<span class="fa fa-edit"></span>
|
|
</a>
|
|
</td>
|
|
<td>{{ $value->created_at->format("d.m.Y") }}</td>
|
|
<td>{{ $value->getFormattedTotalShipping() }}€</td>
|
|
<td>{{ $value->getLastShoppingPayment('getPaymentType') }}</td>
|
|
<td>{!! \App\Services\Payment::getShoppingOrderBadge($value) !!}</td>
|
|
<td>{!! App\Services\Payment::getPaymentForBadge($value) !!}</td>
|
|
<td>{{ $value->getLastShoppingPayment('reference') }}</td>
|
|
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if($user->payment_account)
|
|
<div class="card w-100 mb-4">
|
|
{!! Form::open(['action' => route('user_membership_store', ['delete_membership']), 'class' => 'form-horizontal']) !!}
|
|
<h5 class="card-header">{{__('membership.membership')}} {{__('membership.end')}}</h5>
|
|
|
|
<div class="card-body">
|
|
|
|
<p>{{__('membership.end_copy_1')}}<br>
|
|
{{__('membership.end_copy_2')}}</p>
|
|
|
|
@if($userHistoryDeleteMembership && $userHistoryDeleteMembership->status == 50)
|
|
<p class="alert py-2 px-2 badge-danger">{{__('membership.end_copy_3')}}<br>
|
|
@else
|
|
<label class="custom-control custom-checkbox">
|
|
<input type="checkbox" class="custom-control-input" name="delete_membership_mivita">
|
|
<span class="custom-control-label secondary">{{__('membership.end_checkbox')}}</span>
|
|
</label>
|
|
<button type="submit" class="btn btn-default btn-sm">{{__('membership.end_button')}}</button>
|
|
@endif
|
|
</div>
|
|
{!! Form::close() !!}
|
|
|
|
</div>
|
|
@endif
|
|
|
|
</div>
|
|
<div class="col-md-5 col-xl-4 order-1 order-md-2">
|
|
<div class="card mb-4">
|
|
<h5 class="card-header">{{__('membership.membership')}} {{__('membership.details')}}</h5>
|
|
<ul class="list-group list-group-flush">
|
|
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.booked_package')}}</div>
|
|
<div class="text-right">
|
|
@if($user->payment_order_id)
|
|
{{ $user->payment_order_product->getLang('name') }}
|
|
@endif
|
|
</div>
|
|
</li>
|
|
@if($user->payment_account && ! $user->isRenewalAccount())
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.renewal_possible_from')}}</div>
|
|
<div class="text-right">
|
|
{{ $user->nextRenewalAccount() }}
|
|
</div>
|
|
</li>
|
|
@endif
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{ __('membership.consultant_membership') }}</div>
|
|
<div class="text-right">
|
|
@if($user->isActiveAccount() )
|
|
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ __('membership.active') }}</span>
|
|
@else
|
|
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i> {{ __('membership.inactive') }}</span>
|
|
@endif
|
|
</div>
|
|
</li>
|
|
@if($user->isActiveAccount() )
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.until')}}</div>
|
|
<div class="text-right">
|
|
{{ $user->getPaymentAccountDateFormat() }}
|
|
</div>
|
|
</li>
|
|
@else
|
|
@if($user->payment_account)
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.expired_on')}}</div>
|
|
<div class="text-right">
|
|
{{ $user->getPaymentAccountDateFormat() }}
|
|
</div>
|
|
</li>
|
|
@endif
|
|
@endif
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{ __('membership.consultant_online_shop') }}</div>
|
|
<div class="text-right">
|
|
@if($user->isActiveShop() )
|
|
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ __('membership.active') }}</span>
|
|
@else
|
|
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i> {{ __('membership.inactive') }}</span>
|
|
@endif
|
|
</div>
|
|
</li>
|
|
@if($user->isActiveShop() )
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.until')}}</div>
|
|
<div class="text-right">
|
|
{{ $user->getPaymentShopDateFormat() }}
|
|
</div>
|
|
</li>
|
|
@else
|
|
@if($user->payment_shop)
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<div class="text-muted">{{__('membership.expired_on')}}</div>
|
|
<div class="text-right">
|
|
{{ $user->getPaymentShopDateFormat() }}
|
|
</div>
|
|
</li>
|
|
@endif
|
|
@endif
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@endsection
|