Cron Jobs, Reminder, Fonts, Members / Wizard / Price, Credit and Promotion

This commit is contained in:
Kevin Adametz 2023-01-25 12:42:41 +01:00
parent a0f4eda6ea
commit 6167273a48
204 changed files with 8746 additions and 215 deletions

View file

@ -3,7 +3,7 @@
return array (
'subject' => 'Deine Mitgliedschaft bei gruene-seele.bio',
'button_31' => 'MITGLIEDSCHAFT VERLÄNGERN',
'copy_first_31' => '<p>wir wollten Dir jetzt schon mal rechtzeitig Bescheid geben, dass Deine Mitgliedschaft zum :datetime ausläuft. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin</p>
'copy_first_31' => '<p>wir wollten Dir jetzt schon mal rechtzeitig Bescheid geben, dass Deine Mitgliedschaft zum :datetime ausläuft. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin</p>
<ul>
<li>Produkte von gruene-seele.bio beziehen kannst</li>
<li>Kunden über Deinen Onlineshop einkaufen können (optional)</li>
@ -24,7 +24,7 @@
<p>Für den Fall, dass Du erstmal nicht verlängern möchtest, wird Dein Account solange pausiert bis Du Deine Mitgliedschaft erneuerst. Beachte aber bitte, dass alle Vorteile und Funktionen, vom vergünstigten Einkaufen bis hin zur Provisionsabrechnung ebenfalls pausieren.</p>',
'copy_last_32' => '',
'button_33' => 'MITGLIEDSCHAFT VERLÄNGERN',
'copy_first_33' => '<p>hier nochmal eine kurze Erinnerung, dass Deine Mitgliedschaft zum :datetime ausläuft. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin</p>
'copy_first_33' => '<p>hier nochmal eine kurze Erinnerung, dass Deine Mitgliedschaft zum :datetime ausläuft. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin</p>
<ul>
<li>Produkte von gruene-seele.bio beziehen kannst</li>
<li>Kunden über Deinen Onlineshop einkaufen können (optional)</li>
@ -34,7 +34,7 @@
<p>Wir senden Dir schon ganz bald eine weitere Erinnerung zu, aber dann hast Du es jetzt schon mal im Hinterkopf. Falls Du jetzt schon für den Anschluss um 1 Jahr verlängern möchtest, kannst Du das mit Klick auf den Button unten tun. Was weg ist, ist weg :) ...</p>',
'copy_last_33' => '',
'button_34' => 'MITGLIEDSCHAFT VERLÄNGERN',
'copy_first_34' => '<p>huiii... jetzt wird es aber Zeit! Deine Mitgliedschaft läuft bereits in :days Tagen aus, und zwar exakt am :datetime. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und Deine Mitgliedschaft verlängern, da Dein Account sonst pausiert.</p>
'copy_first_34' => '<p>huiii... jetzt wird es aber Zeit! Deine Mitgliedschaft läuft bereits in :days Tagen aus, und zwar exakt am :datetime. Daher solltest Du jetzt aktiv werden und Deine Mitgliedschaft verlängern, da Dein Account sonst pausiert.</p>
<p>Wenn Du weiterhin</p>
<ul>
<li>Produkte von gruene-seele.bio beziehen</li>
@ -44,19 +44,19 @@
<p>solltest Du jetzt schnell handeln und Deine Mitgliedschaft verlängern:</p>',
'copy_last_34' => '',
'button_35' => 'MITGLIEDSCHAFT VERWALTEN',
'copy_first_35' => '<p>wie angekündigt, haben wir Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.</p>
'copy_first_35' => '<p>wie angekündigt, haben wir Deinen Vertriebspartne-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.</p>
<p>Klick auf den Button, falls Du Änderungen an Deiner Mitgliedschaft vornehmen möchtest:</p>',
'copy_last_35' => '<p><b>Hinweis:</b><br>Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an service@gruene-seele.bio. Unser Berater-Service wird sich dann umgehend darum kümmern.</p>
'copy_last_35' => '<p><b>Hinweis:</b><br>Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an service@gruene-seele.bio. Unser Vertriebspartne-Service wird sich dann umgehend darum kümmern.</p>
<p>Wir hoffen, Dich ganz bald wieder als aktives Mitglied der gruene-seele.bio Family begrüßen zu dürfen.</p>',
'button_36' => 'MITGLIEDSCHAFT VERWALTEN',
'copy_first_36' => '<p>leider war es uns nicht möglich, den fälligen Betrag für die Mitgliedsgebühr von Deinem angegebenen Konto einzuziehen.</p>
<p>Wie angekündigt, haben wir daher heute Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft damit nicht rechtzeitig verlängern konntest. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit auch über eine andere Zahlungsweise reaktivieren (z. B. Paypal, Kreditkarte, SOFORT Überweisung oder Vorauskasse).</p>
<p>Klick dazu einfach auf folgenden Button und nimm entsprechende Einstellungen in Deinem Berater-Account vor:</p>',
'copy_last_36' => '<p><b>Hinweis:</b><br>Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an serive@gruene-seele.bio. Unser Berater-Service wird sich dann umgehend darum kümmern.</p>
<p>Wie angekündigt, haben wir daher heute Deinen Vertriebspartne-Account pausiert, da Du Deine Mitgliedschaft damit nicht rechtzeitig verlängern konntest. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit auch über eine andere Zahlungsweise reaktivieren (z. B. Paypal, Kreditkarte, SOFORT Überweisung oder Vorauskasse).</p>
<p>Klick dazu einfach auf folgenden Button und nimm entsprechende Einstellungen in Deinem Vertriebspartne-Account vor:</p>',
'copy_last_36' => '<p><b>Hinweis:</b><br>Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an serive@gruene-seele.bio. Unser Vertriebspartne-Service wird sich dann umgehend darum kümmern.</p>
<p>Wir hoffen, Dich ganz bald wieder als aktives Mitglied der gruene-seele.bio Family begrüßen zu dürfen.</p>',
'button_37' => 'MITGLIEDSCHAFT VERWALTEN',
'copy_first_37' => '<p>wie angekündigt, haben wir heute gemäß Deines SEPA-Lastschriftmandates den Einzug von :price für ein weiteres Jahr der Mitgliedschaft bei gruene-seele.bio veranlasst. Dieser Rechnungsbetrag wird in den nächsten Tagen von Deinem Konto abgebucht. Bitte beachte, dass die Verlängerung erst nach Zahlungseingang aktiv ist.</p>
<p>Falls Du in Zukunft Änderungen vornehmen möchtest, kannst Du alle Funktionen sowie die Mitgliedschaft in Deinem Berater-Account einstellen.</p>
<p>Falls Du in Zukunft Änderungen vornehmen möchtest, kannst Du alle Funktionen sowie die Mitgliedschaft in Deinem Vertriebspartne-Account einstellen.</p>
<p>Folge dazu einfach dem unten stehenden Button:</p>',
'copy_last_37' => '',
);

