This commit is contained in:
Kevin Adametz 2022-06-15 18:08:45 +02:00
parent 9b0b5feb7e
commit 7a040c3e19
106 changed files with 4074 additions and 1349 deletions

View file

@ -0,0 +1,20 @@
@extends('layouts.layout-2')
@section('content')
<div class="card mt-5">
<h5 class="card-header py-4 px-5">Sys Admin Tools</h5>
<div class="row no-gutters row-bordered">
<div class="col-md-12 p-5">
<a href="{{ route('sysadmin_tool', ['sales_members']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Buchnungen Pakete Berater nach Jahren</a>
<a href="{{ route('sysadmin_tool', ['customers']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Kundenhoheit prüfen</a>
<a href="{{ route('sysadmin_tool', ['cronjobs']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Cron Jobs</a>
<a href="{{ route('sysadmin_tool', ['domainssl']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Subdomains prüfen SSL/Aktiv</a>
<a href="{{ route('sysadmin_tool', ['shopping_orders']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Shopping Orders Käufe</a>
<a href="{{ route('sysadmin_tool', ['import']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Import</a>
<a href="{{ route('sysadmin_tool', ['corrections']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Corrections Points / Payment / Price / Tax / Tax Spit / Points / Discount </a>
</div>
</div>
</div>
@endsection

View file

@ -6,7 +6,7 @@
Berater Bestellungen
</h6>
<div class="col-sm-6 mb-2">
{!! Form::open(['url' => route('sysadmin_sales_members'), 'class' => 'form-horizontal', 'id'=>'filter_sales_member']) !!}
{!! Form::open(['url' => route('sysadmin_tool_store', ['sales_members']), 'class' => 'form-horizontal', 'id'=>'filter_sales_member']) !!}
<label class="form-label" for="filter_user_shop_id">Filter Jahr</label>
<select class="custom-select" name="filter_sales_year" id="filter_sales_year">

View file

@ -2,9 +2,9 @@
@section('content')
<div class="card">
<h6 class="card-header">
<h5 class="card-header">
{{__('Systemeinstellungen')}}
</h6>
</h5>
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered">
<thead>

View file

@ -0,0 +1,39 @@
@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 mb-4">
SysAdmin Cron Jobs
</h4>
<div class="card mb-4">
@if(count($values)>0)
<div class="card-body">
<!-- Controls -->
@foreach($values as $name=>$link)
<p>{{ $name }}</p>
<a href="{{$link}}" target="_blank">{{$link}}</a><hr><br><br>
@endforeach
</div>
@endif
</div>
@endsection

View file

