first commit

This commit is contained in:
Kevin Adametz 2021-01-08 17:48:20 +01:00
commit 0baac018a2
1011 changed files with 145854 additions and 0 deletions

View file

@ -0,0 +1,113 @@
@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">
@if(!$user->id || $user->id === 'new')
{{ __('Neuen Berater erstellen') }}
@else
{{ __('Berater bearbeiten') }}
@endif
</h4>
{!! Form::open(['url' => route('admin_lead_store')."?show=".$show, 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<div class="text-left mt-0 mb-2">
<button type="submit" class="btn btn-submit btn-primary">{{ __('save') }}</button>&nbsp;
<a href="{{ route('admin_leads') }}" class="btn btn-default">{{ __('back') }}</a>
</div>
@include('admin.lead.m_register_data')
@if(!$user->id || $user->id === 'new')
@include('user.user_new_form')
@include('user.data_verify')
@else
@include('user.user_form')
@endif
<div class="text-left mt-3">
<button type="submit" class="btn btn-submit btn-primary">{{ __('save') }}</button>&nbsp;
<a href="{{ route('admin_leads') }}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
<!-- Modal template -->
<div class="modal fade" id="modals-edit-m-data">
<div class="modal-dialog">
<form class="modal-content" action="{{route('admin_lead_edit', [$user->id])}}?show={{$show}}" method="post">
@csrf
<div class="modal-header">
<h5 class="modal-title"> {{__('Daten mivita')}} <span class="font-weight-light">{{__('edit')}}</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">{{__('Passwort eingeben')}}</label>
<input type="text" class="form-control" name="edit_m_data_key" placeholder="gseele">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('öffnen')}}</button>
</div>
</form>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-register-m-data">
<div class="modal-dialog">
<form class="modal-content" action="{{route('admin_lead_released', ['incomplete', $user->id])}}?show={{$show}}" method="post">
@csrf
<div class="modal-header">
<h5 class="modal-title"> {{__('Berater Daten nicht vollständig')}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<p>Berater eine E-Mail senden, dass die Daten nicht vollständig sind?<br>
Vervollständige die Nachricht welche Daten fehlerhaft sind, die Nachricht wird an den Berater gesendet. Anrede, Links, Absender wird automatisch in die E-Mail eingefügt. </p>
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">{{__('Betreff')}}</label>
<input type="text" class="form-control" name="account_incomplete_subject" value="{{__('email.email_incomplete')}}">
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">{{__('Nachricht')}}</label>
<textarea name="account_incomplete_message" class="form-control" rows="6">{{__('email.account_incomplete_copy1line')}}</textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
@endsection

View file

@ -0,0 +1,75 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-2 mb-2">
{{ __('Berater') }}
</h4>
<div class="card">
<div class="card-datatable table-responsive">
{{-- <div class="ml-4">
<a href="{{ route('admin_lead_edit', ['new']) }}" class="btn btn-sm btn-primary">{{__('Neuen Berater erstellen')}}</a>
</div>--}}
<table class="datatables-leads table table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th>{{__('E-Mail')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname')}}</th>
<th>{{__('Level')}}</th>
<th>{{__('Mitglied')}}</th>
<th>{{__('bis')}}</th>
<th>{{__('Umsatz')}}</th>
<th>{{__('Sales')}}</th>
<th>{{__('verifiziert')}}</th>
<th>{{__('freigegeben')}}</th>
<th>{{__('Einv.')}}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
{{-- <div class="mt-4 ml-4">
<a href="{{ route('admin_lead_edit', ['new']) }}" class="btn btn-sm btn-primary">{{__('Neuen Berater erstellen')}}</a>
</div> --}}
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-leads').dataTable({
"processing": true,
"serverSide": true,
"ajax": '{!! route('admin_leads_datatable') !!}',
"order": [[0, "desc" ]],
"columns": [
{data: 'id', searchable: false},
{ data: 'email', name: 'email' },
{ data: 'first_name', name: 'account.first_name' },
{ data: 'last_name', name: 'account.last_name' },
{ data: 'user_level', name: 'user_level' },
{ data: 'payment_account', name: 'payment_account' },
{ data: 'payment_account_date', name: 'payment_account_date' },
{ data: 'turnover', name: 'turnover' },
{ data: 'sales_total', name: 'sales_total' },
{ data: 'confirmed', name: 'confirmed' },
{ data: 'active', name: 'active' },
{ data: 'agreement', name: 'agreement' },
],
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,49 @@
@if($m_data_error)
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
<li>{{ $m_data_error }}</li>
</ul>
</div>
</div>
</div>
@endif
<div class="card-body">
<div class="float-right">
<button type="button" class="btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-edit-m-data">
<span class="far fa-edit"></span> Berater Daten bearbeiten
</button>
</div>
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>{{ __('Name') }}</th>
<th>{{ __('Account ID') }}</th>
<th>{{ __('Rolle') }}</th>
<th>{{ __('Sponsor') }}</th>
</tr>
<tr>
<td>{{ \App\Services\HTMLHelper::getSalutationLang($user->account->m_salutation) }} {{ $user->account->m_first_name }} {{ $user->account->m_last_name }}</td>
<td>{{ $user->account->m_account }}</td>
<td>@if($user->user_level){{ $user->user_level->name }}@endif</td>
<td>@if($user->m_sponsor){{ $user->getMUserSponsor() }}@endif</td>
</tr>
</tbody>
</table>
<table class="table card-table m-0">
<tbody>
<tr>
<th>{{ __('weitere Daten') }}</th>
</tr>
<tr>
<td>{{$user->account->m_notes}}</td>
</tr>
</tbody>
</table>
</div>
</div>

View file

@ -0,0 +1,49 @@
<input type="hidden" name="m_data_edit" value="TSOK">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-4">
<label for="m_account" class="form-label">{{ __('Account ID') }} (unique)</label>
<span class="badge badge-secondary float-right">Nächste freie ID: {{$next_account_id}}</span>
{{ Form::text('m_account', $user->account->m_account, array('placeholder'=>__('Account ID'), 'class'=>'form-control', 'id'=>'m_account')) }}
</div>
<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) !!}
</select>
</div>
<div class="form-group col-md-4">
<label class="form-label">{{ __('Sponsor') }}</label>
<select class="selectpicker" data-style="btn-light" name="m_sponsor" id="m_sponsor" data-live-search="true">
{!! HTMLHelper::getMembersOptions($user->m_sponsor, true) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="form-label">{{ __('Salutation') }}</label>
<select class="selectpicker" data-style="btn-light" name="m_salutation" id="m_salutation">
{!! HTMLHelper::getSalutation($user->account->m_salutation) !!}
</select>
</div>
<div class="form-group col-md-5">
<label class="form-label" for="first_name">{{ __('First name') }}</label>
{{ Form::text('m_first_name', $user->account->m_first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'id'=>'m_first_name')) }}
</div>
<div class="form-group col-md-5">
<label class="form-label" for="last_name">{{ __('Last name') }}</label>
{{ Form::text('m_last_name', $user->account->m_last_name, array('placeholder'=>__('Last name'), 'class'=>'form-control', 'id'=>'m_last_name')) }}
</div>
</div>
<div class="form-group">
<label class="form-label" for="m_notes">{{ __('weitere Daten') }}</label>
{{ Form::textarea('m_notes', $user->account->m_notes , array('placeholder'=>__('weitere Daten'), 'class'=>'form-control', 'id'=>'m_notes', 'rows'=>4)) }}
</div>
<div class="text-left mt-3">
<button type="submit" class="btn btn-submit btn-primary">{{ __('save') }}</button>&nbsp;
</div>
<hr>
</div>