View file

@ -235,8 +235,6 @@
@if($user->active == 1)
@if($user->files->count())
@foreach($user->files()->whereIdentifier('contract')->get() as $file)
<a class="btn btn-secondary btn-block mb-3" href="{{ route('storage_file', [$file->id, 'user']) }}" target="_blank"><i class="ion ion-ios-download text-default mr-1"></i> MIVITA_Vertriebspartnervertrag.pdf</a>
<hr class="mb-3">
@endforeach
@endif
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>

View file

@ -10,7 +10,7 @@
<div class="form-group col-md-4">
<label class="form-label">{{ __('Rolle') }}</label>
<select class="selectpicker" data-style="btn-light" name="m_level" id="m_level">
{!! HTMLHelper::getUserLevelOptions($user->m_level) !!}
{!! HTMLHelper::getUserLevelOptions($user->m_level, false) !!}
</select>
</div>
<div class="form-group col-md-4">

View file

@ -29,11 +29,13 @@
@if($user->active == 1)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Daten vollständig, freigeschaltet')}}</strong>: {{ $user->getActiveDateFormat() }}</p>
{{--
@if($user->files->count())
@foreach($user->files()->whereIdentifier('contract')->get() as $file)
<a class="btn btn-secondary" href="{{ route('storage_file', [$file->id, 'user']) }}" target="_blank">Vertriebspartnervertrag.pdf</a>
@endforeach
@endif
--}}
@else
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
<strong>{{__('Daten nicht vollständigt, inaktiv')}}</strong></p>
@ -68,7 +70,7 @@
@if(!$user->active)
<hr>
@if($user->release_account)
<strong>Registrierung abgeschlossen {{ $user->getReleaseAccountFormat() }}</strong><br>
<strong>Registrierung abgeschlossen {{ $user->getReleaseAccountFormat() }}</strong>
<a href="{{route('admin_lead_released', ['completed', $user->id])}}" class="btn btn-success" onclick="return confirm('Alle Daten vollständig und Vertriebspartner freischalten?');">Die Daten sind vollständigt => Vertriebspartner freischalten</a>
<button type="button" class="btn btn-sm btn-danger float-right" data-toggle="modal" data-target="#modals-register-m-data">
Vertriebspartner eine E-Mail senden => Daten nicht vollständigt
@ -77,6 +79,47 @@
<strong><span class="text-danger">Vertriebspartner muss Registrierung noch abschließen</span></strong>
@endif
@endif
@if($user->wizard !== 100)
<hr>
<div class="row">
<div class="col-sm-6">
<h5>Registrierungsprozess</h5>
@if($user->wizard === 0)
<strong>Vertrag zustimmen</strong>
@endif
@if($user->wizard === 1)
<strong>Daten anpassen</strong>
@endif
@if($user->wizard === 2)
<strong>Ausweis hochladen</strong>
@endif
@if($user->wizard === 3)
<strong>Gewerbeschein hochladen</strong>
@endif
@if($user->wizard === 4)
<strong>Paket Auswählen</strong>
@endif
@if($user->wizard === 5)
<strong>Wartet auf Überprüfung</strong><br>
<a href="{{route('admin_lead_released', ['reset_switch', $user->id])}}" class="btn btn-danger btn-sm" onclick="return confirm('Wirklich zurücksetzen?');">Vertriebspartner zurücksetzen / Paket auswählen</a>
@endif
@if($user->wizard === 20)
<strong>Registrierung abschließen / Paket Zahlung</strong><br>
<a href="{{route('admin_lead_released', ['reset_switch', $user->id])}}" class="btn btn-danger btn-sm" onclick="return confirm('Wirklich zurücksetzen?');">Vertriebspartner zurücksetzen / Paket auswählen</a>
@endif
</div>
<div class="col-sm-6">
@if($user->active && $user->wizard < 20)
<h5>Account ist aktiv</h5>
<a href="{{route('admin_lead_released', ['unlock', $user->id])}}" class="btn btn-warning btn-sm" onclick="return confirm('Alle Daten vollständig und Vertriebspartner freischalten?');">Vertriebspartner erneut freischalten</a>
@endif
</div>
</div>
@endif
</div>
</div>
<hr>