@ -0,0 +1,75 @@
@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 mb-4">
SysAdmin Kundenhoheit prüfen
</h4>
{!! Form::open(['url' => route('sysadmin_tool_store', ['customers']), 'class' => '']) !!}
<div class="card mb-4">
{{-- <div class="card-body">
<!-- Controls -->
<button type="submit" name="action" value="checkForAll" class="btn btn-primary"><i class="ion"></i> checkForAll</button>
<button type="submit" name="action" value="makePaymentMethodsDefault" class="btn btn-primary"><i class="ion"></i> make PaymentMethods Default</button>
<button type="submit" name="action" value="checkContractPDF" class="btn btn-primary"><i class="ion"></i> check Contract PDF</button>
</div> --}}
@if(count($values)>0)
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">ID</th>
<th>{{__('Mail')}}</th>
<th>{{__('is like')}}</th>
<th>{{__('OrderID')}}</th>
<th>{{__('txaction')}}</th>
<th>{{__('Action')}}</th>
</tr>
</thead>
<tbody>
@foreach($values as $shopping_user)
<tr>
<td>{{$shopping_user->id}}</td>
<td>{{$shopping_user->billing_email}}</td>
<td>{{$shopping_user->is_like}}</td>
<td>@if($shopping_user->shopping_order){{$shopping_user->shopping_order->id}}@endif</td>
<td>@if($shopping_user->shopping_order){{$shopping_user->shopping_order->txaction}}@endif</td>
<td><button type="submit" name="action" value="checkOne_{{$shopping_user->id}}" class="btn btn-xs btn-primary"><i class="ion"></i> checkOne</button></td>
</tr>
@endforeach
</tbody>
</table>
<!-- Controls -->
</div>
</div>
@endif
</div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,186 @@
@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 mb-4">
Subdomains prüfen SSL/Aktiv
</h4>
<div class="card mb-4">
@if(count($SubDomains)>0)
{!! Form::open(['url' => route('sysadmin_tool_store', ['domainssl']), 'class' => '']) !!}
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered">
<thead>
<tr>
<th>SubDomain</th>
<th>SSL</th>
<th>#</th>
</tr>
</thead>
<tbody>
@foreach($SubDomains as $SubDomain=>$ssl)
<tr>
<td><a href="{{ $SubDomain }}" target="_blank">{{ $SubDomain }}</a></td>
<td>{{ $ssl }}</td>
<td>
<button type="submit" class="btn btn-danger btn-xs" name="delete_sub_kas" value="{{ $SubDomain }}"><i class="ion"></i> löschen</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
{!! Form::close() !!}
@endif
@if(count($values)>0)
{!! Form::open(['url' => route('sysadmin_tool_store', ['domainssl']), 'class' => '']) !!}
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">ID</th>
<th style="max-width: 60px;">User-ID</th>
<th>Domain</th>
<th>Sub</th>
<th>SSL</th>
<th>seit</th>
<th>Datum</th>
<th>Erreichbar</th>
<th>Status</th>
<th>User Account</th>
<th>User Shop</th>
<th>User seit</th>
<th>#</th>
</tr>
</thead>
<tbody>
@foreach($values as $value)
<tr>
<td>{{ $value->id }}</td>
<td>{{ $value->user_id }}</td>
<td><a href="https://{{ $value->slug }}.mivita.care" target="_blank">{{ $value->slug }}.mivita.care</a></td>
<td> {!! get_active_badge($value->hasSubdomain) !!} </td>
<td> {!! get_active_badge($value->hasSSL) !!} </td>
<td>{{ $value->getActiveDateFormatSmall() }}</td>
<td>
@if($value->user && $value->user->payment_shop)
@if($value->user->isActiveShop())
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ $value->user->getPaymentShopDateFormat() }}</span>
@else
<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i>{{ $value->user->getPaymentShopDateFormat() }}</span></a>
@endif
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
@endif
</td>
<td>
--
{{--
@if($value->getSubdomainAvailable())
<span class="badge badge-pill badge-success"><i class="fa fa-check"> {{ __('available') }} </i>
@if($value->getSubdomainSslSin()) HTTPS @else HTTP @endif
</span>
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"> {{ __('not available') }} </i> HTTP </span>
@endif
--}}
</td>
<td>{!! get_active_badge($value->active) !!}</td>
<td>@if($value->user)
@if($value->user->payment_account)
@if($value->user->isActiveAccount())
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ $value->user->getPaymentAccountDateFormat() }}</span></a>
@else
<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i>{{ $value->user->getPaymentAccountDateFormat() }}</span></a>
@endif
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>
@endif
@else
-
@endif
</td>
<td>
@if($value->user)
@if($value->user->payment_shop)
@if($value->user->isActiveShop())
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ $value->user->getPaymentShopDateFormat() }}</span></a>
@else
<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i>{{ $value->user->getPaymentShopDateFormat() }}</span></a>
@endif
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>
@endif
@else
-
@endif
</td>
<td>
@if($value->user)
@if($value->user->shop)
@if($value->user->shop->active)
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> {{ $value->user->shop->getActiveDateFormatSmall() }}</span></a>
@else
<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i>{{ $value->user->shop->getActiveDateFormatSmall() }}</span></a>
@endif
@else
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>
@endif
@else
-
@endif
</td>
<td>
@if(!$value->user || !$value->user->payment_shop || !$value->user->isActiveShop())
<button type="submit" class="btn btn-danger btn-xs" name="delete_user_shop" value="{{ $value->id }}"><i class="ion"></i> löschen</button>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
{!! Form::close() !!}
@endif
</div>
@endsection

View file