View file

@ -0,0 +1,178 @@
<div class="card mb-4">
<h5 class="card-header">
<a href="#" class="@if($show !== 'check_lead' || !$m_data_load) collapsed @endif" data-toggle="collapse" data-target="#collapseMRegister" aria-expanded="@if($show !== 'check_lead' || !$m_data_load) false @else true @endif" aria-controls="collapseMRegister">
<i class="fa fa-caret-expand"></i> {{__('Berater Status') }}
</a>
</h5>
<div class="collapse @if($show === 'check_lead' || $m_data_load) show @endif" id="collapseMRegister">
@if($m_data_load)
@include('admin.lead.m_data_form_edit')
@endif
@if(!$m_data_load)
@include('admin.lead.m_data_form')
@endif
<div class="card-body mb-2 pb-1">
<div class="row">
<div class="col-sm-6">
@if($user->payment_account )
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Berater-Account aktiv')}}</strong> {{__('bis zum:')}} {{ $user->getPaymentAccountDateFormat() }}</p>
@else
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
<strong>{{__('Berater-Account inaktiv')}}</strong></p>
@endif
@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">MIVITA_Beratervertrag.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>
@endif
</div>
<div class="col-sm-6">
@if($user->account_id)
@if($user->agreement)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Einverständniserklärung')}}</strong>: {{ $user->getAgreementFormat() }}
</p>
@else
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
<strong>{{__('Einverständniserklärung')}}</strong> {{ __('nicht akzeptiert') }}</p>
@endif
@if($user->account->data_protection)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Privacy policy approved')}}</strong>: {{ $user->account->getDataProtectionFormat() }}
</p>
@endif
@endif
@if($user->confirmed == 1)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('E-Mail verified')}}</strong>: {{ $user->getConfirmationDateFormat() }}</p>
@else
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
<strong>{{__('E-Mail not verified')}}</strong></p>
<a class="btn btn-warning btn-sm" href="{{route('admin_lead_new_mail_verified', $user->id)}}">Neue E-Mail für die Registrierung zusenden</a>
@endif
</div>
<div class="col-sm-12">
@if(!$user->active)
<hr>
@if($user->release_account)
<strong>Registrierung abgeschlossen {{ $user->getReleaseAccountFormat() }}</strong><br>
<a href="{{route('admin_lead_released', ['completed', $user->id])}}" class="btn btn-success" onclick="return confirm('Alle Daten vollständig und Berater freischalten?');">Die Daten sind vollständigt => Berater freischalten</a>
<button type="button" class="btn btn-sm btn-danger float-right" data-toggle="modal" data-target="#modals-register-m-data">
Berater eine E-Mail senden => Daten nicht vollständigt
</button>
@else
<strong><span class="text-danger">Berater muss Registrierung noch abschließen</span></strong>
@endif
@endif
</div>
</div>
<hr>
</div>
@if($user->files->count())
<div class="card-body mb-4 pb-1">
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>Ausweisdaten</th>
<th>Name</th>
<th>Größe</th>
<th class="text-right">löschen</th>
</tr>
@foreach($user->files()->whereIdentifier('id_card')->get() as $file)
<tr>
<td><a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">
@if(strtolower($file->ext ) === 'pdf')
<object data="{{ route('storage_file', [$file->id, 'user']) }}" type="application/pdf" width="160"></object>
@else
<img src="{{ route('storage_file', [$file->id, 'user']) }}" alt="" width="160">
@endif
</a>
</td>
<td><a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">{{ $file->original_name }}</a></td>
<td>{{ $file->formatBytes() }}</td>
<td class="text-right">
<a href="{{ route('admin_lead_delete_file', [$user->id, $file->id, 'upload']) }}" class="btn btn-sm" onclick="return confirm('Datei wirklich löschen?');">
<span class="ion ion-md-trash text-danger"></span>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr>
@if($user->account_id)
@if($user->account->getNotice('business_license') === 'later')
<div class="row">
<div class="col-12">
<div class="bg-warning rounded py-2 px-3">
{{__('register.business_license_later')}}
</div>
</div>
</div>
@endif
@if($user->account->getNotice('business_license') === 'non')
<div class="row">
<div class="col-12">
<div class="bg-warning rounded py-2 px-3">
<div class="font-weight-semibold mb-1">{{__('register.business_license_non')}}</div>
<em>{{$user->account->getNotice('business_license_reason')}}</em>
</div>
</div>
</div>
@endif
@endif
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>Gewerbenachweis</th>
<th>Name</th>
<th>Größe</th>
<th class="text-right">löschen</th>
</tr>
@foreach($user->files()->whereIdentifier('business_license')->get() as $file)
<tr>
<td>
<a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">
@if(strtolower($file->ext ) == 'pdf')
<object data="{{ route('storage_file', [$file->id, 'user']) }}" type="application/pdf" width="160"></object>
@else
<img src="{{ route('storage_file', [$file->id, 'user']) }}" alt="" width="160">
@endif
</a>
</td>
<td><a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">{{ $file->original_name }}</a></td>
<td>{{ $file->formatBytes() }}</td>
<td class="text-right">
<a href="{{ route('admin_lead_delete_file', [$user->id, $file->id, 'upload']) }}" class="btn btn-sm" onclick="return confirm('Datei wirklich löschen?');">
<span class="ion ion-md-trash text-danger"></span>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endif
</div>
</div>