View file

@ -39,6 +39,7 @@
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="content" class="form-label">{{__('Beschreibung')}}</label>
@ -56,22 +57,29 @@
<span class="custom-control-label">Bekommt Provision von seinen Vertriebspartner</span>
</label>
<em>Auch immer die Provision bei den Staffelpreisen eintragen!<br>Die Provision wird beim Käufer berechnet und nur ein Sponsor mit der Rolle wo diese Checkbox aktiv ist bekommt die Provison gutgeschrieben.</em>
</div>
</div>
<div class="form-group col-12">
<label class="custom-control custom-checkbox m-2">
{!! Form::checkbox('payment_year', 1, $value->payment_year, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">Zahlung der Jahresmitgliedschaft</span>
</label>
<em>Der Preis liegt beim Produkt (Registrierung / Mitgliedschaft), ist die Option hier deaktiviert wird keine Jahresgebühr berechnet. Die Mitgliedschaft wird immer um 1 Jahr verlängert.</em>
</div>
<div class="form-row">
<div class="form-group col-6">
<div class="form-group col-12">
<label class="custom-control custom-checkbox m-2">
{!! Form::checkbox('active', 1, $value->active, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('active')}}</span>
</label>
</div>
<div class="form-group col-6">
<label for="pos" class="form-label">{{__('Pos')}}</label>
{{ Form::text('pos', $value->pos, array('placeholder'=>__('Number to move the position if necessary'), 'class'=>'form-control')) }}
</div>
</div>
@if(isset($trans))
<hr>
@foreach($trans as $tran)

View file

@ -12,7 +12,7 @@
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Pos')}}</th>
<th>{{__('Description')}}</th>
<th>{{__('Translate') }}</th>
<th>{{__('Jahresgebühr') }}</th>
<th>{{__('Status')}}</th>
</tr>
</thead>
@ -35,7 +35,7 @@
</td>
<td>{{ $value->pos }}</td>
<td>{{ $value->name }}</td>
<td>{{ $value->getTranNames() }}</td>
<td data-sort="{{ $value->payment_year }}">{!! get_active_badge($value->payment_year) !!}</td>
<td data-sort="{{ $value->active }}">{!! get_active_badge($value->active) !!}</td>
</tr>
@endforeach

View file

@ -110,11 +110,27 @@
{!! Form::textarea('settings[promotion_user_url_profanity][val]', \App\Models\Setting::getContentBySlug('promotion_user_url_profanity'), array('class'=>'form-control', 'rows'=>3)) !!}
{{ Form::hidden('settings[promotion_user_url_profanity][type]', 'full_text') }}
</div>
</div>
<button type="submit" name="action" value="save_prepayment" class="btn btn-primary btn-sm mb-2"><i class="ion ion-ios-save"></i> speichern</button>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-body">
<h4>Inhalte</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label">AGB Vertriebspartner für GRÜNE SEELE Naturkosmetik</label>
{!! Form::textarea('settings[partner_gs_contract_de][val]', \App\Models\Setting::getContentBySlug('partner_gs_contract_de'), array('class'=>'form-control', 'rows'=>10)) !!}
{{ Form::hidden('settings[partner_gs_contract_de][type]', 'full_text') }}
</div>
</div>
<button type="submit" name="action" value="save_prepayment" class="btn btn-primary btn-sm mb-2"><i class="ion ion-ios-save"></i> speichern</button>
</div>
</div>
{!! Form::close() !!}
@endsection

View file

@ -149,9 +149,11 @@
</h5>
<div class="card-body">
@if($user->isActiveAccount() )
<div class="badge btn-success p-2">
<div class="badge btn-success p-2 mb-1">
<i class="ion ion-md-checkmark-circle-outline text-white"></i>
<strong>{{__('Vertriebspartner-Mitgliedschaft aktiv')}}</strong> {{__('bis zum:')}} <strong></strong>{{ $user->getPaymentAccountDateFormat() }}</div>
<strong>{{__('Vertriebspartner-Mitgliedschaft aktiv')}}</strong> {{__('bis zum:')}} {{ $user->getPaymentAccountDateFormat() }}
</div>
<p class="small">automatische Vertragsverlängerung am {{ $user->nextRenewalAccount() }}</p>
<hr>
<p><span class="ion ion-md-checkmark-circle-outline text-success"></span>
<strong>{{__('Aktive Rolle')}}:</strong>
@ -258,13 +260,9 @@
@endif
</div>
@if($user->active == 1)
@if($user->files->count())
@foreach($user->files()->whereIdentifier('contract')->get() as $file)
<div class="card-footer pt-3">
<a class="btn btn-secondary btn-block" href="{{ route('storage_file', [$file->id, 'user']) }}" target="_blank"><i class="ion ion-ios-download text-default mr-1"></i> Vertriebspartnervertrag.pdf</a>
</div>
@endforeach
@endif
<div class="card-footer pt-3">
<button type="button" class="btn btn-secondary btn-block" data-toggle="modal" data-target="#modal-partner_gs_contract_de">AGB Vertriebspartner</button>
</div>
@endif
</div>
</div>
@ -332,4 +330,25 @@
</div>
<hr class="container-m-nx mt-0 mb-4">
<div class="modal fade" id="modal-partner_gs_contract_de">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
{!! \App\Models\Setting::getContentBySlug('partner_gs_contract_de') !!}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
</div>
</div>
</div>
</div>
@endsection

View file

@ -13,8 +13,7 @@
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('/fonts/nunito.css') }}">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">