@ -0,0 +1,109 @@
@extends('layouts.layout-2')
@section('content')
<style>
/* Dropzone */
.dropzone {
min-height: 230px;
border: 2px dashed rgba(0, 0, 0, 0.3);
background: white;
border-radius: 6px;
}
.dropzone .dz-message {
font-size: 28px;
}
</style>
<h4 class="font-weight-bold py-3 mb-4">
SysAdmin Kontakte importieren
</h4>
<div class="card mb-4">
<h5 class="card-header">
Excel-Datei hochladen
</h5>
<div class="card-body">
{!! Form::open([ 'url' => route('sysadmin_tool_store', ['import']), 'method' => 'post', 'files' => true, 'enctype' => 'multipart/form-data', 'class' => 'dropzone', 'id' => 'realDropzone' ]) !!}
<div class="fallback">
<input name="file" type="file" multiple>
</div>
{!! Form::close() !!}
<br>
<div class="alert alert-danger alert-dismissable" style="display:none;"></div>
</div>
</div>
@endsection
@section('scripts')
<script type="text/javascript">
var real_dropzone = {
uploadMultiple: false,
parallelUploads: 1,
maxFilesize: 32,
addRemoveLinks: true,
dictDefaultMessage: 'Hier klicken, oder Datei hier reinziehen (Drag&Drop)',
dictFallbackMessage: 'Dein Browser unterstützt Drag&Drop Dateiuploads nicht',
dictFallbackText: 'Benutze das Formular um Deine Dateien hochzuladen',
dictFileTooBig: "Die Datei ist zu groß. Die maximale Dateigröße beträgt 32 MB",
dictInvalidFileType: 'Eine Datei dieses Typs kann nicht hochgeladen werden',
dictResponseError: "Der Server hat ihre Anfrage mit Status error abgelehnt",
dictCancelUpload: 'Hochladen abbrechen',
dictCancelUploadConfirmation: null,
dictRemoveFile: 'Datei entfernen',
dictMaxFilesExceeded: 'Du kannst keine weiteren Dateien mehr hochladen',
// The setting up of the dropzone
init:function() {
console.log("init");
this.on("removedfile", function(file) {
var _ele = $('.alert-danger');
_ele.fadeOut();
} );
this.on("addedfile", function (file) {
var _ele = $('.alert-danger');
_ele.fadeOut();
});
},
error: function(file, response) {
console.log(file);
console.log(response);
var message
if($.type(response) === "string")
message = response; //dropzone sends it's own error messages in string
else
message = response.message;
var _ele = $('.alert-danger');
_ele.fadeIn();
_ele.text(message);
},
success: function(file,response) {
console.log(file);
console.log(response.filename);
console.log(response.filedata);
console.log(response);
if(response.redirect){
window.location.href = response.redirect;
}else{
if(response.error === false){
//true
window.location.href = window.location.href;
}
}
}
};
Dropzone.options.realDropzone = real_dropzone;
</script>
@endsection

View file

@ -0,0 +1,65 @@
@extends('layouts.layout-2')
@section('content')
<div class="card">
<h5 class="card-header">
SysAdmin Berater Bestellungen
</h5>
<div class="col-sm-6 mb-2">
{!! Form::open(['url' => route('sysadmin_tool_store', ['sales_members']), 'class' => 'form-horizontal', 'id'=>'filter_sales_member']) !!}
<label class="form-label" for="filter_user_shop_id">Filter Jahr</label>
<select class="custom-select" name="filter_sales_year" id="filter_sales_year">
@foreach($years as $year)
<option value="{{$year}}" @if($active_year == $year) selected @endif>{{$year}}</option>
@endforeach
</select>
{!! Form::close() !!}
</div>
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered">
<thead>
<tr>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Betrag') }}</th>
<th>{{__('Datum') }}</th>
<th>{{__('Order')}}</th>
<th>{{__('Status')}}</th>
</tr>
</thead>
<tbody>
@foreach($values as $value)
<tr>
<td>{{ $value->shopping_user->billing_firstname }}</td>
<td>{{ $value->shopping_user->billing_lastname }}</td>
<td>{{ $value->shopping_user->billing_email }}</td>
<td>{{ $value->getFormattedTotalShipping()."" }}</td>
<td>{{ $value->created_at->format("d.m.Y") }}</td>
<td>@foreach($value->shopping_order_items as $shopping_order_item)
{{ $shopping_order_item->product->name }}<br>
@endforeach
</td>
<td>{!! App\Services\Payment::getShoppingOrderBadge($value) !!}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<script>
$('#filter_sales_year').on('change', function(){
$('#filter_sales_member').submit();
});
</script>
@endsection

View file

@ -0,0 +1,51 @@
@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 mb-4">
SysAdmin Shopping Orders
</h4>
<div class="card mb-4">
<div class="card-body">
<!-- Controls -->
{!! Form::open(['url' => route('sysadmin_tool_store', ['sales_members']), 'class' => '']) !!}
<div class="form-group mb-1">
<label class="form-label" for="description">Description</label>
{{ Form::textarea('text', $text, array('class'=>'form-control', 'rows'=>1)) }}
</div>
<button type="submit" name="action" value="first_run" class="btn btn-primary"><i class="ion"></i> first run</button>
<button type="submit" name="action" value="next_run" class="btn btn-primary"><i class="ion"></i> next run</button>
{!! Form::close() !!}
</div>
@if(count($values)>0)
<div class="card-body">
<!-- Controls -->
@foreach($values as $value)
<pre>{{$value->billing_email}} | {{$value->orders}}</pre>
@endforeach
</div>
@endif
</div>
@endsection