View file

@ -12,7 +12,7 @@
<link rel="icon" type="image/x-icon" href="favicon.ico">
<meta name="csrf-token" content="{{ csrf_token() }}">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('/fonts/roboto.css') }}">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ mix('/vendor/fonts/fontawesome.css') }}">

View file

@ -786,7 +786,7 @@
</div>
<hr />
@if(Yard::instance('shopping')->getPaymentCredit())
@if(Yard::instance('shopping')->reducePaymentCredit())
<div class="clearfix mb-2">
<span class="pull-right">{{ Yard::instance('shopping')->totalWithShippingWithoutCredit() }} </span>
<span class="pull-left">Summe:</span>

View file

@ -20,7 +20,8 @@
<div class="container-p-x py-4 bg-light rounded mb-2" >
<div class="" style="max-height: 400px; overflow-y: auto">
{!! File::get(public_path('pdf/gs_contract_de.php')); !!}
{{-- {!! File::get(public_path('pdf/gs_contract_de.php')); !!} --}}
{!! \App\Models\Setting::getContentBySlug('partner_gs_contract_de') !!}
</div>
</div>

View file

@ -144,8 +144,7 @@
</div>
{!! Form::close() !!}
<script>
$( document ).ready(function() {

View file

@ -253,7 +253,7 @@
{{ Yard::instance('shopping')->taxWithShipping() }}
</td>
</tr>
@if(Yard::instance('shopping')->getPaymentCredit())
@if(Yard::instance('shopping')->reducePaymentCredit())
<tr>
<td class="text-left"><strong>Summe (Brutto):</strong></td>
<td>
@ -290,8 +290,22 @@
<div class="float-right">
<button type="submit" class="btn btn-secondary"><i class="ion ion-ios-redo"></i> bestätigen und weiter zur Kasse</button>
</div>
@if(Yard::instance('shopping')->getPaymentCredit())
@if(Yard::instance('shopping')->hasActivePromotion())
<span class="badge badge-warning">Guthaben kann bei der Bestellung nicht verrechnet werden, Promotion ist aktiv</span>
@else
<label class="switcher switcher-square switcher-secondary">
<input type="checkbox" class="switcher-input" name="switch_reduce_payment_credit" id="switch_reduce_payment_credit" value="1" @if(Yard::instance('shopping')->getReducePaymentCredit()) checked @endif >
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Mein Guthaben bei der Bestellung verrechnen</span>
</label>
@endif
@endif
<br><br>
<em class="small text-center"> <i class="fa fa-lock"></i> Du wirst auf unseren checkout weitergeletet, die Verbindung ist SSL verschlüsselt.</em>
@endif
@endif
@endif