update 20.10.2025
This commit is contained in:
parent
8c11130b5d
commit
a939cd51ef
616 changed files with 84821 additions and 4121 deletions
|
|
@ -11,23 +11,25 @@
|
|||
@if($TreeCalcBot->__get('business_user')->payment_account_date)
|
||||
{{ __('team.until') }}: {{ formatDate($TreeCalcBot->__get('business_user')->payment_account_date) }}
|
||||
@endif
|
||||
(ID: {{ $TreeCalcBot->__get('business_user')->m_account }}) <span class="badge badge-outline-info">Optimized</span>
|
||||
(ID: {{ $TreeCalcBot->__get('business_user')->m_account }}) <span class="badge badge-outline-default">v2</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{{ __('team.date') }}:</td>
|
||||
<td>
|
||||
<strong>{{ HTMLHelper::getMonth($data['month']) }} {{ $data['year'] }}</strong> | {{ __('team.completed') }}:
|
||||
<strong>{{ HTMLHelper::getMonth($data['month']) }} {{ $data['year'] }}</strong> |
|
||||
@if($TreeCalcBot->__get('business_user')->isSave())
|
||||
{{ __('team.completed') }}:
|
||||
<span class="badge badge-outline-success"><i class="fa fa-check-circle"></i></span>
|
||||
@if(Auth::user()->isAdmin())
|
||||
{{-- @if(Auth::user()->isSySAdmin())
|
||||
<a target="_blank" class="btn btn-outline-secondary btn-xs" href="{{ route('admin_business_optimized_user_detail', [$user->id, 'force_live' => true]) }}">
|
||||
<i class="fa fa-redo"></i> {{ __('Live Berechnung') }}
|
||||
</a>
|
||||
@endif
|
||||
@endif --}}
|
||||
@else
|
||||
<span class="badge badge-outline-warning-dark"><i class="fa fa-times"></i></span>
|
||||
{{ __('team.open') }}:
|
||||
<span class="badge badge-outline-warning-dark"><i class="fa fa-history"></i></span>
|
||||
|
||||
@endif
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
{{__('Business')}} {{__('Übersicht')}}
|
||||
<span class="badge badge-success ml-2">OPTIMIERT</span>
|
||||
<span class="badge badge-default ml-2">v2</span>
|
||||
</h5>
|
||||
|
||||
<div class="card-body p-0">
|
||||
|
|
@ -63,6 +63,7 @@
|
|||
{!! Form::close() !!}
|
||||
|
||||
<!-- Performance Info Banner -->
|
||||
@if(config('app.debug'))
|
||||
<div class="alert alert-info mx-4 mb-3">
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="fa fa-rocket mr-2"></i>
|
||||
|
|
@ -74,7 +75,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endif
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-users">
|
||||
<thead>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
{{__('team.business')}} {{__('team.structure')}}
|
||||
<span class="badge badge-success ml-2">OPTIMIERT</span>
|
||||
<span class="badge badge-default ml-2">v2</span>
|
||||
</h5>
|
||||
|
||||
<div class="card-body">
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
{!! Form::close() !!}
|
||||
|
||||
<!-- Performance Metrics Display -->
|
||||
@if(isset($performance))
|
||||
@if(config('app.debug') && isset($performance))
|
||||
<div class="alert alert-success">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
|
|
@ -59,6 +59,7 @@
|
|||
<button type="button" class="btn btn-default btn-sm" data-action="collapse-all">{{ __('team.collapse_all') }}</button>
|
||||
|
||||
<!-- Zusätzliche Optimierungs-Controls -->
|
||||
@if(config('app.debug'))
|
||||
<div class="btn-group ml-3" role="group">
|
||||
<button type="button" class="btn btn-info btn-sm" onclick="showPerformanceDetails()">
|
||||
<i class="fa fa-chart-line"></i> Performance Details
|
||||
|
|
@ -76,6 +77,7 @@
|
|||
</a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
|
@ -91,7 +93,7 @@
|
|||
<div class="col-md-12">
|
||||
<hr>
|
||||
<h6 class="">
|
||||
Berater ohne Sponsor
|
||||
Berater mit abgelaufenem Account
|
||||
<span class="badge badge-warning">{{ count($TreeCalcBot->__get('parentless')) }}</span>
|
||||
</h6>
|
||||
<div class="dd" id="">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
{{__('Business')}} {{__('Übersicht')}} Berater
|
||||
<span class="badge badge-success ml-2">OPTIMIERT</span>
|
||||
<span class="badge badge-default ml-2">v2</span>
|
||||
</h5>
|
||||
{!! Form::open(['action' => route('admin_business_optimized_user_detail', [$user->id]), 'class' => 'form-horizontal', 'id'=>'']) !!}
|
||||
{{ Form::hidden('user_id', $user->id ) }}
|
||||
|
|
@ -17,13 +17,10 @@
|
|||
<h4 class="font-weight-bold mb-0">
|
||||
{{ $user->account->first_name }} {{ $user->account->last_name }}
|
||||
<a class="font-weight-normal" href="mailto:{{ $user->email }}">{{ $user->email }}</a>
|
||||
|
||||
{{-- <button type="submit" class="btn btn-submit btn-secondary btn-sm float-right mr-4">{{ __('save') }}</button> --}}
|
||||
|
||||
</h4>
|
||||
</h4>
|
||||
|
||||
<!-- Performance Info -->
|
||||
@if(isset($data['performance']))
|
||||
@if(config('app.debug') && isset($data['performance']))
|
||||
<div class="mt-2">
|
||||
<small class="text-muted">
|
||||
<i class="fa fa-rocket mr-1"></i>
|
||||
|
|
@ -33,10 +30,12 @@
|
|||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Navigation zwischen Original und Optimiert -->
|
||||
@if(config('app.debug'))
|
||||
<div class="alert alert-info">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
|
|
@ -49,7 +48,7 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endif
|
||||
@include('admin.business_optimized._user_detail_in')
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -131,92 +131,13 @@
|
|||
<a href="{{ route('admin.dhl.cockpit') }}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-sync"></i> Zurücksetzen
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Quick Actions -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-bolt text-warning"></i>
|
||||
Schnellaktionen
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-light border-primary h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-plus-circle fa-3x text-primary mb-3"></i>
|
||||
<h5 class="card-title">Neue Sendung erstellen</h5>
|
||||
<p class="card-text text-muted">
|
||||
Erstellen Sie eine neue DHL-Sendung basierend auf einer bestehenden Bestellung.
|
||||
</p>
|
||||
<button type="button" class="btn btn-primary"
|
||||
data-toggle="modal"
|
||||
data-id="new"
|
||||
data-target="#modals-load-content"
|
||||
data-action="create-dhl-shipment"
|
||||
data-route="{{ route('modal_load') }}">
|
||||
<i class="fas fa-shipping-fast"></i> Sendung erstellen
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-light border-info h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-search fa-3x text-info mb-3"></i>
|
||||
<h5 class="card-title">Sendung anzeigen</h5>
|
||||
<p class="card-text text-muted">
|
||||
Suchen und anzeigen einer bestimmten Sendung nach ID oder Tracking-Nummer.
|
||||
</p>
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-info dropdown-toggle" type="button" id="showDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-eye"></i> Sendung anzeigen
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="showDropdown">
|
||||
<h6 class="dropdown-header">Sendung finden:</h6>
|
||||
<a class="dropdown-item" href="#" onclick="promptShipmentId()">
|
||||
<i class="fas fa-hashtag"></i> Sendungs-ID eingeben
|
||||
</a>
|
||||
<a class="dropdown-item" href="#" onclick="promptTrackingNumber()">
|
||||
<i class="fas fa-barcode"></i> Tracking-Nummer eingeben
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#" onclick="$('#search').focus();">
|
||||
<i class="fas fa-filter"></i> Filter verwenden
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-light border-secondary h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-plug fa-3x text-secondary mb-3"></i>
|
||||
<h5 class="card-title">API Login Test</h5>
|
||||
<p class="card-text text-muted">
|
||||
Überprüfen Sie, ob die in der <code>.env</code>-Datei hinterlegten DHL-Zugangsdaten korrekt sind.
|
||||
</p>
|
||||
<button type="button" class="btn btn-secondary" id="test-dhl-login-btn">
|
||||
<span class="spinner-border spinner-border-sm" role="status" style="display: none;"></span>
|
||||
<i class="fas fa-key"></i> Login testen
|
||||
</button>
|
||||
<div id="dhl-test-result" class="mt-3 text-left"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Batch Actions -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
|
|
@ -224,11 +145,23 @@
|
|||
<i class="fas fa-list text-primary"></i>
|
||||
Sendungsübersicht
|
||||
</h5>
|
||||
<div class="float-right">
|
||||
<button type="button" class="btn btn-sm btn-primary"
|
||||
data-toggle="modal"
|
||||
data-id="new"
|
||||
data-target="#modals-load-content"
|
||||
data-action="create-dhl-shipment"
|
||||
data-route="{{ route('modal_load') }}">
|
||||
<i class="fas fa-shipping-fast"></i> Sendung erstellen
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="batch-actions" style="display: none;">
|
||||
{{-- Todo: Add cancel button
|
||||
<button type="button" class="btn btn-sm btn-warning batch-action-btn" data-action="cancel">
|
||||
<i class="fas fa-ban"></i> Ausgewählte stornieren
|
||||
</button>
|
||||
--}}
|
||||
<button type="button" class="btn btn-sm btn-info batch-action-btn" data-action="update_tracking">
|
||||
<i class="fas fa-sync"></i> Tracking aktualisieren
|
||||
</button>
|
||||
|
|
@ -278,6 +211,8 @@ $(document).ready(function() {
|
|||
var dhlTable = $('#dhl-shipments-table').DataTable({
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
searching: false,
|
||||
pageLength: 50,
|
||||
ajax: {
|
||||
url: "{{ route('admin.dhl.datatable') }}",
|
||||
type: "POST",
|
||||
|
|
@ -316,6 +251,8 @@ $(document).ready(function() {
|
|||
// Handle filter form submission
|
||||
$('#dhl-filter-form').on('submit', function(e) {
|
||||
e.preventDefault();
|
||||
console.log(('#date_from').val());
|
||||
console.log(('#date_to').val());
|
||||
dhlTable.draw();
|
||||
});
|
||||
|
||||
|
|
@ -327,54 +264,7 @@ $(document).ready(function() {
|
|||
// Tooltip initialization for static elements
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
|
||||
// --- DHL LOGIN TEST ---
|
||||
$('#test-dhl-login-btn').click(function() {
|
||||
var btn = $(this);
|
||||
var spinner = btn.find('.spinner-border');
|
||||
var resultContainer = $('#dhl-test-result');
|
||||
|
||||
btn.prop('disabled', true);
|
||||
spinner.show();
|
||||
resultContainer.html('');
|
||||
|
||||
$.ajax({
|
||||
url: '{{ route("admin.dhl.test_login") }}',
|
||||
method: 'POST',
|
||||
data: {
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
var alertClass = response.success ? 'alert-success' : 'alert-danger';
|
||||
var icon = response.success ? 'fas fa-check-circle' : 'fas fa-times-circle';
|
||||
var resultHtml = `
|
||||
<div class="alert ${alertClass} d-flex align-items-center" role="alert">
|
||||
<i class="${icon} mr-2"></i>
|
||||
<div>
|
||||
${response.message}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
resultContainer.html(resultHtml);
|
||||
},
|
||||
error: function(xhr) {
|
||||
var errorHtml = `
|
||||
<div class="alert alert-danger d-flex align-items-center" role="alert">
|
||||
<i class="fas fa-server mr-2"></i>
|
||||
<div>
|
||||
Ein Serverfehler ist aufgetreten. Prüfen Sie die Browser-Konsole und die Laravel-Logs.
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
resultContainer.html(errorHtml);
|
||||
},
|
||||
complete: function() {
|
||||
btn.prop('disabled', false);
|
||||
spinner.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// --- BATCH & ROW ACTIONS ---
|
||||
|
||||
// Select All functionality
|
||||
$('#dhl-shipments-table').on('change', '#select-all', function() {
|
||||
|
|
@ -417,28 +307,81 @@ $(document).ready(function() {
|
|||
if (!confirm('Möchten Sie diese Aktion für ' + selectedIds.length + ' Sendung(en) ausführen?')) {
|
||||
return;
|
||||
}
|
||||
console.log(selectedIds);
|
||||
console.log(action);
|
||||
|
||||
// Perform batch action
|
||||
$.ajax({
|
||||
url: '{{ route("admin.dhl.batch-action") }}',
|
||||
method: 'POST',
|
||||
data: {
|
||||
action: action,
|
||||
shipment_ids: selectedIds,
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showAlert('success', response.message);
|
||||
location.reload();
|
||||
} else {
|
||||
showAlert('error', response.message);
|
||||
if (action === 'download_labels') {
|
||||
// Handle file download differently
|
||||
$.ajax({
|
||||
url: '{{ route("admin.dhl.batch-action") }}',
|
||||
method: 'POST',
|
||||
data: {
|
||||
action: action,
|
||||
shipment_ids: selectedIds,
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
xhrFields: {
|
||||
responseType: 'blob'
|
||||
},
|
||||
success: function(data, status, xhr) {
|
||||
// Check if it's actually a JSON error response
|
||||
if (xhr.getResponseHeader('content-type') && xhr.getResponseHeader('content-type').indexOf('application/json') !== -1) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function() {
|
||||
try {
|
||||
var response = JSON.parse(reader.result);
|
||||
if (response.success) {
|
||||
showAlert('success', response.message);
|
||||
} else {
|
||||
showAlert('error', response.message);
|
||||
}
|
||||
} catch (e) {
|
||||
showAlert('error', 'Fehler beim Verarbeiten der Antwort.');
|
||||
}
|
||||
};
|
||||
reader.readAsText(data);
|
||||
} else {
|
||||
// It's a file download
|
||||
var blob = new Blob([data]);
|
||||
var url = window.URL.createObjectURL(blob);
|
||||
var a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = 'dhl_labels_' + new Date().toISOString().slice(0,19).replace(/:/g, '-') + '.zip';
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
window.URL.revokeObjectURL(url);
|
||||
showAlert('success', 'Labels werden heruntergeladen...');
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
showAlert('error', 'Fehler beim Download der Labels.');
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
showAlert('error', 'Fehler bei der Stapelverarbeitung.');
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// Handle other batch actions normally
|
||||
$.ajax({
|
||||
url: '{{ route("admin.dhl.batch-action") }}',
|
||||
method: 'POST',
|
||||
data: {
|
||||
action: action,
|
||||
shipment_ids: selectedIds,
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showAlert('success', response.message);
|
||||
location.reload();
|
||||
} else {
|
||||
showAlert('error', response.message);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
showAlert('error', 'Fehler bei der Stapelverarbeitung.');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Individual action buttons (delegated events)
|
||||
|
|
@ -528,31 +471,6 @@ $(document).ready(function() {
|
|||
});
|
||||
*/
|
||||
|
||||
function promptShipmentId() {
|
||||
var shipmentId = prompt('Bitte geben Sie die Sendungs-ID ein:');
|
||||
if (shipmentId && shipmentId.trim()) {
|
||||
shipmentId = shipmentId.trim();
|
||||
if (!isNaN(shipmentId) && shipmentId > 0) {
|
||||
window.location.href = '{{ route("admin.dhl.show", ":shipmentId") }}'.replace(':shipmentId', shipmentId);
|
||||
} else {
|
||||
alert('Bitte geben Sie eine gültige Sendungs-ID (Zahl) ein.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function promptTrackingNumber() {
|
||||
var trackingNumber = prompt('Bitte geben Sie die Tracking-Nummer ein:');
|
||||
if (trackingNumber && trackingNumber.trim()) {
|
||||
trackingNumber = trackingNumber.trim();
|
||||
if (trackingNumber.length >= 10) {
|
||||
// Use search functionality to find by tracking number
|
||||
$('#search').val(trackingNumber);
|
||||
$('#dhl-filter-form').submit();
|
||||
} else {
|
||||
alert('Bitte geben Sie eine gültige Tracking-Nummer ein (mindestens 10 Zeichen).');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alert helper function
|
||||
function showAlert(type, message) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,13 @@
|
|||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
<i class="fas fa-shipping-fast text-primary"></i>
|
||||
DHL Sendung erstellen
|
||||
@if($modalMode === 'search')
|
||||
DHL Sendung erstellen
|
||||
@elseif($modalMode === 'info')
|
||||
DHL Sendungen - Bestellung #{{ $order->id }}
|
||||
@elseif($modalMode === 'create')
|
||||
DHL Sendung erstellen - Bestellung #{{ $order->id }}
|
||||
@endif
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span aria-hidden="true">×</span>
|
||||
|
|
@ -42,293 +48,18 @@
|
|||
</div>
|
||||
@endif
|
||||
|
||||
@if($order)
|
||||
<form id="modal-create-shipment-form" method="POST" action="{{ route('admin.dhl.store') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="order_id" value="{{ $order->id }}">
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
{{-- Left Column: Order Info --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
Bestellinformationen
|
||||
</h6>
|
||||
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title">Bestellung #{{ $order->id }}</h6>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Kunde:</small>
|
||||
<strong>{{ $order->shopping_user->billing_firstname ?? '' }} {{ $order->shopping_user->billing_lastname ?? '' }}</strong>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Datum:</small>
|
||||
<strong>{{ $order->created_at->format('d.m.Y') }}</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Wert:</small>
|
||||
<strong>{{ number_format($order->total, 2) }} €</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Artikel:</small>
|
||||
<strong>{{ $order->shopping_order_items->count() }} Stück</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Right Column: Shipment Config --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-cog"></i>
|
||||
Sendungskonfiguration
|
||||
</h6>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-weight" class="font-weight-semibold">
|
||||
<i class="fas fa-weight"></i>
|
||||
Gewicht (kg) <span class="text-danger">*</span>
|
||||
</label>
|
||||
<input type="number"
|
||||
class="form-control"
|
||||
id="modal-weight"
|
||||
name="weight"
|
||||
min="0.1"
|
||||
max="31.5"
|
||||
step="0.1"
|
||||
value="{{ number_format($orderWeight, 1) }}"
|
||||
required>
|
||||
<small class="form-text text-muted">
|
||||
Berechnet: {{ number_format($orderWeight, 1) }} kg
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-product-code" class="font-weight-semibold">
|
||||
<i class="fas fa-cube"></i>
|
||||
Produktcode
|
||||
</label>
|
||||
<select class="form-control custom-select" id="modal-product-code" name="product_code">
|
||||
@foreach($productCodes as $code => $name)
|
||||
<option value="{{ $code }}">{{ $code }} - {{ $name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-priority" class="font-weight-semibold">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
Priorität
|
||||
</label>
|
||||
<select class="form-control custom-select" id="modal-priority" name="priority">
|
||||
<option value="normal">Normal</option>
|
||||
<option value="high">Hoch</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox"
|
||||
class="custom-control-input"
|
||||
id="modal-auto-track"
|
||||
name="auto_track"
|
||||
value="1"
|
||||
checked>
|
||||
<label class="custom-control-label" for="modal-auto-track">
|
||||
Automatisches Tracking
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- Shipping Address Section --}}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-map-marker-alt"></i>
|
||||
Lieferadresse
|
||||
@if(!empty($warnings))
|
||||
<small class="text-warning">(Bitte Adresse prüfen)</small>
|
||||
@else
|
||||
<small class="text-muted">(zur Not anpassbar)</small>
|
||||
@endif
|
||||
</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_firstname">Vorname <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['firstname']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_firstname"
|
||||
id="shipping_firstname"
|
||||
value="{{ $shippingAddress['firstname'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_lastname">Nachname <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['lastname']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_lastname"
|
||||
id="shipping_lastname"
|
||||
value="{{ $shippingAddress['lastname'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="shipping_company">Firma <small class="text-muted">(optional)</small></label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="shipping_company"
|
||||
id="shipping_company"
|
||||
value="{{ $shippingAddress['company'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label for="shipping_address">Straße <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['address']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_address"
|
||||
id="shipping_address"
|
||||
value="{{ $shippingAddress['address'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="shipping_houseNumber">Nr./Zusatz <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['houseNumber']) ? 'border-warning' : '' }}"
|
||||
name="shipping_houseNumber"
|
||||
id="shipping_houseNumber"
|
||||
value="{{ $shippingAddress['houseNumber'] ?? '' }}"
|
||||
required>
|
||||
@if(empty($shippingAddress['houseNumber']))
|
||||
<small class="text-warning">Hausnummer benötigt</small>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="shipping_zipcode">PLZ <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['zipcode']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_zipcode"
|
||||
id="shipping_zipcode"
|
||||
value="{{ $shippingAddress['zipcode'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label for="shipping_city">Ort <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['city']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_city"
|
||||
id="shipping_city"
|
||||
value="{{ $shippingAddress['city'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_country">Land <span class="text-danger">*</span></label>
|
||||
<select class="form-control custom-select" name="shipping_country_id" id="shipping_country" required>
|
||||
@foreach($availableCountries as $countryOption)
|
||||
<option value="{{ $countryOption->id }}"
|
||||
{{ $shippingAddress['country'] && $shippingAddress['country']->id == $countryOption->id ? 'selected' : '' }}>
|
||||
{{ $countryOption->getLocated() }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_phone">Telefon <small class="text-muted">(empfohlen)</small></label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="shipping_phone"
|
||||
id="shipping_phone"
|
||||
value="{{ $shippingAddress['phone'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
<i class="fas fa-times"></i> Abbrechen
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary" id="create-shipment-btn" {{ !empty($errors) ? 'disabled' : '' }}>
|
||||
<i class="fas fa-shipping-fast"></i> Sendung erstellen
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@else
|
||||
{{-- Order Selection when no order ID provided --}}
|
||||
<div class="modal-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-search fa-3x text-primary mb-4"></i>
|
||||
<h4>Bestellung auswählen</h4>
|
||||
<p class="text-muted mb-4">Geben Sie eine Bestellungs-ID ein, um eine DHL-Sendung zu erstellen.</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 mx-auto">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">#</span>
|
||||
</div>
|
||||
<input type="number"
|
||||
class="form-control form-control-lg"
|
||||
id="order-id-input"
|
||||
placeholder="z.B. 12345"
|
||||
min="1">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary" type="button" id="load-order-btn">
|
||||
<i class="fas fa-search"></i> Laden
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<div class="mb-3">oder</div>
|
||||
<a href="{{ route('admin_sales_customers') }}"
|
||||
target="_blank"
|
||||
class="btn btn-outline-secondary">
|
||||
<i class="fas fa-external-link-alt"></i>
|
||||
In Bestellverwaltung suchen
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
<i class="fas fa-times"></i> Abbrechen
|
||||
</button>
|
||||
</div>
|
||||
@if($modalMode === 'search')
|
||||
@include('admin.dhl.modal_in_search_shipment')
|
||||
@elseif($modalMode === 'info')
|
||||
@include('admin.dhl.modal_in_shipment_info')
|
||||
@elseif($modalMode === 'create')
|
||||
@include('admin.dhl.modal_in_order_shipment')
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
@if(!$order)
|
||||
@if($modalMode === 'search')
|
||||
// Load order functionality
|
||||
$('#load-order-btn').click(function() {
|
||||
var orderId = $('#order-id-input').val();
|
||||
|
|
@ -363,7 +94,7 @@ $(document).ready(function() {
|
|||
});
|
||||
@endif
|
||||
|
||||
@if($order)
|
||||
@if($modalMode === 'create')
|
||||
// Form submission with improved validation
|
||||
$('#modal-create-shipment-form').on('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
|
@ -387,20 +118,47 @@ $(document).ready(function() {
|
|||
data: formData,
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
// Close modal
|
||||
$('#modals-load-content').modal('hide');
|
||||
console.log(response);
|
||||
|
||||
// Show success message and reload
|
||||
// Show success message
|
||||
if (typeof showAlert === 'function') {
|
||||
showAlert('success', response.message);
|
||||
} else {
|
||||
alert(response.message);
|
||||
}
|
||||
|
||||
// Reload page after 2 seconds
|
||||
// Switch to info mode instead of closing modal
|
||||
setTimeout(function() {
|
||||
location.reload();
|
||||
}, 2000);
|
||||
// Show loading indicator
|
||||
var loadingHtml = `
|
||||
<div class="modal-body text-center py-5">
|
||||
<div class="spinner-border text-primary mb-3" role="status">
|
||||
<span class="sr-only">Laden...</span>
|
||||
</div>
|
||||
<h5>Sendung erfolgreich erstellt!</h5>
|
||||
<p class="text-muted">Lade Sendungsinformationen...</p>
|
||||
</div>
|
||||
`;
|
||||
$('#modals-load-content .modal-dialog').html(loadingHtml);
|
||||
|
||||
// Reload modal in info mode to show the created shipment
|
||||
$.post('{{ route('modal_load') }}', {
|
||||
action: 'create-dhl-shipment',
|
||||
id: {{ $order->id }},
|
||||
_token: '{{ csrf_token() }}'
|
||||
}).done(function(response) {
|
||||
$('#modals-load-content .modal-dialog').html(response.html);
|
||||
|
||||
// Show success message in the new modal content
|
||||
setTimeout(function() {
|
||||
if (typeof showAlert === 'function') {
|
||||
showAlert('success', 'Sendung erfolgreich erstellt! Die Sendungsinformationen werden angezeigt.');
|
||||
}
|
||||
}, 100);
|
||||
}).fail(function() {
|
||||
alert('Fehler beim Laden der Sendungsinformationen.');
|
||||
});
|
||||
}, 1000); // Wait 1 seconds to show success message
|
||||
} else {
|
||||
alert(response.message || 'Fehler beim Erstellen der Sendung.');
|
||||
submitBtn.prop('disabled', false).html('<i class="fas fa-shipping-fast"></i> Sendung erstellen');
|
||||
|
|
@ -494,5 +252,30 @@ $(document).ready(function() {
|
|||
}
|
||||
});
|
||||
@endif
|
||||
|
||||
// Helper function for showing alerts
|
||||
window.showAlert = function(type, message) {
|
||||
var alertClass = type === 'success' ? 'alert-success' : 'alert-danger';
|
||||
var iconClass = type === 'success' ? 'fas fa-check-circle' : 'fas fa-exclamation-circle';
|
||||
|
||||
var alertHtml = `
|
||||
<div class="alert ${alertClass} alert-dismissible fade show" role="alert">
|
||||
<i class="${iconClass}"></i>
|
||||
${message}
|
||||
<button type="button" class="close" data-dismiss="alert">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
$('.modal-body').prepend(alertHtml);
|
||||
|
||||
// Auto-hide success alerts after 5 seconds
|
||||
if (type === 'success') {
|
||||
setTimeout(function() {
|
||||
$('.alert-success').alert('close');
|
||||
}, 5000);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
207
resources/views/admin/dhl/modal_in_order_shipment.blade.php
Normal file
207
resources/views/admin/dhl/modal_in_order_shipment.blade.php
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
<form id="modal-create-shipment-form" method="POST" action="{{ route('admin.dhl.store') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="order_id" value="{{ $order->id }}">
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
{{-- Left Column: Order Info --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
Bestellinformationen
|
||||
</h6>
|
||||
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title">Bestellung #{{ $order->id }}</h6>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Kunde:</small>
|
||||
<strong>{{ $order->shopping_user->billing_firstname ?? '' }}
|
||||
{{ $order->shopping_user->billing_lastname ?? '' }}</strong>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Datum:</small>
|
||||
<strong>{{ $order->created_at->format('d.m.Y') }}</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Wert:</small>
|
||||
<strong>{{ number_format($order->total, 2, ',', '.') }} €</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Artikel:</small>
|
||||
<strong>{{ $order->shopping_order_items->count() }} Stück</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Right Column: Shipment Config --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-cog"></i>
|
||||
Sendungskonfiguration
|
||||
</h6>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-weight" class="font-weight-semibold">
|
||||
<i class="fas fa-weight"></i>
|
||||
Gewicht (kg) <span class="text-danger">*</span>
|
||||
</label>
|
||||
<input type="number" class="form-control" id="modal-weight" name="weight" min="0.1"
|
||||
max="31.5" step="0.1" value="{{ number_format($orderWeight, 1) }}" required>
|
||||
<small class="form-text text-muted">
|
||||
Berechnet: {{ number_format($orderWeight, 1) }} kg
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-product-code" class="font-weight-semibold">
|
||||
<i class="fas fa-cube"></i>
|
||||
Produktcode
|
||||
</label>
|
||||
<select class="form-control custom-select" id="modal-product-code" name="product_code">
|
||||
@foreach ($productCodes as $code => $name)
|
||||
<option value="{{ $code }}">{{ $code }} - {{ $name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-priority" class="font-weight-semibold">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
Priorität
|
||||
</label>
|
||||
<select class="form-control custom-select" id="modal-priority" name="priority">
|
||||
<option value="normal">Normal</option>
|
||||
<option value="high">Hoch</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="modal-auto-track" name="auto_track"
|
||||
value="1" checked>
|
||||
<label class="custom-control-label" for="modal-auto-track">
|
||||
Automatisches Tracking
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- Shipping Address Section --}}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-map-marker-alt"></i>
|
||||
Lieferadresse
|
||||
@if (!empty($warnings))
|
||||
<small class="text-warning">(Bitte Adresse prüfen)</small>
|
||||
@else
|
||||
<small class="text-muted">(zur Not anpassbar)</small>
|
||||
@endif
|
||||
</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_firstname">Vorname <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['firstname']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_firstname" id="shipping_firstname"
|
||||
value="{{ $shippingAddress['firstname'] ?? '' }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_lastname">Nachname <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['lastname']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_lastname" id="shipping_lastname"
|
||||
value="{{ $shippingAddress['lastname'] ?? '' }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="shipping_company">Firma <small class="text-muted">(optional)</small></label>
|
||||
<input type="text" class="form-control" name="shipping_company" id="shipping_company"
|
||||
value="{{ $shippingAddress['company'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label for="shipping_address">Straße <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['address']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_address" id="shipping_address"
|
||||
value="{{ $shippingAddress['address'] ?? '' }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="shipping_houseNumber">Nr./Zusatz <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['houseNumber']) ? 'border-warning' : '' }}"
|
||||
name="shipping_houseNumber" id="shipping_houseNumber"
|
||||
value="{{ $shippingAddress['houseNumber'] ?? '' }}" required>
|
||||
@if (empty($shippingAddress['houseNumber']))
|
||||
<small class="text-warning">Hausnummer benötigt</small>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="shipping_zipcode">PLZ <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['zipcode']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_zipcode" id="shipping_zipcode"
|
||||
value="{{ $shippingAddress['zipcode'] ?? '' }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label for="shipping_city">Ort <span class="text-danger">*</span></label>
|
||||
<input type="text"
|
||||
class="form-control {{ empty($shippingAddress['city']) ? 'is-invalid' : '' }}"
|
||||
name="shipping_city" id="shipping_city" value="{{ $shippingAddress['city'] ?? '' }}"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_country">Land <span class="text-danger">*</span></label>
|
||||
<select class="form-control custom-select" name="shipping_country_id"
|
||||
id="shipping_country" required>
|
||||
@foreach ($availableCountries as $countryOption)
|
||||
<option value="{{ $countryOption->id }}"
|
||||
{{ $shippingAddress['country'] && $shippingAddress['country']->id == $countryOption->id ? 'selected' : '' }}>
|
||||
{{ $countryOption->getLocated() }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="shipping_phone">Telefon <small class="text-muted">(empfohlen)</small></label>
|
||||
<input type="text" class="form-control" name="shipping_phone" id="shipping_phone"
|
||||
value="{{ $shippingAddress['phone'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
<i class="fas fa-times"></i> Abbrechen
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary" id="create-shipment-btn"
|
||||
{{ !empty($errors) ? 'disabled' : '' }}>
|
||||
<i class="fas fa-shipping-fast"></i> Sendung erstellen
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
46
resources/views/admin/dhl/modal_in_search_shipment.blade.php
Normal file
46
resources/views/admin/dhl/modal_in_search_shipment.blade.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{{-- Order Selection when no order ID provided --}}
|
||||
<div class="modal-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-search fa-3x text-primary mb-4"></i>
|
||||
<h4>Bestellung auswählen</h4>
|
||||
<p class="text-muted mb-4">Geben Sie eine Bestellungs-ID ein, um eine DHL-Sendung zu erstellen.</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 mx-auto">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">#</span>
|
||||
</div>
|
||||
<input type="number"
|
||||
class="form-control form-control-lg"
|
||||
id="order-id-input"
|
||||
placeholder="z.B. 12345"
|
||||
min="1">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary" type="button" id="load-order-btn">
|
||||
<i class="fas fa-search"></i> Laden
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<div class="mb-3">oder</div>
|
||||
<a href="{{ route('admin_sales_customers') }}"
|
||||
target="_blank"
|
||||
class="btn btn-outline-secondary">
|
||||
<i class="fas fa-external-link-alt"></i>
|
||||
In Bestellverwaltung suchen
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
<i class="fas fa-times"></i> Abbrechen
|
||||
</button>
|
||||
</div>
|
||||
306
resources/views/admin/dhl/modal_in_shipment_info.blade.php
Normal file
306
resources/views/admin/dhl/modal_in_shipment_info.blade.php
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
{{-- Shipment Information Display when shipments already exist --}}
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
{{-- Left Column: Order Info --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
Bestellinformationen
|
||||
</h6>
|
||||
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title">Bestellung #{{ $order->id }}</h6>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Kunde:</small>
|
||||
<strong>{{ $order->shopping_user->billing_firstname ?? '' }}
|
||||
{{ $order->shopping_user->billing_lastname ?? '' }}</strong>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Datum:</small>
|
||||
<strong>{{ $order->created_at->format('d.m.Y') }}</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Wert:</small>
|
||||
<strong>{{ number_format($order->total, 2, ',', '.') }} €</strong>
|
||||
</div>
|
||||
<div class="col-6 mt-2">
|
||||
<small class="text-muted d-block">Artikel:</small>
|
||||
<strong>{{ $order->shopping_order_items->count() }} Stück</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Right Column: Shipment Summary --}}
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-shipping-fast"></i>
|
||||
Sendungsübersicht
|
||||
</h6>
|
||||
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<div class="text-center mb-3">
|
||||
<i class="fas fa-box fa-2x text-success"></i>
|
||||
<h5 class="mt-2">{{ count($existingShipments) }} Sendung(en) erstellt</h5>
|
||||
</div>
|
||||
|
||||
<div class="row text-center">
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Letzte Sendung:</small>
|
||||
<strong>{{ date('d.m.Y H:i', strtotime($existingShipments[0]['created_at'])) }}</strong>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<small class="text-muted d-block">Status:</small>
|
||||
<span class="badge badge-{{ $existingShipments[0]['status'] == 'created' ? 'success' : 'warning' }}">
|
||||
{{ $existingShipments[0]['status_translated'] }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- Shipment Details --}}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h6 class="text-primary mb-3">
|
||||
<i class="fas fa-list"></i>
|
||||
Sendungsdetails
|
||||
</h6>
|
||||
|
||||
@foreach($existingShipments as $index => $shipment)
|
||||
<div class="card mb-3 {{ $shipment['type'] == 'outbound' ? 'border-primary' : 'border-info' }}">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<h6 class="mb-0">
|
||||
@if($shipment['type'] == 'outbound')
|
||||
<i class="fas fa-arrow-right text-primary"></i>
|
||||
Ausgehende Sendung
|
||||
@else
|
||||
<i class="fas fa-undo text-info"></i>
|
||||
Retoure
|
||||
@endif
|
||||
@if($index === 0)
|
||||
<span class="badge badge-primary ml-2">Neueste</span>
|
||||
@endif
|
||||
</h6>
|
||||
<span class="badge badge-{{ $shipment['status'] == 'created' ? 'success' : 'warning' }}">
|
||||
{{ $shipment['status_translated'] }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<small class="text-muted d-block">Sendungsnummer:</small>
|
||||
@if($shipment['shipment_number'])
|
||||
<code class="text-success">{{ $shipment['shipment_number'] }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</div>
|
||||
{{--
|
||||
<div class="col-sm-6">
|
||||
<small class="text-muted d-block">Tracking-Nummer:</small>
|
||||
@if($shipment['tracking_number'])
|
||||
<code class="text-info">{{ $shipment['tracking_number'] }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</div>
|
||||
--}}
|
||||
<div class="col-sm-6 mt-2">
|
||||
<small class="text-muted d-block">Produktcode:</small>
|
||||
<code>{{ $shipment['product_code'] }}</code>
|
||||
</div>
|
||||
<div class="col-sm-6 mt-2">
|
||||
<small class="text-muted d-block">Gewicht:</small>
|
||||
<strong>{{ number_format($shipment['weight'], 2) }} kg</strong>
|
||||
</div>
|
||||
<div class="col-sm-6 mt-2">
|
||||
<small class="text-muted d-block">Erstellt:</small>
|
||||
<strong>{{ date('d.m.Y H:i', strtotime($shipment['created_at'])) }}</strong>
|
||||
</div>
|
||||
@if($shipment['tracking_status'])
|
||||
<div class="col-sm-6 mt-2">
|
||||
<small class="text-muted d-block">Tracking-Status:</small>
|
||||
<span class="badge badge-info">{{ $shipment['tracking_status_translated'] }}</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-right">
|
||||
<div class="btn-group-vertical w-100">
|
||||
@if($shipment['label_path'])
|
||||
<a href="{{ route('admin.dhl.download-label', $shipment['id']) }}"
|
||||
class="btn btn-success btn-sm mb-2">
|
||||
<i class="fas fa-download"></i> Label herunterladen
|
||||
</a>
|
||||
@endif
|
||||
|
||||
<a href="{{ route('admin.dhl.show', $shipment['id']) }}"
|
||||
class="btn btn-outline-primary btn-sm mb-2" target="_blank">
|
||||
<i class="fas fa-eye"></i> Details anzeigen
|
||||
</a>
|
||||
{{-- Todo: Add tracking button
|
||||
@if($shipment['can_cancel'])
|
||||
<button type="button"
|
||||
class="btn btn-outline-warning btn-sm mb-2"
|
||||
onclick="cancelShipment({{ $shipment['id'] }})">
|
||||
<i class="fas fa-ban"></i> Stornieren
|
||||
</button>
|
||||
@endif
|
||||
|
||||
@if($shipment['type'] == 'outbound' && !$shipment['is_delivered'])
|
||||
<button type="button"
|
||||
class="btn btn-outline-info btn-sm"
|
||||
onclick="createReturnLabel({{ $shipment['id'] }})">
|
||||
<i class="fas fa-undo"></i> Retoure erstellen
|
||||
</button>
|
||||
@endif
|
||||
--}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Action Buttons --}}
|
||||
<div class="row mt-4">
|
||||
<div class="col-12 text-center">
|
||||
<div class="alert alert-info">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
<strong>Hinweis:</strong> Für diese Bestellung wurden bereits DHL-Sendungen erstellt.
|
||||
Sie können weitere Sendungen erstellen oder bestehende verwalten.
|
||||
</div>
|
||||
|
||||
<button type="button"
|
||||
class="btn btn-primary mr-2"
|
||||
onclick="createAdditionalShipment()">
|
||||
<i class="fas fa-plus"></i> Weitere Sendung erstellen
|
||||
</button>
|
||||
|
||||
<a href="{{ route('admin.dhl.cockpit') }}"
|
||||
class="btn btn-outline-secondary">
|
||||
<i class="fas fa-list"></i> Zum DHL-Cockpit
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
<i class="fas fa-times"></i> Schließen
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function cancelShipment(shipmentId) {
|
||||
if (!confirm('Möchten Sie diese Sendung wirklich stornieren?\n\nDieser Vorgang kann nicht rückgängig gemacht werden.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: `/admin/dhl/shipment/${shipmentId}/cancel`,
|
||||
method: 'DELETE',
|
||||
data: {
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showAlert('success', response.message);
|
||||
setTimeout(function() {
|
||||
location.reload();
|
||||
}, 2000);
|
||||
} else {
|
||||
showAlert('error', response.message);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
showAlert('error', 'Fehler beim Stornieren der Sendung.');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function createReturnLabel(shipmentId) {
|
||||
if (!confirm('Möchten Sie ein Retourenlabel für diese Sendung erstellen?')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: `/admin/dhl/shipment/${shipmentId}/return-label`,
|
||||
method: 'POST',
|
||||
data: {
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showAlert('success', response.message);
|
||||
setTimeout(function() {
|
||||
location.reload();
|
||||
}, 2000);
|
||||
} else {
|
||||
showAlert('error', response.message);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
showAlert('error', 'Fehler beim Erstellen des Retourenlabels.');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function createAdditionalShipment() {
|
||||
// Reload modal in create mode
|
||||
$.post('{{ route('modal_load') }}', {
|
||||
action: 'create-dhl-shipment',
|
||||
id: {{ $order->id }},
|
||||
force_create: true,
|
||||
_token: '{{ csrf_token() }}'
|
||||
}).done(function(response) {
|
||||
$('#modals-load-content .modal-dialog').html(response.html);
|
||||
}).fail(function() {
|
||||
alert('Fehler beim Laden des Erstellungsformulars.');
|
||||
});
|
||||
}
|
||||
|
||||
window.showAlert = function(type, message) {
|
||||
var alertClass = type === 'success' ? 'alert-success' : 'alert-danger';
|
||||
var iconClass = type === 'success' ? 'fas fa-check-circle' : 'fas fa-exclamation-circle';
|
||||
|
||||
var alertHtml = `
|
||||
<div class="alert ${alertClass} alert-dismissible fade show" role="alert">
|
||||
<i class="${iconClass}"></i>
|
||||
${message}
|
||||
<button type="button" class="close" data-dismiss="alert">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
$('.modal-body').prepend(alertHtml);
|
||||
|
||||
// Auto-hide success alerts after 5 seconds
|
||||
if (type === 'success') {
|
||||
setTimeout(function() {
|
||||
$('.alert-success').alert('close');
|
||||
}, 5000);
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize modal
|
||||
$(document).ready(function() {
|
||||
// Modal is ready for interaction
|
||||
});
|
||||
</script>
|
||||
|
|
@ -36,37 +36,37 @@
|
|||
@switch($shipment->status)
|
||||
@case('pending')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-warning">Wartend</span>
|
||||
<span class="badge badge-warning">{{ __('dhl.status.pending') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@case('created')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-success">Erstellt</span>
|
||||
<span class="badge badge-success">{{ __('dhl.status.created') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@case('shipped')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-primary">Versendet</span>
|
||||
<span class="badge badge-primary">{{ __('dhl.status.shipped') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@case('delivered')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-info">Zugestellt</span>
|
||||
<span class="badge badge-info">{{ __('dhl.status.delivered') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@case('cancelled')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-secondary">Storniert</span>
|
||||
<span class="badge badge-secondary">{{ __('dhl.status.cancelled') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@case('failed')
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-danger">Fehler</span>
|
||||
<span class="badge badge-danger">{{ __('dhl.status.failed') }}</span>
|
||||
</div>
|
||||
@break
|
||||
@default
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
<span class="badge badge-light">{{ $shipment->status }}</span>
|
||||
<span class="badge badge-light">{{ $shipment->getStatusTranslation() }}</span>
|
||||
</div>
|
||||
@endswitch
|
||||
</div>
|
||||
|
|
@ -85,8 +85,8 @@
|
|||
<div>
|
||||
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Sendungsnummer</div>
|
||||
<div class="h6 mb-0 font-weight-bold text-gray-800">
|
||||
@if($shipment->shipment_number)
|
||||
<code class="text-success">{{ $shipment->shipment_number }}</code>
|
||||
@if($shipment->dhl_shipment_no)
|
||||
<code class="text-success">{{ $shipment->dhl_shipment_no }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
|
|
@ -105,12 +105,12 @@
|
|||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tracking-Nummer</div>
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tracking</div>
|
||||
<div class="h6 mb-0 font-weight-bold text-gray-800">
|
||||
@if($shipment->tracking_number)
|
||||
<code class="text-info">{{ $shipment->tracking_number }}</code>
|
||||
@if(false)
|
||||
<code class="text-info">{{ $shipment->dhl_shipment_no }}</code>
|
||||
<br>
|
||||
<a href="{{ route('public.tracking') }}?tracking_number={{ $shipment->tracking_number }}"
|
||||
<a href="{{ route('public.tracking') }}?dhl_shipment_no={{ $shipment->dhl_shipment_no }}"
|
||||
target="_blank" class="text-muted small">
|
||||
<i class="fas fa-external-link-alt"></i> Verfolgen
|
||||
</a>
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<div>
|
||||
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Gewicht</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">
|
||||
{{ number_format($shipment->weight, 2) }} kg
|
||||
{{ number_format($shipment->weight_kg, 2, ',', '.') }} kg
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
|
|
@ -157,7 +157,7 @@
|
|||
<i class="fas fa-download"></i> Label herunterladen
|
||||
</a>
|
||||
@endif
|
||||
|
||||
{{-- Todo: Add tracking button
|
||||
@if($shipment->canCancel())
|
||||
<button type="button"
|
||||
class="btn btn-warning mr-2"
|
||||
|
|
@ -175,8 +175,8 @@
|
|||
<i class="fas fa-undo"></i> Retourenlabel erstellen
|
||||
</button>
|
||||
@endif
|
||||
|
||||
@if($shipment->tracking_number)
|
||||
--}}
|
||||
@if($shipment->dhl_shipment_no)
|
||||
<button type="button"
|
||||
class="btn btn-secondary mr-2"
|
||||
id="update-tracking-btn"
|
||||
|
|
@ -209,16 +209,49 @@
|
|||
<td class="font-weight-semibold">ID:</td>
|
||||
<td>#{{ $shipment->id }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">DHL Sendungsnummer:</td>
|
||||
<td>
|
||||
@if($shipment->dhl_shipment_no)
|
||||
<code class="text-success">{{ $shipment->dhl_shipment_no }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
{{--
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Routing-Code:</td>
|
||||
<td>
|
||||
@if($shipment->routing_code)
|
||||
<code class="text-info">{{ $shipment->routing_code }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
--}}
|
||||
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Rechnungsnummer:</td>
|
||||
<td>
|
||||
@if($shipment->billing_number)
|
||||
<code class="text-dark">{{ $shipment->billing_number }}</code>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Typ:</td>
|
||||
<td>
|
||||
@if($shipment->type == 'outbound')
|
||||
<span class="badge badge-primary">
|
||||
<i class="fas fa-arrow-right"></i> Ausgehend
|
||||
<i class="fas fa-arrow-right"></i> {{ __('dhl.type.outbound') }}
|
||||
</span>
|
||||
@else
|
||||
<span class="badge badge-info">
|
||||
<i class="fas fa-undo"></i> Retoure
|
||||
<i class="fas fa-undo"></i> {{ __('dhl.type.return') }}
|
||||
</span>
|
||||
@if($shipment->relatedShipment)
|
||||
<br>
|
||||
|
|
@ -233,23 +266,14 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Produktcode:</td>
|
||||
<td><code>{{ $shipment->product_code }}</code></td>
|
||||
<td class="font-weight-semibold">{{ __('dhl.fields.product_code') }}:</td>
|
||||
<td><code>{{ $shipment->product_code }}</code> - {{ $shipment->getProductCodeTranslation() }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Label-Format:</td>
|
||||
<td>{{ strtoupper($shipment->label_format) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Label gedruckt:</td>
|
||||
<td>
|
||||
@if($shipment->label_printed)
|
||||
<span class="badge badge-success">Ja</span>
|
||||
@else
|
||||
<span class="badge badge-secondary">Nein</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
|
@ -282,6 +306,124 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recipient Information -->
|
||||
@if($shipment->firstname || $shipment->lastname || $shipment->company || $shipment->recipient)
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-user text-warning"></i>
|
||||
Empfängerinformationen
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<table class="table table-sm">
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Name:</td>
|
||||
<td>
|
||||
@if($shipment->firstname || $shipment->lastname)
|
||||
{{ $shipment->firstname }} {{ $shipment->lastname }}
|
||||
@elseif($shipment->recipient && isset($shipment->recipient['firstname']))
|
||||
{{ $shipment->recipient['firstname'] }} {{ $shipment->recipient['lastname'] }}
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@if($shipment->company)
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Firma:</td>
|
||||
<td>
|
||||
@if($shipment->company)
|
||||
{{ $shipment->company }}
|
||||
@elseif($shipment->recipient && isset($shipment->recipient['company']))
|
||||
{{ $shipment->recipient['company'] }}
|
||||
@else
|
||||
<span class="text-muted">-</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Straße:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['street']))
|
||||
{{ $shipment->recipient['street'] }}
|
||||
@if(isset($shipment->recipient['houseNumber']))
|
||||
{{ $shipment->recipient['houseNumber'] }}
|
||||
@endif
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">PLZ:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['postalCode']))
|
||||
{{ $shipment->recipient['postalCode'] }}
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Stadt:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['city']))
|
||||
{{ $shipment->recipient['city'] }}
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<table class="table table-sm">
|
||||
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Land:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['country']))
|
||||
{{ $shipment->recipient['country'] }}
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">E-Mail:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['email']))
|
||||
<a href="mailto:{{ $shipment->recipient['email'] }}" class="text-primary">
|
||||
{{ $shipment->recipient['email'] }}
|
||||
</a>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Telefon:</td>
|
||||
<td>
|
||||
@if($shipment->recipient && isset($shipment->recipient['phone']))
|
||||
<a href="tel:{{ $shipment->recipient['phone'] }}" class="text-primary">
|
||||
{{ $shipment->recipient['phone'] }}
|
||||
</a>
|
||||
@else
|
||||
<span class="text-muted">Nicht verfügbar</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Order Information -->
|
||||
@if($shipment->shoppingOrder)
|
||||
<div class="card mb-4">
|
||||
|
|
@ -325,14 +467,12 @@
|
|||
<table class="table table-sm">
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Bestellwert:</td>
|
||||
<td><strong>{{ number_format($shipment->shoppingOrder->total, 2) }} €</strong></td>
|
||||
<td><strong>{{ number_format($shipment->shoppingOrder->total, 2, ',', '.') }} €</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font-weight-semibold">Status:</td>
|
||||
<td>
|
||||
<span class="badge badge-{{ $shipment->shoppingOrder->status == 'completed' ? 'success' : 'warning' }}">
|
||||
{{ $shipment->shoppingOrder->status }}
|
||||
</span>
|
||||
<span class="badge badge-pill badge-{{ $shipment->shoppingOrder->getShippedColor() }}">{{ $shipment->shoppingOrder->getShippedType() }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -345,9 +485,15 @@
|
|||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Right Column -->
|
||||
<div class="col-lg-4">
|
||||
|
||||
|
||||
<!-- Tracking Information -->
|
||||
@if($shipment->tracking_status || $shipment->tracking_number)
|
||||
@if($shipment->tracking_status || $shipment->dhl_shipment_no)
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
|
|
@ -370,30 +516,29 @@
|
|||
</div>
|
||||
@endif
|
||||
|
||||
@if($shipment->tracking_number)
|
||||
@if($shipment->dhl_shipment_no)
|
||||
<div class="text-center">
|
||||
<p>Verfolgen Sie diese Sendung direkt bei DHL:</p>
|
||||
<a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?lang=de&idc={{ $shipment->tracking_number }}"
|
||||
<a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?lang=de&idc={{ $shipment->dhl_shipment_no }}"
|
||||
target="_blank"
|
||||
class="btn btn-outline-warning">
|
||||
class="btn btn-warning">
|
||||
<i class="fas fa-external-link-alt"></i>
|
||||
Bei DHL verfolgen
|
||||
</a>
|
||||
<a href="{{ route('public.tracking') }}?tracking_number={{ $shipment->tracking_number }}"
|
||||
{{-- TODO: Tracking-Nummer ist nicht mehr verfügbar
|
||||
<a href="{{ route('public.tracking') }}?tracking_number={{ $shipment->dhl_shipment_no }}"
|
||||
target="_blank"
|
||||
class="btn btn-outline-info ml-2">
|
||||
<i class="fas fa-search"></i>
|
||||
Lokales Tracking
|
||||
</a>
|
||||
--}}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Right Column -->
|
||||
<div class="col-lg-4">
|
||||
|
||||
<!-- Related Shipments -->
|
||||
@if($shipment->type == 'outbound' && $shipment->relatedShipments && $shipment->relatedShipments->count() > 0)
|
||||
<div class="card mb-4">
|
||||
|
|
|
|||
171
resources/views/admin/level-reports/index.blade.php
Normal file
171
resources/views/admin/level-reports/index.blade.php
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
Level-Aufstieg Reports
|
||||
<span class="badge badge-info ml-2">{{ $promotions->count() }}</span>
|
||||
</h5>
|
||||
|
||||
<div class="card-body p-0">
|
||||
<!-- Filter Form -->
|
||||
<form method="GET" action="{{ route('admin.level-reports.index') }}" class="form-horizontal" id="form_filter_level_reports">
|
||||
<div class="form-row align-items-center px-4 pb-2 pt-3">
|
||||
<div class="col-6 col-sm-6 col-md-2 col-lg-2 mb-1">
|
||||
<select class="custom-select" name="month">
|
||||
<option value="">Alle Monate</option>
|
||||
@foreach($availableMonths as $key => $value)
|
||||
<option value="{{ $key }}" @if($filters['month'] == $key) selected @endif>{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-2 col-lg-2 mb-1">
|
||||
<select class="custom-select" name="year">
|
||||
<option value="">Alle Jahre</option>
|
||||
@foreach($availableYears as $year)
|
||||
<option value="{{ $year }}" @if($filters['year'] == $year) selected @endif>{{ $year }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
{{-- <div class="col-6 col-sm-6 col-md-2 col-lg-2 mb-1">
|
||||
<input type="number" class="form-control" name="user_id" placeholder="User ID" value="{{ $filters['user_id'] }}">
|
||||
</div> --}}
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="not_updated" name="not_updated" value="1" @if($filters['only_not_updated']) checked @endif>
|
||||
<label class="custom-control-label" for="not_updated">Nur nicht umgestellte User</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<button type="submit" class="btn btn-primary mr-2">Filter</button>
|
||||
<a href="{{ route('admin.level-reports.export', request()->query()) }}" class="btn btn-success">CSV Export</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@if($promotions->count() > 0)
|
||||
<!-- Statistiken -->
|
||||
<div class="px-4 pb-3">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">{{ $statistics['total_count'] }}</h4>
|
||||
<p class="card-text">Gesamt Aufstiege</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="card-subtitle mb-2 text-muted">Aufstiege nach Level</h6>
|
||||
@foreach($statistics['level_stats'] as $level => $count)
|
||||
<span class="badge badge-secondary mr-1">{{ $level }}: {{ $count }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tabelle -->
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover mb-0">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>Datum</th>
|
||||
<th>User</th>
|
||||
<th>Von Level</th>
|
||||
<th>Zu Level</th>
|
||||
<th>Aktueller Level</th>
|
||||
<th>KP Quali</th>
|
||||
<th>User KP</th>
|
||||
<th>PP Quali</th>
|
||||
<th>User PP</th>
|
||||
<th>Update</th>
|
||||
<th>Aktiv</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($promotions as $promotion)
|
||||
<tr class="@if($promotion['level_updated'] === 'Nein') table-warning @endif">
|
||||
<td>{{ $promotion['date'] }}</td>
|
||||
<td>
|
||||
<strong>{{ $promotion['first_name'] }} {{ $promotion['last_name'] }}</strong><br>
|
||||
<small class="text-muted">
|
||||
ID: {{ $promotion['user_id'] }}<br>
|
||||
{{ $promotion['email'] }}
|
||||
</small>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge badge-secondary">
|
||||
{{ $promotion['from_level_name'] }}
|
||||
</span>
|
||||
<br><small>ID: {{ $promotion['from_level_id'] }}</small>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge badge-success">
|
||||
{{ $promotion['to_level_name'] }}
|
||||
</span>
|
||||
<br><small>ID: {{ $promotion['to_level_id'] }}</small>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge badge-info">
|
||||
{{ $promotion['current_user_level_name'] }}
|
||||
</span>
|
||||
<br><small>ID: {{ $promotion['current_user_level_id'] ?? 'N/A' }}</small>
|
||||
</td>
|
||||
<td><span class="badge badge-outline-info">{{ number_format($promotion['to_level_qual_kp'], 0, ',', '.') }}</span></td>
|
||||
<td><span class="badge badge-outline-success">{{ number_format($promotion['sales_volume_points_sum'], 0, ',', '.') }}</span></td>
|
||||
<td><span class="badge badge-outline-info">{{ number_format($promotion['to_level_qual_pp'], 0, ',', '.') }}</span></td>
|
||||
<td><span class="badge badge-outline-success">{{ number_format($promotion['payline_points_qual_kp'], 0, ',', '.') }}</span></td>
|
||||
<td>
|
||||
@if($promotion['level_updated'] === 'Ja')
|
||||
<span class="badge badge-success">Ja</span>
|
||||
@else
|
||||
<span class="badge badge-warning">Nein</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($promotion['active_account'] === 'Ja')
|
||||
<span class="badge badge-success">Ja</span>
|
||||
@else
|
||||
<span class="badge badge-danger">Nein</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if($statistics['period_stats'])
|
||||
<!-- Periode Statistiken -->
|
||||
<div class="px-4 py-3 border-top">
|
||||
<h6 class="text-muted mb-2">Aufstiege nach Zeitraum</h6>
|
||||
@foreach($statistics['period_stats'] as $period => $count)
|
||||
<span class="badge badge-outline-default mr-1">{{ $period }}: {{ $count }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<div class="px-4 py-5 text-center">
|
||||
<h5 class="text-muted">Keine Level-Aufstiege gefunden</h5>
|
||||
<p class="text-muted">Mit den aktuellen Filtern wurden keine Einträge gefunden.</p>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Auto-submit Form bei Änderung der Filter
|
||||
const selects = document.querySelectorAll('#form_filter_level_reports select, #form_filter_level_reports input[type="checkbox"]');
|
||||
selects.forEach(function(select) {
|
||||
select.addEventListener('change', function() {
|
||||
document.getElementById('form_filter_level_reports').submit();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -2,15 +2,15 @@
|
|||
<!-- Status -->
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-1">
|
||||
<div class="col-md-2 mb-1">
|
||||
<strong class="mr-2">{{ __('Status') }}:</strong>
|
||||
<span class="text-big">
|
||||
{!! \App\Services\Payment::getShoppingOrderBadge($shopping_order) !!}
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-md-3 mb-1">
|
||||
<div class="col-md-4 mb-1">
|
||||
<strong class="mr-2">{{ __('order.shipping') }}:</strong>
|
||||
|
||||
<div style="display: inline-block;">
|
||||
@if($shopping_order->payment_for !== 8)
|
||||
@if ($isAdmin)
|
||||
<button type="button" class="btn btn-sm btn-{{ $shopping_order->getShippedColor() }}"
|
||||
|
|
@ -19,6 +19,15 @@
|
|||
data-action="store_shipped">
|
||||
<span class="fa fa-edit"></span> <strong>{{ $shopping_order->getShippedType() }}</strong>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-sm btn-{{ $shopping_order->hasDhlShipments() ? 'primary' : 'secondary' }}"
|
||||
data-toggle="modal"
|
||||
data-id="{{ $shopping_order->id }}"
|
||||
data-target="#modals-load-content"
|
||||
data-action="create-dhl-shipment"
|
||||
data-route="{{ route('modal_load') }}">
|
||||
<i class="fas fa-shipping-fast"></i> DHL
|
||||
</button>
|
||||
@else
|
||||
<span class="text-big">
|
||||
<span
|
||||
|
|
@ -26,9 +35,11 @@
|
|||
</span>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 mb-1">
|
||||
<strong class="mr-2">{{ __('order.invoice') }}:</strong>
|
||||
<div style="display: inline-block;">
|
||||
@if ($isAdmin)
|
||||
@if ($shopping_order->isInvoice())
|
||||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'download']) }}"
|
||||
|
|
@ -65,16 +76,19 @@
|
|||
<a href="{{ $shopping_order->wp_invoice_path }}" class="btn btn-secondary btn-sm"><i
|
||||
class="fa fa-external-link-alt"></i> <i class="fa fa-download"></i></a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 mb-1">
|
||||
@if ($isAdmin && $shopping_order->payment_for != 8)
|
||||
<strong class="mr-2">{{ __('order.delivery_note') }}:</strong>
|
||||
<div style="display: inline-block;">
|
||||
@if ($shopping_order->isInvoice())
|
||||
<a href="{{ route('storage_file', [$shopping_order->id, 'delivery', 'download']) }}"
|
||||
class="btn btn-primary btn-sm"><i class="fa fa-download"></i></a>
|
||||
<a href="{{ route('storage_file', [$shopping_order->id, 'delivery', 'stream']) }}"
|
||||
target="_blank" class="btn btn-warning btn-sm"><i class="fa fa-eye"></i></a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@
|
|||
<th>{{__('tables.payment')}}</th>
|
||||
<th>{{__('tables.status')}}</th>
|
||||
<th>{{__('tables.shipping')}}</th>
|
||||
<th>{{__('dhl.dhl')}}</th>
|
||||
<th>{{__('tables.invoice')}}</th>
|
||||
<th>{{__('First name')}}</th>
|
||||
<th>{{__('Last name')}}</th>
|
||||
|
|
@ -89,6 +90,7 @@
|
|||
{ data: 'payment', name: 'payment', orderable: false },
|
||||
{ data: 'txaction', name: 'txaction' },
|
||||
{ data: 'shipped', name: 'shipped' },
|
||||
{ data: 'dhl_button', name: 'dhl_button' },
|
||||
{ data: 'invoice', name: 'invoice', orderable: false },
|
||||
{ data: 'shopping_user.billing_firstname', name: 'shopping_user.billing_firstname' },
|
||||
{ data: 'shopping_user.billing_lastname', name: 'shopping_user.billing_lastname' },
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
<th>{{__('Zahlung')}}</th>
|
||||
<th>{{__('tables.status')}}</th>
|
||||
<th>{{__('Versand')}}</th>
|
||||
<th>{{__('dhl.dhl')}}</th>
|
||||
<th>{{__('Art')}}</th>
|
||||
<th>{{__('Rechnung')}}</th>
|
||||
<th>{{__('First name')}}</th>
|
||||
|
|
@ -50,6 +51,7 @@
|
|||
{ data: 'payment', name: 'payment', orderable: false },
|
||||
{ data: 'txaction', name: 'txaction' },
|
||||
{ data: 'shipped', name: 'shipped' },
|
||||
{ data: 'dhl_button', name: 'dhl_button' },
|
||||
{ data: 'payment_for', name: 'payment_for' },
|
||||
{ data: 'invoice', name: 'invoice', orderable: false },
|
||||
{ data: 'shopping_user.shipping_firstname', name: 'shopping_user.shipping_firstname', orderable: false },
|
||||
|
|
|
|||
|
|
@ -177,6 +177,12 @@
|
|||
<strong>Deaktiviert:</strong> Versandlabel werden sofort erstellt (synchron)
|
||||
</small>
|
||||
</div>
|
||||
<div class="form-group col-sm-4">
|
||||
<button type="button" class="btn btn-secondary" id="test-dhl-login-btn">
|
||||
<i class="fas fa-key"></i> API Login testen
|
||||
</button>
|
||||
<div id="dhl-test-result" class="mt-3 text-left"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
|
@ -308,14 +314,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<button type="submit" name="action" value="save_dhl" class="btn btn-primary btn-sm mb-2">
|
||||
<i class="fas fa-truck"></i> DHL Einstellungen speichern
|
||||
</button>
|
||||
|
|
@ -324,4 +322,58 @@
|
|||
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// --- DHL LOGIN TEST ---
|
||||
$('#test-dhl-login-btn').click(function() {
|
||||
var btn = $(this);
|
||||
var spinner = btn.find('.spinner-border');
|
||||
var resultContainer = $('#dhl-test-result');
|
||||
|
||||
btn.prop('disabled', true);
|
||||
spinner.show();
|
||||
resultContainer.html('');
|
||||
|
||||
$.ajax({
|
||||
url: '{{ route("admin.dhl.test_login") }}',
|
||||
method: 'POST',
|
||||
data: {
|
||||
_token: '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
var alertClass = response.success ? 'alert-success' : 'alert-danger';
|
||||
var icon = response.success ? 'fas fa-check-circle' : 'fas fa-times-circle';
|
||||
var resultHtml = `
|
||||
<div class="alert ${alertClass} d-flex align-items-center" role="alert">
|
||||
<i class="${icon} mr-2"></i>
|
||||
<div>
|
||||
${response.message}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
resultContainer.html(resultHtml);
|
||||
},
|
||||
error: function(xhr) {
|
||||
var errorHtml = `
|
||||
<div class="alert alert-danger d-flex align-items-center" role="alert">
|
||||
<i class="fas fa-server mr-2"></i>
|
||||
<div>
|
||||
Ein Serverfehler ist aufgetreten. Prüfen Sie die Browser-Konsole und die Laravel-Logs.
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
resultContainer.html(errorHtml);
|
||||
},
|
||||
complete: function() {
|
||||
btn.prop('disabled', false);
|
||||
spinner.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<h4 class="font-weight-bold py-2 mb-2">
|
||||
{{ __('User') }}
|
||||
</h4>
|
||||
|
|
@ -12,23 +10,24 @@
|
|||
<table class="datatables-users table table-striped table-bordered">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{__('tables.firstname')}}</th>
|
||||
<th>{{__('tables.lastname')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('Zugang')}}</th>
|
||||
<th>{{__('verified')}} (seit)</th>
|
||||
<th>{{__('active')}} (seit)</th>
|
||||
<th>{{__('tables.account')}} (bis)</th>
|
||||
<th>{{__('tables.shop')}} (bis)</th>
|
||||
<th>{{__('tables.shop')}} ab</th>
|
||||
<th>{{__('Zahlungsarten')}}</th>
|
||||
<th>{{__('Land')}}</th>
|
||||
<th>{{__('Test Modus')}}</th>
|
||||
<th>{{__('login')}}</th>
|
||||
<th>{{__('delete')}}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{ __('tables.firstname') }}</th>
|
||||
<th>{{ __('tables.lastname') }}</th>
|
||||
<th>{{ __('E-Mail') }}</th>
|
||||
<th>{{ __('Zugang') }}</th>
|
||||
<th>{{ __('verified') }} (seit)</th>
|
||||
<th>{{ __('active') }} (seit)</th>
|
||||
<th>{{ __('tables.account') }} (bis)</th>
|
||||
<th>{{ __('tables.shop') }} (bis)</th>
|
||||
<th>{{ __('tables.shop') }} ab</th>
|
||||
<th>{{ __('Shop URL') }}</th>
|
||||
<th>{{ __('Zahlungsarten') }}</th>
|
||||
<th>{{ __('Land') }}</th>
|
||||
<th>{{ __('Test Modus') }}</th>
|
||||
<th>{{ __('login') }}</th>
|
||||
<th>{{ __('delete') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -44,31 +43,34 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="admin" class="form-label">{{__('Role')}}</label>
|
||||
<label for="admin" class="form-label">{{ __('Role') }}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="admin">
|
||||
{!! HTMLHelper::getRolesOptions() !!}
|
||||
{!! HTMLHelper::getRolesOptions() !!}
|
||||
</select>
|
||||
</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" name="save-admin" value="save-admin">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-admin"
|
||||
value="save-admin">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -82,32 +84,36 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="confirmed" checked>
|
||||
<span class="custom-control-label">{{__('verified')}}</span>
|
||||
<span class="custom-control-label">{{ __('verified') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="confirmation_date" class="form-label">{{__('Datum')}} seit</label>
|
||||
<input type="text" name="confirmation_date" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
<label for="confirmation_date" class="form-label">{{ __('Datum') }} seit</label>
|
||||
<input type="text" name="confirmation_date" class="form-control b-material-datetime-picker"
|
||||
placeholder="25.10.2020 10:30">
|
||||
</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" name="save-confirmed" value="save-confirmed">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-confirmed"
|
||||
value="save-confirmed">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -121,34 +127,38 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="active" checked>
|
||||
<span class="custom-control-label">{{__('active')}}</span>
|
||||
<span class="custom-control-label">{{ __('active') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="active_date" class="form-label">{{__('Datum')}} seit</label>
|
||||
<input type="text" name="active_date" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
<label for="active_date" class="form-label">{{ __('Datum') }} seit</label>
|
||||
<input type="text" name="active_date" class="form-control b-material-datetime-picker"
|
||||
placeholder="25.10.2020 10:30">
|
||||
</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" name="save-active" value="save-active">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-active"
|
||||
value="save-active">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -162,28 +172,32 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="payment_account" class="form-label">{{__('tables.account')}} bis</label>
|
||||
<input type="text" name="payment_account" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
<label for="payment_account" class="form-label">{{ __('tables.account') }} bis</label>
|
||||
<input type="text" name="payment_account" class="form-control b-material-datetime-picker"
|
||||
placeholder="25.10.2020 10:30">
|
||||
</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" name="save-account" value="save-account">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-account"
|
||||
value="save-account">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -197,27 +211,31 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="payment_shop" class="form-label">{{__('tables.shop')}} bis</label>
|
||||
<input type="text" name="payment_shop" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
<label for="payment_shop" class="form-label">{{ __('tables.shop') }} bis</label>
|
||||
<input type="text" name="payment_shop" class="form-control b-material-datetime-picker"
|
||||
placeholder="25.10.2020 10:30">
|
||||
</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" name="save-shop" value="save-shop">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-shop"
|
||||
value="save-shop">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -230,22 +248,25 @@
|
|||
<form class="modal-content" action="{{ route('admin_user_delete') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('löschen')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('löschen') }}</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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<hr>
|
||||
<h5>User löschen</h5>
|
||||
<p>Dieser User wird gelöscht, alle Daten werden auf den übergeordneten Berater übertragen, jedoch sind die Grunddaten als Admin hier noch einsehbar.</p>
|
||||
<p>Dieser User wird gelöscht, alle Daten werden auf den übergeordneten Berater übertragen, jedoch
|
||||
sind die Grunddaten als Admin hier noch einsehbar.</p>
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="realy_delete_user">
|
||||
<span class="custom-control-label">User wirklich löschen?</span>
|
||||
|
|
@ -262,8 +283,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-danger" name="user-delete" value="user-delete">{{__('User löschen')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-danger" name="user-delete"
|
||||
value="user-delete">{{ __('User löschen') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -277,29 +299,34 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p>Aktiviert den Testmodus beim den Zahlungsdiensten. Käufe werden als TEST markiert und die Mails gehen an devtest@mivita.care</p>
|
||||
<p><a target="_blank" href="https://docs.payone.com/display/public/PLATFORM/Testdata">Zu den Testdaten für den Kauf von Payone</a>.</p>
|
||||
<p>Aktiviert den Testmodus beim den Zahlungsdiensten. Käufe werden als TEST markiert und die Mails
|
||||
gehen an devtest@mivita.care</p>
|
||||
<p><a target="_blank" href="https://docs.payone.com/display/public/PLATFORM/Testdata">Zu den
|
||||
Testdaten für den Kauf von Payone</a>.</p>
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="test_mode" checked>
|
||||
<span class="custom-control-label">{{__('Test Mode')}}</span>
|
||||
<span class="custom-control-label">{{ __('Test Mode') }}</span>
|
||||
</label>
|
||||
</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" name="save-test_mode" value="save-test_mode">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-test_mode"
|
||||
value="save-test_mode">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -313,36 +340,41 @@
|
|||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{ __('User') }} <span
|
||||
class="font-weight-light">{{ __('create/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="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
<label for="email" class="form-label">{{ __('E-Mail') }}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{ __('E-Mail') }}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
@foreach(\App\Models\PaymentMethod::where('active', true)->get() as $payment_method)
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input input-payment-methods" name="payment_methods[]" value="{{$payment_method->id}}" @if($payment_method->default) checked @endif>
|
||||
<span class="custom-control-label">{{ $payment_method->name }}</span>
|
||||
</label>
|
||||
</div>
|
||||
@foreach (\App\Models\PaymentMethod::where('active', true)->get() as $payment_method)
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input input-payment-methods"
|
||||
name="payment_methods[]" value="{{ $payment_method->id }}"
|
||||
@if ($payment_method->default) checked @endif>
|
||||
<span class="custom-control-label">{{ $payment_method->name }}</span>
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-payment_methods" value="save-payment_methods">{{__('save')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-payment_methods"
|
||||
value="save-payment_methods">{{ __('save') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('#modals-admin').on('show.bs.modal', function (event) {
|
||||
$(document).ready(function() {
|
||||
$('#modals-admin').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
|
|
@ -350,64 +382,68 @@
|
|||
$('.selectpicker').selectpicker('refresh');
|
||||
});
|
||||
|
||||
$('#modals-confirmed').on('show.bs.modal', function (event) {
|
||||
$('#modals-confirmed').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='confirmed']").prop( "checked", button.data('confirmed'));
|
||||
$(this).find(".modal-body input[name='confirmation_date']").val(button.data('confirmation_date'));
|
||||
$(this).find(".modal-body input[name='confirmed']").prop("checked", button.data(
|
||||
'confirmed'));
|
||||
$(this).find(".modal-body input[name='confirmation_date']").val(button.data(
|
||||
'confirmation_date'));
|
||||
});
|
||||
|
||||
$('#modals-active').on('show.bs.modal', function (event) {
|
||||
$('#modals-active').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
$(this).find(".modal-body input[name='active']").prop("checked", button.data('active'));
|
||||
$(this).find(".modal-body input[name='active_date']").val(button.data('active_date'));
|
||||
});
|
||||
|
||||
$('#modals-account').on('show.bs.modal', function (event) {
|
||||
$('#modals-account').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='payment_account']").val(button.data('payment_account'));
|
||||
$(this).find(".modal-body input[name='payment_account']").val(button.data(
|
||||
'payment_account'));
|
||||
});
|
||||
|
||||
$('#modals-shop').on('show.bs.modal', function (event) {
|
||||
$('#modals-shop').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='payment_shop']").val(button.data('payment_shop'));
|
||||
});
|
||||
|
||||
$('#modals-user-delete').on('show.bs.modal', function (event) {
|
||||
$('#modals-user-delete').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
});
|
||||
|
||||
$('#modals-payment_methods').on('show.bs.modal', function (event) {
|
||||
|
||||
$('#modals-payment_methods').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
var payment_methods = button.data('payment_methods');
|
||||
if(payment_methods){
|
||||
if (payment_methods) {
|
||||
|
||||
$.each($(this).find(".modal-body .input-payment-methods"), function (i, item) {
|
||||
if($.inArray(parseInt($(item).val()), payment_methods) !== -1){
|
||||
$(item).prop( "checked", true);
|
||||
}else{
|
||||
$(item).prop( "checked", false);
|
||||
$.each($(this).find(".modal-body .input-payment-methods"), function(i, item) {
|
||||
if ($.inArray(parseInt($(item).val()), payment_methods) !== -1) {
|
||||
$(item).prop("checked", true);
|
||||
} else {
|
||||
$(item).prop("checked", false);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#modals-test_mode').on('show.bs.modal', function (event) {
|
||||
$('#modals-test_mode').on('show.bs.modal', function(event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='test_mode']").prop( "checked", button.data('test_mode'));
|
||||
$(this).find(".modal-body input[name='test_mode']").prop("checked", button.data(
|
||||
'test_mode'));
|
||||
});
|
||||
|
||||
|
||||
|
|
@ -415,23 +451,75 @@
|
|||
"processing": true,
|
||||
"serverSide": true,
|
||||
"ajax": '{!! route('admin_user_datatable') !!}',
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false},
|
||||
{ data: 'first_name', name: 'account.first_name' },
|
||||
{ data: 'last_name', name: 'account.last_name' },
|
||||
{ data: 'email', name: 'email' },
|
||||
{ data: 'admin', name: 'admin' },
|
||||
{ data: 'confirmed', name: 'confirmed' },
|
||||
{ data: 'active', name: 'active' },
|
||||
{ data: 'account', name: 'account' },
|
||||
{ data: 'shop', name: 'shop' },
|
||||
{ data: 'since', name: 'since' },
|
||||
{ data: 'my_payment_methods', name: 'my_payment_methods' },
|
||||
{ data: 'country', name: 'country' },
|
||||
{ data: 'test_mode', name: 'test_mode' },
|
||||
{ data: 'action_login', orderable: false, searchable: false},
|
||||
{ data: 'action_delete', orderable: false, searchable: false},
|
||||
"order": [
|
||||
[0, "desc"]
|
||||
],
|
||||
"columns": [{
|
||||
data: 'id',
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'first_name',
|
||||
name: 'account.first_name'
|
||||
},
|
||||
{
|
||||
data: 'last_name',
|
||||
name: 'account.last_name'
|
||||
},
|
||||
{
|
||||
data: 'email',
|
||||
name: 'email'
|
||||
},
|
||||
{
|
||||
data: 'admin',
|
||||
name: 'admin'
|
||||
},
|
||||
{
|
||||
data: 'confirmed',
|
||||
name: 'confirmed'
|
||||
},
|
||||
{
|
||||
data: 'active',
|
||||
name: 'active'
|
||||
},
|
||||
{
|
||||
data: 'account',
|
||||
name: 'account'
|
||||
},
|
||||
{
|
||||
data: 'shop',
|
||||
name: 'shop'
|
||||
},
|
||||
{
|
||||
data: 'shop_domain',
|
||||
name: 'shop_domain'
|
||||
},
|
||||
{
|
||||
data: 'since',
|
||||
name: 'since'
|
||||
},
|
||||
{
|
||||
data: 'my_payment_methods',
|
||||
name: 'my_payment_methods'
|
||||
},
|
||||
{
|
||||
data: 'country',
|
||||
name: 'country'
|
||||
},
|
||||
{
|
||||
data: 'test_mode',
|
||||
name: 'test_mode'
|
||||
},
|
||||
{
|
||||
data: 'action_login',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'action_delete',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
|
|
@ -442,4 +530,4 @@
|
|||
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -1,289 +1,417 @@
|
|||
@if (Auth::check())
|
||||
|
||||
|
||||
|
||||
@if(Auth::check())
|
||||
|
||||
<div id="layout-sidenav" class="{{ isset($layout_sidenav_horizontal) ? 'layout-sidenav-horizontal sidenav-horizontal container-p-x flex-grow-0' : 'layout-sidenav sidenav-vertical' }} sidenav bg-sidenav-theme">
|
||||
<div id="layout-sidenav"
|
||||
class="{{ isset($layout_sidenav_horizontal) ? 'layout-sidenav-horizontal sidenav-horizontal container-p-x flex-grow-0' : 'layout-sidenav sidenav-vertical' }} sidenav bg-sidenav-theme">
|
||||
|
||||
<!-- Inner -->
|
||||
<ul class="sidenav-inner{{ empty($layout_sidenav_horizontal) ? ' py-1' : '' }}">
|
||||
|
||||
<li class="sidenav-item{{ Request::is('home') ? ' active' : '' }}">
|
||||
<a href="{{ route('home') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-home"></i><div>{{__('navigation.home')}}</div></a>
|
||||
<a href="{{ route('home') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-home"></i>
|
||||
<div>{{ __('navigation.home') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if(Auth::user()->showSideNav())
|
||||
<li class="sidenav-item @if(Request::is('user/edit', 'user/membership', 'user/documents', 'user/payment/credit', 'user/abos/me', 'user/abos/detail/me/*')) open @endif">
|
||||
@if (Auth::user()->showSideNav())
|
||||
<li class="sidenav-item @if (Request::is(
|
||||
'user/edit',
|
||||
'user/membership',
|
||||
'user/documents',
|
||||
'user/payment/credit',
|
||||
'user/abos/me',
|
||||
'user/abos/detail/me/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-contact"></i>
|
||||
<div>{{ __('navigation.my_account') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('user/payment/credit') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_payment_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.credit') }}</div></a>
|
||||
</li>
|
||||
@if(Auth::user()->isVIP())
|
||||
<li class="sidenav-item{{ Request::is('user/abos/me', 'user/abos/detail/me/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_abos', ['me']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-refresh-circle"></i><div>{{ __('navigation.myabo') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
<a href="{{ route('user_payment_credit') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cash"></i>
|
||||
<div>{{ __('navigation.credit') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@if (Auth::user()->isVIP())
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/abos/me', 'user/abos/detail/me/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_abos', ['me']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-refresh-circle"></i>
|
||||
<div>{{ __('navigation.myabo') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="sidenav-item{{ Request::is('user/edit') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-create"></i><div>{{ __('navigation.my_data') }}</div></a>
|
||||
<a href="{{ route('user_edit') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-create"></i>
|
||||
<div>{{ __('navigation.my_data') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/membership') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_membership') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-people"></i><div>{{ __('navigation.membership') }}</div></a>
|
||||
<a href="{{ route('user_membership') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-people"></i>
|
||||
<div>{{ __('navigation.membership') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/documents') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_documents') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-document"></i><div>{{ __('navigation.documents') }}</div></a>
|
||||
<a href="{{ route('user_documents') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-document"></i>
|
||||
<div>{{ __('navigation.documents') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@if(Auth::user()->isActiveShop())
|
||||
<li class="sidenav-item @if(Request::is('user/shop')) open @endif">
|
||||
@if (Auth::user()->isActiveShop())
|
||||
<li class="sidenav-item @if (Request::is('user/shop')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-basket"></i>
|
||||
<div>{{ __('navigation.my_shop') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('user/shop') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cog"></i><div>{{ __('navigation.settings') }}</div></a>
|
||||
<a href="{{ route('user_shop') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cog"></i>
|
||||
<div>{{ __('navigation.settings') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/shop/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_orders') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cart"></i><div>{{ __('navigation.orders') }}</div></a>
|
||||
</li>
|
||||
@if(Auth::user()->isUserHasApi())
|
||||
<li class="sidenav-item{{ Request::is('user/shop/api/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_api_orders') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-appstore"></i><div>Externe Bestellungen </div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/shop/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_orders') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.orders') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@if (Auth::user()->isUserHasApi())
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/shop/api/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_api_orders') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-appstore"></i>
|
||||
<div>Externe Bestellungen </div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if(Request::is('user/team/*')) open @endif">
|
||||
@if (Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if (Request::is('user/team/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-people"></i>
|
||||
<div>{{ __('navigation.my_team') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
@if(Auth::user()->isVIP())
|
||||
<li class="sidenav-item{{ Request::is('user/team/members/show') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_members_show') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-people"></i><div>{{ __('navigation.overview') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
<a href="{{ route('user_team_members_show') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-people"></i>
|
||||
<div>{{ __('navigation.overview') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/team/structure') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_structure') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-funnel rotate-180" style="text-align: right"></i><div>{{ __('navigation.structure') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/team/export') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_export') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-download"></i><div>{{ __('navigation.export') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
<a href="{{ route('user_team_structure') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-funnel rotate-180"
|
||||
style="text-align: right"></i>
|
||||
<div>{{ __('navigation.structure') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/team/marketingplan') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_marketingplan') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-trending-up"></i><div>{{ __('navigation.marketingplan') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
<a href="{{ route('user_team_marketingplan') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-trending-up"></i>
|
||||
<div>{{ __('navigation.marketingplan') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if (Auth::user()->isVIP())
|
||||
<li class="sidenav-item{{ Request::is('user/team/export') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_export') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-download"></i>
|
||||
<div>{{ __('navigation.export') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="sidenav-item{{ Request::is('user/team/structure/old') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_structure_old') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-funnel rotate-180" style="text-align: right"></i><div>{{ __('navigation.structure') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/team/points') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_points') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropup-circle"></i><div>{{ __('navigation.points') }}</div></a>
|
||||
<a href="{{ route('user_team_points') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-arrow-dropup-circle"></i>
|
||||
<div>{{ __('navigation.points') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/team/add/member') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_team_add_member') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-person-add"></i><div>{{ __('navigation.new_member') }}</div></a>
|
||||
<a href="{{ route('user_team_add_member') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-person-add"></i>
|
||||
<div>{{ __('navigation.new_member') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if(Request::is('user/customers', 'user/customer/*', 'user/abos/ot', 'user/shop/*', 'user/abos/detail/ot/*')) open @endif">
|
||||
@if (Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if (Request::is('user/customers', 'user/customer/*', 'user/abos/ot', 'user/shop/*', 'user/abos/detail/ot/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-contacts"></i>
|
||||
<div>{{ __('navigation.my_clients') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('user/customers', 'user/customer/detail/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_customers') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-contacts"></i><div>{{ __('navigation.overview') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/customer/add/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_customer_add', ['new']) }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-person-add"></i><div>{{ __('navigation.add') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/shop/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_orders') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cart"></i><div>{{ __('navigation.orders') }}</div></a>
|
||||
</li>
|
||||
|
||||
@if(Auth::user()->isVIP())
|
||||
<li class="sidenav-item{{ Request::is('user/abos/ot', 'user/abos/detail/ot/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_abos', ['ot']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-refresh-circle"></i><div>{{ __('navigation.customerabos') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/customers', 'user/customer/detail/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_customers') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-contacts"></i>
|
||||
<div>{{ __('navigation.overview') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/customer/add/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_customer_add', ['new']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-person-add"></i>
|
||||
<div>{{ __('navigation.add') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/shop/orders', 'user/shop/order/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_shop_orders') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.orders') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if (Auth::user()->isVIP())
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/abos/ot', 'user/abos/detail/ot/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_abos', ['ot']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-refresh-circle"></i>
|
||||
<div>{{ __('navigation.customerabos') }}</div>
|
||||
<div class="pl-1 ml-auto">
|
||||
<div class="badge badge-secondary">VIP</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if(Request::is('user/orders', 'user/order/*')) open @endif">
|
||||
@if (Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if (Request::is('user/orders', 'user/order/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.my_orders') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('user/orders', 'user/order/detail/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_orders') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-ios-list"></i><div>{{ __('navigation.overview') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/orders', 'user/order/detail/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_orders') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-ios-list"></i>
|
||||
<div>{{ __('navigation.overview') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/order/my/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_order_my_delivery', ['me']) }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-basket"></i><div>{{ __('navigation.do_order') }}</div></a>
|
||||
<a href="{{ route('user_order_my_delivery', ['me']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-basket"></i>
|
||||
<div>{{ __('navigation.do_order') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('user/order/payment/links', 'user/order/payment/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_order_payment_links') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-link"></i><div>{{ __('navigation.payment_links') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/order/payment/links', 'user/order/payment/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_order_payment_links') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-link"></i>
|
||||
<div>{{ __('navigation.payment_links') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@endif
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if(Request::is('user/homepartys', 'user/homeparty/*')) open @endif">
|
||||
@if (Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if (Request::is('user/homepartys', 'user/homeparty/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-pizza"></i>
|
||||
<div>{{ __('navigation.my_homeparty') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('user/homepartys', 'user/homeparty/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_homepartys') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-ios-list"></i><div>{{ __('navigation.overview') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('user/homepartys', 'user/homeparty/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_homepartys') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-ios-list"></i>
|
||||
<div>{{ __('navigation.overview') }}</div>
|
||||
</a>
|
||||
<li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item{{ Request::is('user/downloadcenter') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_downloadcenter') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-download"></i><div>{{ __('navigation.downloadcenter') }}</div></a>
|
||||
</li>
|
||||
@if (Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item{{ Request::is('user/downloadcenter') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_downloadcenter') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-download"></i>
|
||||
<div>{{ __('navigation.downloadcenter') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->isAdmin())
|
||||
@if (Auth::user()->isAdmin())
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
<li class="sidenav-header small font-weight-semibold">ADMIN</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/leads') ? ' active' : '' }} {{ Request::is('admin/lead/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_leads') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-contacts"></i><div>{{ __('navigation.member') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/leads') ? ' active' : '' }} {{ Request::is('admin/lead/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_leads') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-contacts"></i>
|
||||
<div>{{ __('navigation.member') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/customers') ? ' active' : '' }} {{ Request::is('admin/customer/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_customers') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-contacts"></i><div>{{ __('navigation.clients') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/customers') ? ' active' : '' }} {{ Request::is('admin/customer/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_customers') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-contacts"></i>
|
||||
<div>{{ __('navigation.clients') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item @if(Request::is('admin/sales/*', 'admin/abos', 'admin/abos/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/sales/*', 'admin/abos', 'admin/abos/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.orders') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/sales/users', 'admin/sales/users/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_sales_users') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-contacts"></i><div>{{ __('navigation.member') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/sales/users', 'admin/sales/users/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_sales_users') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-contacts"></i>
|
||||
<div>{{ __('navigation.member') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/sales/customers', 'admin/sales/customers/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_sales_customers') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-contacts"></i><div>{{ __('navigation.clients') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/sales/customers', 'admin/sales/customers/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_sales_customers') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-contacts"></i>
|
||||
<div>{{ __('navigation.clients') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/abos', 'admin/abos/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_abos') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-refresh-circle"></i><div>{{ __('navigation.abos') }}</div></a>
|
||||
<a href="{{ route('admin_abos') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-refresh-circle"></i>
|
||||
<div>{{ __('navigation.abos') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/dhl/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin.dhl.cockpit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-send"></i><div>{{ __('navigation.dhl_cockpit') }}</div></a>
|
||||
<a href="{{ route('admin.dhl.cockpit') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon fa fa-shipping-fast"></i>
|
||||
<div>{{ __('navigation.dhl_cockpit') }}
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/payments/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/payments/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-cash"></i>
|
||||
<div>{{ __('navigation.payments') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/payments/invoice') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_payments_invoice') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropleft-circle"></i><div>{{ __('navigation.invoice') }}</div></a>
|
||||
<a href="{{ route('admin_payments_invoice') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-arrow-dropleft-circle"></i>
|
||||
<div>{{ __('navigation.invoice') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/payments/credit') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_payments_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropright-circle"></i><div>{{ __('navigation.credit') }}</div></a>
|
||||
<a href="{{ route('admin_payments_credit') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-arrow-dropright-circle"></i>
|
||||
<div>{{ __('navigation.credit') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/payments/sales/volume') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_payments_sales_volumes') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cart"></i><div>{{ __('navigation.sales_volumes') }}</div></a>
|
||||
<a href="{{ route('admin_payments_sales_volumes') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.sales_volumes') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/revenue') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_revenue') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cash"></i><div>{{ __('navigation.revenue') }}</div></a>
|
||||
<a href="{{ route('admin_revenue') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cash"></i>
|
||||
<div>{{ __('navigation.revenue') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/payments/taxadvisor') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_payments_taxadvisor') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-redo"></i><div>{{ __('navigation.tax_advisor') }}</div></a>
|
||||
<a href="{{ route('admin_payments_taxadvisor') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-redo"></i>
|
||||
<div>{{ __('navigation.tax_advisor') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/business/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/business/*') || Request::is('admin/business-optimized/*') || Request::is('admin/level-reports')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-business"></i>
|
||||
<div>{{ __('navigation.business') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/business/show') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_show') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-list"></i><div>{{ __('navigation.overview') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/business/structure', 'admin/business/structure/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_structure') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-funnel rotate-180" style="text-align: right"></i><div>{{ __('navigation.structure') }}</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/business-optimized/show') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_optimized') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-list"></i><div>{{ __('navigation.overview') }} <span class="badge badge-secondary">Optimized</span></div></a>
|
||||
<a href="{{ route('admin_business_optimized') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.overview') }}
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/business-optimized/structure') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_optimized_structure') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-funnel rotate-180" style="text-align: right"></i><div>{{ __('navigation.structure') }} <span class="badge badge-secondary">Optimized</span></div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/business-optimized/structure') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_optimized_structure') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion ion-md-funnel rotate-180"
|
||||
style="text-align: right"></i>
|
||||
<div>{{ __('navigation.structure') }}
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/business/points') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_points') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropup-circle"></i><div>{{ __('navigation.points') }}</div></a>
|
||||
<a href="{{ route('admin_business_points') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-arrow-dropup-circle"></i>
|
||||
<div>{{ __('navigation.points') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/business/commissions') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_business_commissions') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.commissions') }}</div></a>
|
||||
<a href="{{ route('admin_business_commissions') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cash"></i>
|
||||
<div>{{ __('navigation.commissions') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/level-reports') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin.level-reports.index') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-trending-up"></i>
|
||||
<div>{{ __('navigation.level_reports') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/product/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/product/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-cube"></i>
|
||||
<div>{{ __('navigation.products') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/product/show') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_product_show') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cube"></i><div>{{ __('navigation.overview') }}</div></a>
|
||||
<a href="{{ route('admin_product_show') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cube"></i>
|
||||
<div>{{ __('navigation.overview') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/product/categories') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_product_categories') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.categories') }}</div></a>
|
||||
<a href="{{ route('admin_product_categories') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.categories') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/product/ingredients') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_product_ingredients') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-ice-cream"></i><div>{{ __('navigation.ingredients') }}</div></a>
|
||||
<a href="{{ route('admin_product_ingredients') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-ice-cream"></i>
|
||||
<div>{{ __('navigation.ingredients') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
{{-- <li class="sidenav-item{{ Request::is('admin/product/attributes') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_product_attributes') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-apps"></i><div>{{ __('navigation.attribute') }}</div></a>
|
||||
</li>
|
||||
|
|
@ -292,102 +420,159 @@
|
|||
</li>
|
||||
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/downloadcenter/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/downloadcenter/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-download"></i>
|
||||
<div>{{ __('navigation.downloadcenter') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/downloadcenter/files') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_downloadcenter_files') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-document"></i><div>{{ __('navigation.files') }}</div></a>
|
||||
<a href="{{ route('admin_downloadcenter_files') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-document"></i>
|
||||
<div>{{ __('navigation.files') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/downloadcenter/tags') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_downloadcenter_tags') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-pricetag"></i><div>{{ __('navigation.tags') }}</div></a>
|
||||
<a href="{{ route('admin_downloadcenter_tags') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-pricetag"></i>
|
||||
<div>{{ __('navigation.tags') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/sites/*')) open @endif">
|
||||
|
||||
<li class="sidenav-item @if (Request::is('admin/sites/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-albums"></i>
|
||||
<div>{{ __('navigation.contents') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/sites/start') ? ' active' : '' }}">
|
||||
<a href="{{route('admin_sites', ['start'])}}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-document"></i><div>{{ __('navigation.start_site') }}</div></a>
|
||||
<a href="{{ route('admin_sites', ['start']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-document"></i>
|
||||
<div>{{ __('navigation.start_site') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/languages', 'admin/languages/*', 'admin/translate/*')) open @endif">
|
||||
<li class="sidenav-item @if (Request::is('admin/languages', 'admin/languages/*', 'admin/translate/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-globe"></i>
|
||||
<div>{{ __('navigation.translate') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/sites/start') ? ' active' : '' }}">
|
||||
<a href="{{ url('admin/languages') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>{{ __('navigation.translation') }}</div></a>
|
||||
<a href="{{ url('admin/languages') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-globe"></i>
|
||||
<div>{{ __('navigation.translation') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/translate/products') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_translate', ['products']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.products') }}</div></a>
|
||||
<a href="{{ route('admin_translate', ['products']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.products') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/translate/ingredients') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_translate', ['ingredients']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.ingredients') }}</div></a>
|
||||
<a href="{{ route('admin_translate', ['ingredients']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.ingredients') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/translate/user_levels') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_translate', ['user_levels']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.career_level') }}</div></a>
|
||||
<a href="{{ route('admin_translate', ['user_levels']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.career_level') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/translate/shippings') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_translate', ['shippings']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.shipping_costs') }}</div></a>
|
||||
<a href="{{ route('admin_translate', ['shippings']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.shipping_costs') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/translate/categories') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_translate', ['categories']) }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>{{ __('navigation.categories') }}</div></a>
|
||||
<a href="{{ route('admin_translate', ['categories']) }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-list"></i>
|
||||
<div>{{ __('navigation.categories') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->isSuperAdmin())
|
||||
@if (Auth::user()->isSuperAdmin())
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
<li class="sidenav-header small font-weight-semibold">SUPERADMIN</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/users', 'admin/user/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_users') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-ribbon"></i><div>{{ __('navigation.user_roles') }}</div></a>
|
||||
<a href="{{ route('admin_users') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-ribbon"></i>
|
||||
<div>{{ __('navigation.user_roles') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/shippings', 'admin/shipping/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_shippings') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-gift"></i><div>{{ __('navigation.shipping_costs') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/shippings', 'admin/shipping/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_shippings') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-gift"></i>
|
||||
<div>{{ __('navigation.shipping_costs') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/payment_methods') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_payment_methods') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cash"></i><div>{{ __('navigation.payment_methods') }}</div></a>
|
||||
<a href="{{ route('admin_payment_methods') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cash"></i>
|
||||
<div>{{ __('navigation.payment_methods') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/levels') ? ' active' : '' }} {{ Request::is('admin/level/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_levels') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-trending-up"></i><div>{{ __('navigation.career_level') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/levels') ? ' active' : '' }} {{ Request::is('admin/level/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_levels') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-trending-up"></i>
|
||||
<div>{{ __('navigation.career_level') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/countries') ? ' active' : '' }} {{ Request::is('admin/country/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_countries') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>{{ __('navigation.countries') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/countries') ? ' active' : '' }} {{ Request::is('admin/country/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_countries') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-globe"></i>
|
||||
<div>{{ __('navigation.countries') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/settings') ? ' active' : '' }} {{ Request::is('admin/setting/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cog"></i><div>{{ __('navigation.settings') }}</div></a>
|
||||
<li
|
||||
class="sidenav-item{{ Request::is('admin/settings') ? ' active' : '' }} {{ Request::is('admin/setting/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cog"></i>
|
||||
<div>{{ __('navigation.settings') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isSySAdmin())
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
<li class="sidenav-header small font-weight-semibold">SYSADMIN</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools', 'sysadmin/tool/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cog"></i><div>Tools</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/settings') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_settings') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cog"></i><div>{{ __('navigation.system_settings') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@endif
|
||||
@if (Auth::user()->isSySAdmin())
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
<li class="sidenav-header small font-weight-semibold">SYSADMIN</li>
|
||||
|
||||
<li class="sidenav-item">
|
||||
<a href="{{ route('logout') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-power"></i><div>{{ __('navigation.logout') }}</div></a>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/tools', 'sysadmin/tool/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_tools') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cog"></i>
|
||||
<div>Tools</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('sysadmin/settings') ? ' active' : '' }}">
|
||||
<a href="{{ route('sysadmin_settings') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cog"></i>
|
||||
<div>{{ __('navigation.system_settings') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
|
||||
<li class="sidenav-item">
|
||||
<a href="{{ route('logout') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-power"></i>
|
||||
<div>{{ __('navigation.logout') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,45 +1,59 @@
|
|||
@if (Auth::check())
|
||||
|
||||
|
||||
|
||||
@if(Auth::check())
|
||||
|
||||
<div id="layout-sidenav" class="{{ isset($layout_sidenav_horizontal) ? 'layout-sidenav-horizontal sidenav-horizontal container-p-x flex-grow-0' : 'layout-sidenav sidenav-vertical' }} sidenav bg-sidenav-theme">
|
||||
<div id="layout-sidenav"
|
||||
class="{{ isset($layout_sidenav_horizontal) ? 'layout-sidenav-horizontal sidenav-horizontal container-p-x flex-grow-0' : 'layout-sidenav sidenav-vertical' }} sidenav bg-sidenav-theme">
|
||||
|
||||
<!-- Inner -->
|
||||
<ul class="sidenav-inner{{ empty($layout_sidenav_horizontal) ? ' py-1' : '' }}">
|
||||
|
||||
|
||||
|
||||
@if(Auth::guard('customers')->check())
|
||||
@if (Auth::guard('customers')->check())
|
||||
|
||||
<li class="sidenav-item{{ Request::is('portal/dashboard') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.dashboard') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-home"></i><div>{{__('navigation.dashboard')}}</div></a>
|
||||
<a href="{{ route('portal.dashboard') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-home"></i>
|
||||
<div>{{ __('navigation.dashboard') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('portal/my-data/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.my_data.edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-person"></i><div>{{ __('navigation.my_data') }}</div></a>
|
||||
<a href="{{ route('portal.my_data.edit') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-person"></i>
|
||||
<div>{{ __('navigation.my_data') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('portal/my-orders', 'portal/my-orders/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.my_orders') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cart"></i><div>{{ __('navigation.my_orders') }}</div></a>
|
||||
</li>
|
||||
@if(Auth::user()->is_admin || Util::isTestSystem(true))
|
||||
<li class="sidenav-item{{ Request::is('portal/subscriptions') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.my_subscriptions') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-refresh-circle"></i><div>{{ __('navigation.myabo') }} <span class="badge badge-warning">DEV</span></div> </a>
|
||||
<a href="{{ route('portal.my_orders') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cart"></i>
|
||||
<div>{{ __('navigation.my_orders') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@if (Auth::user()->is_admin || Util::isTestSystem(true))
|
||||
<li class="sidenav-item{{ Request::is('portal/subscriptions') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.my_subscriptions') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-refresh-circle"></i>
|
||||
<div>{{ __('navigation.myabo') }} <span class="badge badge-warning">DEV</span></div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
{{--
|
||||
<li class="sidenav-item{{ Request::is('portal/settings') ? ' active' : '' }}">
|
||||
<a href="{{ route('portal.settings') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-settings"></i><div>{{ __('navigation.settings') }}</div></a>
|
||||
</li>
|
||||
--}}
|
||||
--}}
|
||||
@endif
|
||||
<li class="sidenav-divider mb-1"></li>
|
||||
@if(Auth::guard('customers')->check())
|
||||
@if (Auth::guard('customers')->check())
|
||||
<li class="sidenav-item">
|
||||
<a href="{{ Util::getMyMivitaShopUrl() }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cart"></i><div>{{ __('navigation.to_shop') }}</div></a>
|
||||
<a href="{{ Util::getCustomerUserShopDomain() }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-cart"></i>
|
||||
<div>{{ __('navigation.to_shop') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="sidenav-item">
|
||||
<a href="{{ route('portal.logout') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-power"></i><div>{{ __('navigation.logout') }}</div></a>
|
||||
<a href="{{ route('portal.logout') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-ios-power"></i>
|
||||
<div>{{ __('navigation.logout') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -138,8 +138,8 @@
|
|||
<strong>Probleme bei der Sendungsverfolgung?</strong><br>
|
||||
Kontaktieren Sie uns unter
|
||||
<a href="mailto:support@mivita.care" class="text-primary">support@mivita.care</a>
|
||||
oder besuchen Sie unsere
|
||||
<a href="{{ route('contact_create') }}" class="text-primary">Kontaktseite</a>.
|
||||
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -15,24 +15,24 @@
|
|||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<!-- Error Message Display -->
|
||||
@if(isset($error))
|
||||
@if (isset($error))
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa fa-exclamation-triangle mr-2"></i>
|
||||
{{ $error }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<h4 class="font-weight-bold py-2 mb-2">
|
||||
{{ __('navigation.my_team') }}
|
||||
</h4>
|
||||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
{{__('team.business')}} {{__('navigation.overview')}}
|
||||
@if(isset($performance) && isset($performance['version']))
|
||||
@if($performance['version'] === 'Optimized')
|
||||
<span class="badge badge-success ml-2">{{ __('team.optimized') }}</span>
|
||||
{{ __('team.business') }} {{ __('navigation.overview') }}
|
||||
@if (isset($performance) && isset($performance['version']))
|
||||
@if ($performance['version'] === 'Optimized')
|
||||
<span class="badge badge-default ml-2">v2</span>
|
||||
@elseif($performance['version'] === 'Standard')
|
||||
<span class="badge badge-info ml-2">{{ __('team.standard_monitoring') }}</span>
|
||||
@elseif($performance['version'] === 'Fallback')
|
||||
|
|
@ -42,152 +42,166 @@
|
|||
</h5>
|
||||
|
||||
<!-- Performance Metrics Display -->
|
||||
@if(isset($performance) && config('app.debug'))
|
||||
<div class="card-body border-bottom">
|
||||
<div class="alert alert-info mb-0">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-clock mr-1"></i>
|
||||
<strong>{{ __('team.loading_time') }}</strong> {{ $performance['execution_time'] }}ms
|
||||
</div>
|
||||
@if(isset($performance['memory_used']))
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-memory mr-1"></i>
|
||||
<strong>{{ __('team.memory') }}</strong> {{ $performance['memory_used'] }}
|
||||
</div>
|
||||
@endif
|
||||
@if(isset($performance['user_count']))
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-users mr-1"></i>
|
||||
<strong>{{ __('team.team_size') }}</strong> {{ $performance['user_count'] }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-cog mr-1"></i>
|
||||
<strong>{{ $performance['version'] }}</strong>
|
||||
@if(isset($performance['calculation_type']))
|
||||
<span class="badge badge-sm {{ $performance['calculation_type'] === 'Live' ? 'badge-warning' : 'badge-success' }}">
|
||||
{{ $performance['calculation_type'] }}
|
||||
</span>
|
||||
@if (isset($performance) && config('app.debug'))
|
||||
<div class="card-body border-bottom">
|
||||
<div class="alert alert-info mb-0">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-clock mr-1"></i>
|
||||
<strong>{{ __('team.loading_time') }}</strong> {{ $performance['execution_time'] }}ms
|
||||
</div>
|
||||
@if (isset($performance['memory_used']))
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-memory mr-1"></i>
|
||||
<strong>{{ __('team.memory') }}</strong> {{ $performance['memory_used'] }}
|
||||
</div>
|
||||
@endif
|
||||
@if (isset($performance['user_count']))
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-users mr-1"></i>
|
||||
<strong>{{ __('team.team_size') }}</strong> {{ $performance['user_count'] }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-md-3">
|
||||
<i class="fa fa-cog mr-1"></i>
|
||||
<strong>{{ $performance['version'] }}</strong>
|
||||
@if (isset($performance['calculation_type']))
|
||||
<span
|
||||
class="badge badge-sm {{ $performance['calculation_type'] === 'Live' ? 'badge-warning' : 'badge-success' }}">
|
||||
{{ $performance['calculation_type'] }}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card-body p-0">
|
||||
{!! Form::open(['action' => route('user_team_members_show'), 'class' => 'form-horizontal', 'id'=>'form_filter_team_user']) !!}
|
||||
{!! Form::open([
|
||||
'action' => route('user_team_members_show'),
|
||||
'class' => 'form-horizontal',
|
||||
'id' => 'form_filter_team_user',
|
||||
]) !!}
|
||||
|
||||
<div class="form-row align-items-center px-4 pb-2 pt-3">
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_month">
|
||||
@foreach($filter_months as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('team_user_filter_month') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_year">
|
||||
@foreach($filter_years as $key=>$value)
|
||||
<option value="{{$value}}" @if(session('team_user_filter_year') == $value) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_active">
|
||||
@foreach($filter_active as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('team_user_filter_active') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_level">
|
||||
@foreach($filter_levels as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('team_user_filter_level') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
@foreach ($filter_months as $key => $value)
|
||||
<option value="{{ $key }}" @if (session('team_user_filter_month') == $key) selected @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_year">
|
||||
@foreach ($filter_years as $key => $value)
|
||||
<option value="{{ $value }}" @if (session('team_user_filter_year') == $value) selected @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_active">
|
||||
@foreach ($filter_active as $key => $value)
|
||||
<option value="{{ $key }}" @if (session('team_user_filter_active') == $key) selected @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_level">
|
||||
@foreach ($filter_levels as $key => $value)
|
||||
<option value="{{ $key }}" @if (session('team_user_filter_level') == $key) selected @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row align-items-center px-4 pb-3">
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_team" name="team_user_filter_next_level">
|
||||
@foreach($filter_next_level as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('team_user_filter_next_level') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
@foreach ($filter_next_level as $key => $value)
|
||||
<option value="{{ $key }}" @if (session('team_user_filter_next_level') == $key) selected @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
<!-- Zusätzliche Controls -->
|
||||
@if(isset($performance) && config('app.debug'))
|
||||
<div class="px-4 pb-2">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="btn-group" role="group">
|
||||
<button type="button" class="btn btn-info btn-sm" onclick="showPerformanceDetails()">
|
||||
<i class="fa fa-chart-line"></i> {{ __('team.performance_details') }}
|
||||
</button>
|
||||
<a href="{{ route('user_team_structure') }}" class="btn btn-outline-secondary btn-sm">
|
||||
<i class="fa fa-sitemap"></i> {{ __('team.team_structure') }}
|
||||
</a>
|
||||
<a href="{{ route('user_team_add_member') }}" class="btn btn-outline-primary btn-sm">
|
||||
<i class="fa fa-user-plus"></i> {{ __('team.new_member') }}
|
||||
</a>
|
||||
@if (isset($performance) && config('app.debug'))
|
||||
<div class="px-4 pb-2">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="btn-group" role="group">
|
||||
<button type="button" class="btn btn-info btn-sm" onclick="showPerformanceDetails()">
|
||||
<i class="fa fa-chart-line"></i> {{ __('team.performance_details') }}
|
||||
</button>
|
||||
<a href="{{ route('user_team_structure') }}" class="btn btn-outline-secondary btn-sm">
|
||||
<i class="fa fa-sitemap"></i> {{ __('team.team_structure') }}
|
||||
</a>
|
||||
<a href="{{ route('user_team_add_member') }}" class="btn btn-outline-primary btn-sm">
|
||||
<i class="fa fa-user-plus"></i> {{ __('team.new_member') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<div class="btn-group" role="group">
|
||||
@if(isset($optimized) && $optimized)
|
||||
<button type="button" class="btn btn-sm btn-success" onclick="toggleDataTableMode('optimized')" id="btn-optimized">
|
||||
<i class="fa fa-rocket"></i> {{ __('team.optimized_action') }}
|
||||
<div class="col-md-4 text-right">
|
||||
<div class="btn-group" role="group">
|
||||
@if (isset($optimized) && $optimized)
|
||||
<button type="button" class="btn btn-sm btn-success"
|
||||
onclick="toggleDataTableMode('optimized')" id="btn-optimized">
|
||||
<i class="fa fa-rocket"></i> {{ __('team.optimized_action') }}
|
||||
</button>
|
||||
@endif
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary"
|
||||
onclick="toggleDataTableMode('standard')" id="btn-standard">
|
||||
<i class="fa fa-table"></i> {{ __('team.standard_action') }}
|
||||
</button>
|
||||
@endif
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary" onclick="toggleDataTableMode('standard')" id="btn-standard">
|
||||
<i class="fa fa-table"></i> {{ __('team.standard_action') }}
|
||||
</button>
|
||||
@if(isset($forceLiveCalculation) && !$forceLiveCalculation)
|
||||
<button type="button" class="btn btn-sm btn-outline-warning" onclick="enableLiveCalculation()" id="btn-live">
|
||||
<i class="fa fa-sync"></i> Live
|
||||
</button>
|
||||
@else
|
||||
<button type="button" class="btn btn-sm btn-warning" onclick="disableLiveCalculation()" id="btn-live">
|
||||
<i class="fa fa-sync fa-spin"></i> Live
|
||||
</button>
|
||||
@endif
|
||||
@if (isset($forceLiveCalculation) && !$forceLiveCalculation)
|
||||
<button type="button" class="btn btn-sm btn-outline-warning"
|
||||
onclick="enableLiveCalculation()" id="btn-live">
|
||||
<i class="fa fa-sync"></i> Live
|
||||
</button>
|
||||
@else
|
||||
<button type="button" class="btn btn-sm btn-warning" onclick="disableLiveCalculation()"
|
||||
id="btn-live">
|
||||
<i class="fa fa-sync fa-spin"></i> Live
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-team-users">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('team.ID') }}</th>
|
||||
<th>{{__('team.Ebene') }}</th>
|
||||
<th>{{ __('team.Level') }}</th>
|
||||
<th>{{ __('team.KD') }}</th>
|
||||
<th>{{__('team.KU')}}</th>
|
||||
<th>{{__('team.TP')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('First name')}}</th>
|
||||
<th>{{__('Last name')}}</th>
|
||||
<th>{{__('team.next_level')}}</th>
|
||||
<th>{{__('tables.account')}}</th>
|
||||
<th>{{__('team.bis')}}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('team.ID') }}</th>
|
||||
<th>{{ __('team.Ebene') }}</th>
|
||||
<th>{{ __('team.Level') }}</th>
|
||||
<th>{{ __('team.KD') }}</th>
|
||||
<th>{{ __('team.KU') }}</th>
|
||||
<th>{{ __('team.TP') }}</th>
|
||||
<th>{{ __('E-Mail') }}</th>
|
||||
<th>{{ __('First name') }}</th>
|
||||
<th>{{ __('Last name') }}</th>
|
||||
<th>{{ __('team.next_level') }}</th>
|
||||
<th>{{ __('tables.account') }}</th>
|
||||
<th>{{ __('team.bis') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
|
|
@ -195,144 +209,209 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Performance Details Modal -->
|
||||
@if(isset($performance) && config('app.debug'))
|
||||
<div class="modal fade" id="performanceModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{ __('team.performance_metrics_team_overview') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-sm">
|
||||
<tr>
|
||||
<td><strong>{{ __('team.execution_time') }}</strong></td>
|
||||
<td>{{ $performance['execution_time'] }}ms</td>
|
||||
</tr>
|
||||
@if(isset($performance['memory_used']))
|
||||
<tr>
|
||||
<td><strong>{{ __('team.memory_usage') }}</strong></td>
|
||||
<td>{{ $performance['memory_used'] }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if(isset($performance['user_count']))
|
||||
<tr>
|
||||
<td><strong>{{ __('team.team_size') }}</strong></td>
|
||||
<td>{{ $performance['user_count'] }} User</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><strong>User ID:</strong></td>
|
||||
<td>{{ $performance['user_id'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Version:</strong></td>
|
||||
<td>{{ $performance['version'] ?? 'Standard' }}</td>
|
||||
</tr>
|
||||
@if(isset($performance['calculation_type']))
|
||||
<tr>
|
||||
<td><strong>Berechnungstyp:</strong></td>
|
||||
<td>
|
||||
<span class="badge {{ $performance['calculation_type'] === 'Live' ? 'badge-warning' : 'badge-success' }}">
|
||||
{{ $performance['calculation_type'] }}
|
||||
</span>
|
||||
@if($performance['calculation_type'] === 'Live')
|
||||
<small class="text-muted ml-2">Echtzeitberechnung ohne Cache</small>
|
||||
@else
|
||||
<small class="text-muted ml-2">{{ __('team.optimized_with_cache') }}</small>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><strong>Features:</strong></td>
|
||||
<td>
|
||||
<span class="badge badge-success">TreeCalcBotOptimized</span>
|
||||
<span class="badge badge-success">{{ __('team.performance_monitoring') }}</span>
|
||||
<span class="badge badge-success">Live Calculation</span>
|
||||
<span class="badge badge-success">Memory Optimization</span>
|
||||
<span class="badge badge-success">Error Handling</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ __('team.close') }}</button>
|
||||
@if (isset($performance) && config('app.debug'))
|
||||
<div class="modal fade" id="performanceModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{ __('team.performance_metrics_team_overview') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-sm">
|
||||
<tr>
|
||||
<td><strong>{{ __('team.execution_time') }}</strong></td>
|
||||
<td>{{ $performance['execution_time'] }}ms</td>
|
||||
</tr>
|
||||
@if (isset($performance['memory_used']))
|
||||
<tr>
|
||||
<td><strong>{{ __('team.memory_usage') }}</strong></td>
|
||||
<td>{{ $performance['memory_used'] }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if (isset($performance['user_count']))
|
||||
<tr>
|
||||
<td><strong>{{ __('team.team_size') }}</strong></td>
|
||||
<td>{{ $performance['user_count'] }} User</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><strong>User ID:</strong></td>
|
||||
<td>{{ $performance['user_id'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Version:</strong></td>
|
||||
<td>{{ $performance['version'] ?? 'Standard' }}</td>
|
||||
</tr>
|
||||
@if (isset($performance['calculation_type']))
|
||||
<tr>
|
||||
<td><strong>Berechnungstyp:</strong></td>
|
||||
<td>
|
||||
<span
|
||||
class="badge {{ $performance['calculation_type'] === 'Live' ? 'badge-warning' : 'badge-success' }}">
|
||||
{{ $performance['calculation_type'] }}
|
||||
</span>
|
||||
@if ($performance['calculation_type'] === 'Live')
|
||||
<small class="text-muted ml-2">Echtzeitberechnung ohne Cache</small>
|
||||
@else
|
||||
<small class="text-muted ml-2">{{ __('team.optimized_with_cache') }}</small>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><strong>Features:</strong></td>
|
||||
<td>
|
||||
<span class="badge badge-success">TreeCalcBotOptimized</span>
|
||||
<span class="badge badge-success">{{ __('team.performance_monitoring') }}</span>
|
||||
<span class="badge badge-success">Live Calculation</span>
|
||||
<span class="badge badge-success">Memory Optimization</span>
|
||||
<span class="badge badge-success">Error Handling</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary"
|
||||
data-dismiss="modal">{{ __('team.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<script>
|
||||
// Global Variables
|
||||
var oTable;
|
||||
|
||||
$( document ).ready(function() {
|
||||
|
||||
$(document).ready(function() {
|
||||
oTable = $('#datatable-team-users').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"stateSave": true,
|
||||
"searching": true,
|
||||
ajax: {
|
||||
url: getDataTableUrl(),
|
||||
data: function(d) {
|
||||
d.team_user_filter_name = $('input[name=team_user_filter_name]').val();
|
||||
d.team_user_filter_month = $('select[name=team_user_filter_month]').val();
|
||||
d.team_user_filter_year = $('select[name=team_user_filter_year]').val();
|
||||
d.team_user_filter_active = $('select[name=team_user_filter_active]').val();
|
||||
d.team_user_filter_level = $('select[name=team_user_filter_level]').val();
|
||||
d.team_user_filter_next_level = $('select[name=team_user_filter_next_level]').val();
|
||||
d.force_live_calculation = window.liveModeEnabled || false;
|
||||
}
|
||||
},
|
||||
"columns": [
|
||||
{ data: 'id', name: 'id', searchable: false, orderable: false },
|
||||
{ data: 'deep', name: 'deep', orderable: false, searchable: false },
|
||||
{ data: 'user_level', name: 'user_level', orderable: false, searchable: false },
|
||||
{ data: 'is_qual_kp', name: 'is_qual_kp', orderable: false, searchable: false },
|
||||
{ data: 'sales_volume_KP_points', name: 'sales_volume_KP_points', orderable: false, searchable: false },
|
||||
{ data: 'sales_volume_total', name: 'sales_volume_total', orderable: false, searchable: false },
|
||||
{ data: 'email', name: 'email', orderable: false, searchable: false},
|
||||
{ data: 'first_name', name: 'first_name', orderable: false, searchable: true },
|
||||
{ data: 'last_name', name: 'last_name', orderable: false, searchable: true },
|
||||
{ data: 'next_level_qualified', name: 'next_level_qualified', orderable: false, searchable: false },
|
||||
{ data: 'active_account', name: 'active_account', orderable: false, searchable: false },
|
||||
{ data: 'payment_account_date', name: 'payment_account_date', orderable: false, searchable: false },
|
||||
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/datatables-{{ \App::getLocale() }}.json"
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"stateSave": true,
|
||||
"searching": true,
|
||||
ajax: {
|
||||
url: getDataTableUrl(),
|
||||
data: function(d) {
|
||||
d.team_user_filter_name = $('input[name=team_user_filter_name]').val();
|
||||
d.team_user_filter_month = $('select[name=team_user_filter_month]').val();
|
||||
d.team_user_filter_year = $('select[name=team_user_filter_year]').val();
|
||||
d.team_user_filter_active = $('select[name=team_user_filter_active]').val();
|
||||
d.team_user_filter_level = $('select[name=team_user_filter_level]').val();
|
||||
d.team_user_filter_next_level = $('select[name=team_user_filter_next_level]')
|
||||
.val();
|
||||
d.force_live_calculation = window.liveModeEnabled || false;
|
||||
}
|
||||
});
|
||||
$('select.on_change_team').on('change', function(){
|
||||
},
|
||||
"columns": [{
|
||||
data: 'id',
|
||||
name: 'id',
|
||||
searchable: false,
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'deep',
|
||||
name: 'deep',
|
||||
orderable: true,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'user_level',
|
||||
name: 'user_level',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'is_qual_kp',
|
||||
name: 'is_qual_kp',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'sales_volume_KP_points',
|
||||
name: 'sales_volume_KP_points',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'sales_volume_total',
|
||||
name: 'sales_volume_total',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'email',
|
||||
name: 'email',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'first_name',
|
||||
name: 'first_name',
|
||||
orderable: false,
|
||||
searchable: true
|
||||
},
|
||||
{
|
||||
data: 'last_name',
|
||||
name: 'last_name',
|
||||
orderable: false,
|
||||
searchable: true
|
||||
},
|
||||
{
|
||||
data: 'next_level_qualified',
|
||||
name: 'next_level_qualified',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'active_account',
|
||||
name: 'active_account',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
{
|
||||
data: 'payment_account_date',
|
||||
name: 'payment_account_date',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
},
|
||||
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [
|
||||
[1, "asc"]
|
||||
],
|
||||
"language": {
|
||||
"url": "/js/datatables-{{ \App::getLocale() }}.json"
|
||||
}
|
||||
});
|
||||
$('select.on_change_team').on('change', function() {
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
$('input.on_keyup_team').on('keyup', function(){
|
||||
$('input.on_keyup_team').on('keyup', function() {
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
|
||||
// Filter für neue Felder hinzufügen
|
||||
$('select[name=team_user_filter_level]').on('change', function(){
|
||||
$('select[name=team_user_filter_level]').on('change', function() {
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
$('select[name=team_user_filter_next_level]').on('change', function(){
|
||||
|
||||
$('select[name=team_user_filter_next_level]').on('change', function() {
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Global Variables für DataTable-Mode
|
||||
window.dataTableMode = '{{ isset($optimized) && $optimized ? "optimized" : "standard" }}';
|
||||
window.dataTableMode = '{{ isset($optimized) && $optimized ? 'optimized' : 'standard' }}';
|
||||
window.liveModeEnabled = {{ isset($forceLiveCalculation) && $forceLiveCalculation ? 'true' : 'false' }};
|
||||
|
||||
|
||||
// DataTable URL basierend auf Modus
|
||||
function getDataTableUrl() {
|
||||
if (window.dataTableMode === 'optimized') {
|
||||
|
|
@ -340,77 +419,79 @@
|
|||
}
|
||||
return '{!! route('user_team_members_datatable') !!}';
|
||||
}
|
||||
|
||||
|
||||
// Toggle zwischen Standard und Optimized DataTable
|
||||
function toggleDataTableMode(mode) {
|
||||
if (mode === window.dataTableMode) return; // Bereits aktiver Modus
|
||||
|
||||
|
||||
window.dataTableMode = mode;
|
||||
|
||||
|
||||
// Button-Status aktualisieren
|
||||
$('.btn-group button[id^="btn-"]').removeClass('btn-success btn-outline-secondary').addClass('btn-outline-secondary');
|
||||
$('.btn-group button[id^="btn-"]').removeClass('btn-success btn-outline-secondary').addClass(
|
||||
'btn-outline-secondary');
|
||||
if (mode === 'optimized') {
|
||||
$('#btn-optimized').removeClass('btn-outline-secondary').addClass('btn-success');
|
||||
} else {
|
||||
$('#btn-standard').removeClass('btn-outline-secondary').addClass('btn-success');
|
||||
}
|
||||
|
||||
|
||||
// DataTable neu laden mit neuer URL
|
||||
oTable.ajax.url(getDataTableUrl()).load();
|
||||
|
||||
|
||||
// Status-Message anzeigen
|
||||
showMessage('{{ __('team.datatable_mode_switched', ['mode' => '']) }}'.replace(':mode', mode === 'optimized' ? '{{ __('team.optimized_action') }}' : '{{ __('team.standard_action') }}'), 'info');
|
||||
showMessage('{{ __('team.datatable_mode_switched', ['mode' => '']) }}'.replace(':mode', mode === 'optimized' ?
|
||||
'{{ __('team.optimized_action') }}' : '{{ __('team.standard_action') }}'), 'info');
|
||||
}
|
||||
|
||||
|
||||
// Live-Calculation aktivieren
|
||||
function enableLiveCalculation() {
|
||||
window.liveModeEnabled = true;
|
||||
$('#btn-live').removeClass('btn-outline-warning').addClass('btn-warning')
|
||||
.html('<i class="fa fa-sync fa-spin"></i> Live');
|
||||
|
||||
.html('<i class="fa fa-sync fa-spin"></i> Live');
|
||||
|
||||
// DataTable neu laden mit Live-Parameter
|
||||
oTable.ajax.reload();
|
||||
|
||||
|
||||
showMessage('Live-Berechnung aktiviert - Daten werden in Echtzeit berechnet', 'warning');
|
||||
}
|
||||
|
||||
|
||||
// Live-Calculation deaktivieren
|
||||
function disableLiveCalculation() {
|
||||
window.liveModeEnabled = false;
|
||||
$('#btn-live').removeClass('btn-warning').addClass('btn-outline-warning')
|
||||
.html('<i class="fa fa-sync"></i> Live');
|
||||
|
||||
.html('<i class="fa fa-sync"></i> Live');
|
||||
|
||||
// DataTable neu laden ohne Live-Parameter
|
||||
oTable.ajax.reload();
|
||||
|
||||
|
||||
showMessage('Live-Berechnung deaktiviert - Cache-Daten werden verwendet', 'success');
|
||||
}
|
||||
|
||||
|
||||
// Hilfsfunktion für Status-Messages
|
||||
function showMessage(message, type) {
|
||||
var alertClass = 'alert-info';
|
||||
if (type === 'success') alertClass = 'alert-success';
|
||||
if (type === 'warning') alertClass = 'alert-warning';
|
||||
if (type === 'error') alertClass = 'alert-danger';
|
||||
|
||||
|
||||
var messageHtml = '<div class="alert ' + alertClass + ' alert-dismissible fade show" role="alert">' +
|
||||
message +
|
||||
'<button type="button" class="close" data-dismiss="alert"><span>×</span></button>' +
|
||||
'</div>';
|
||||
|
||||
message +
|
||||
'<button type="button" class="close" data-dismiss="alert"><span>×</span></button>' +
|
||||
'</div>';
|
||||
|
||||
// Message am Anfang der Card einfügen
|
||||
$('.card-body').first().prepend(messageHtml);
|
||||
|
||||
|
||||
// Nach 5 Sekunden automatisch ausblenden
|
||||
setTimeout(function() {
|
||||
$('.alert-dismissible').alert('close');
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
@if(isset($performance))
|
||||
function showPerformanceDetails() {
|
||||
$('#performanceModal').modal('show');
|
||||
}
|
||||
|
||||
@if (isset($performance))
|
||||
function showPerformanceDetails() {
|
||||
$('#performanceModal').modal('show');
|
||||
}
|
||||
@endif
|
||||
</script>
|
||||
@endsection
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
{{__('team.business')}} {{__('team.structure')}}
|
||||
@if(isset($performance) && isset($performance['version']))
|
||||
@if($performance['version'] === 'Optimized')
|
||||
<span class="badge badge-success ml-2">{{ __('team.optimized') }}</span>
|
||||
<span class="badge badge-default ml-2">v2</span>
|
||||
@elseif($performance['version'] === 'Standard')
|
||||
<span class="badge badge-info ml-2">{{ __('team.standard_monitoring') }}</span>
|
||||
@elseif($performance['version'] === 'Fallback')
|
||||
|
|
|
|||
|
|
@ -1,101 +1,116 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>mivita care</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="Author" content="" />
|
||||
|
||||
<!-- mobile settings -->
|
||||
<meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" />
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>mivita care</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="Author" content="" />
|
||||
|
||||
<link href="{{ asset('fonts/opensans-raleway-pacifico.css?v=1') }}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/ionicons.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/linearicons.css') }}">
|
||||
<!-- mobile settings -->
|
||||
<meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" />
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
|
||||
<link href="{{ asset('assets/plugins/slider.revolution/css/extralayers.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-style.css?v1') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('fonts/opensans-raleway-pacifico.css?v=1') }}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/ionicons.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/linearicons.css') }}">
|
||||
|
||||
@if(!$user_shop)
|
||||
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="6aec027f-246a-42c9-9055-c64c82fc09fe" data-blockingmode="auto" type="text/javascript"></script>
|
||||
<link href="{{ asset('assets/plugins/slider.revolution/css/extralayers.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-style.css?v1') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||
@if (!$user_shop)
|
||||
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="6aec027f-246a-42c9-9055-c64c82fc09fe"
|
||||
data-blockingmode="auto" type="text/javascript"></script>
|
||||
|
||||
<!-- Facebook Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '454469462537092');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=454469462537092&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Facebook Pixel Code -->
|
||||
@else
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/cookieconsent.min.css') }}" />
|
||||
<script src="{{ asset('js/cookieconsent.min.js') }}"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function(){
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#b5c49b",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"button": {
|
||||
"background": "#d7d700",
|
||||
"text": "#ffffff"
|
||||
}
|
||||
},
|
||||
"content": {
|
||||
"message": "{{__('This website uses cookies') }}",
|
||||
"dismiss": "{{__('OK')}}",
|
||||
"link": "{{__('register.data_protection')}}",
|
||||
"href": "{{ url('datenschutz') }}",
|
||||
"target": "_blank",
|
||||
}
|
||||
})});
|
||||
</script>
|
||||
@endif
|
||||
<!-- Facebook Pixel Code -->
|
||||
<script>
|
||||
! function(f, b, e, v, n, t, s) {
|
||||
if (f.fbq) return;
|
||||
n = f.fbq = function() {
|
||||
n.callMethod ?
|
||||
n.callMethod.apply(n, arguments) : n.queue.push(arguments)
|
||||
};
|
||||
if (!f._fbq) f._fbq = n;
|
||||
n.push = n;
|
||||
n.loaded = !0;
|
||||
n.version = '2.0';
|
||||
n.queue = [];
|
||||
t = b.createElement(e);
|
||||
t.async = !0;
|
||||
t.src = v;
|
||||
s = b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t, s)
|
||||
}(window, document, 'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '454469462537092');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=454469462537092&ev=PageView&noscript=1" /></noscript>
|
||||
<!-- End Facebook Pixel Code -->
|
||||
@else
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/cookieconsent.min.css') }}" />
|
||||
<script src="{{ asset('js/cookieconsent.min.js') }}"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#b5c49b",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"button": {
|
||||
"background": "#d7d700",
|
||||
"text": "#ffffff"
|
||||
}
|
||||
},
|
||||
"content": {
|
||||
"message": "{{ __('This website uses cookies') }}",
|
||||
"dismiss": "{{ __('OK') }}",
|
||||
"link": "{{ __('register.data_protection') }}",
|
||||
"href": "{{ url('datenschutz') }}",
|
||||
"target": "_blank",
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
<style type="text/css">
|
||||
.text-primary {
|
||||
color:#a5d0a5 !important;
|
||||
}
|
||||
div.side-nav ul.list-group-bordered > li.list-group-item.active > a:hover{
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<style type="text/css">
|
||||
.text-primary {
|
||||
color: #a5d0a5 !important;
|
||||
}
|
||||
|
||||
<body class="smoothscroll enable-animation">
|
||||
div.side-nav ul.list-group-bordered>li.list-group-item.active>a:hover {
|
||||
color: #fff !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
@yield('layout-content')
|
||||
<!-- SCROLL TO TOP -->
|
||||
<a href="#" id="toTop"></a>
|
||||
<body class="smoothscroll enable-animation">
|
||||
|
||||
<!-- JAVASCRIPT FILES -->
|
||||
<script type="text/javascript">var plugin_path = "{{ asset('assets/plugins/') }}"</script>
|
||||
<script type="text/javascript" src="{{ asset('assets/plugins/jquery/jquery-2.2.3.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('assets/js/scripts.js') }}"></script>
|
||||
{{--<script type="text/javascript" src="{{ asset('assets/js/jquery.contact-form.js') }}"></script> --}}
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<script type="text/javascript" src="{{ asset('assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||
@yield('scripts')
|
||||
<script>
|
||||
@yield('layout-content')
|
||||
<!-- SCROLL TO TOP -->
|
||||
<a href="#" id="toTop"></a>
|
||||
|
||||
<!-- JAVASCRIPT FILES -->
|
||||
<script type="text/javascript">
|
||||
var plugin_path = "{{ asset('assets/plugins/') }}"
|
||||
</script>
|
||||
<script type="text/javascript" src="{{ asset('assets/plugins/jquery/jquery-2.2.3.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('assets/js/scripts.js') }}"></script>
|
||||
{{-- <script type="text/javascript" src="{{ asset('assets/js/jquery.contact-form.js') }}"></script> --}}
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<script type="text/javascript" src="{{ asset('assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}">
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="{{ asset('assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||
@yield('scripts')
|
||||
<script>
|
||||
/** CHECKOUT
|
||||
** *********************** **/
|
||||
// New Account show|hide
|
||||
|
|
@ -108,12 +123,13 @@
|
|||
jQuery('#shipping').slideToggle(200, function() {
|
||||
|
||||
// scroll down to shipping area.
|
||||
if(jQuery('#shipping').is(":visible")) {
|
||||
if (jQuery('#shipping').is(":visible")) {
|
||||
_scrollTo('#shipping', 150);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,214 +1,189 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>@if($user_shop->title) {{ $user_shop->title }}@endif | mivita care</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="Author" content="" />
|
||||
|
||||
<!-- mobile settings -->
|
||||
<meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" />
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>
|
||||
@if ($user_shop->title)
|
||||
{{ $user_shop->title }}
|
||||
@endif | mivita care
|
||||
</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="Author" content="" />
|
||||
|
||||
<link href="{{ asset('/fonts/opensans-raleway-pacifico.css?v=1') }}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/ionicons.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/linearicons.css') }}">
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/extralayers.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/custom-style.css?v1') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||
|
||||
@if(Util::isMivitaShop())
|
||||
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="6aec027f-246a-42c9-9055-c64c82fc09fe" data-blockingmode="auto" type="text/javascript"></script>
|
||||
<!-- Facebook Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '454469462537092');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=454469462537092&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Facebook Pixel Code -->
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-TKWXCX6');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
@else
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('/css/cookieconsent.min.css') }}" />
|
||||
<script src="{{ asset('/js/cookieconsent.min.js') }}"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function(){
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#b5c49b",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"button": {
|
||||
"background": "#d7d700",
|
||||
"text": "#ffffff"
|
||||
}
|
||||
},
|
||||
"content": {
|
||||
"message": "{{__('This website uses cookies') }}",
|
||||
"dismiss": "{{__('OK')}}",
|
||||
"link": "{{__('register.data_protection')}}",
|
||||
"href": "{{ url('datenschutz') }}",
|
||||
"target": "_blank",
|
||||
}
|
||||
})});
|
||||
</script>
|
||||
@endif
|
||||
<style type="text/css">
|
||||
.text-primary {
|
||||
color:#a5d0a5 !important;
|
||||
}
|
||||
div.side-nav ul.list-group-bordered > li.list-group-item.active > a:hover{
|
||||
color: #fff !important;
|
||||
}
|
||||
#sidepanel {
|
||||
width: 340px;
|
||||
}
|
||||
select.form-control {
|
||||
color: #535252 !important;
|
||||
border-color: #989a9c;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<!-- mobile settings -->
|
||||
<meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" />
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
|
||||
<body class="smoothscroll enable-animation">
|
||||
@if(Util::isMivitaShop())
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TKWXCX6"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
@endif
|
||||
@if(isset($mylangs))
|
||||
<link href="{{ asset('/fonts/opensans-raleway-pacifico.css?v=1') }}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/ionicons.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/linearicons.css') }}">
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/extralayers.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/custom-style.css?v1') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||
|
||||
<div id="sidepanel" class="sidepanel-light" data-init="{{ \Session::get('user_init_country_options') }}">
|
||||
<a id="sidepanel_close" href="#"><!-- close -->
|
||||
<i class="glyphicon glyphicon-remove"></i>
|
||||
</a>
|
||||
|
||||
<div class="sidepanel-content">
|
||||
|
||||
@if (isset($mylangs[\App\Services\Shop::getUserShopLang(null, 'webshop')]))
|
||||
@php($country = $mylangs[\App\Services\Shop::getUserShopLang(null, 'webshop')])
|
||||
<h2 class="sidepanel-title">{{ __('website.you_are_now_in_shop') }} {{ $country->getLocated() }}</h2>
|
||||
@endif
|
||||
<p>{{ __('website.you_are_now_in_shop_notice') }} </p>
|
||||
{!! Form::open(['route' => 'language.change']) !!}
|
||||
<label>{{ __('Delivery country') }}*</label>
|
||||
<select id="change_country_id" name="change_country_id" class="form-control pointer margin-bottom-20">
|
||||
@foreach ($mylangs as $mycid => $mycountry)
|
||||
<option value="{{ $mycid }}" @if($country->id === $mycountry->id || \Session::get('_options') ===$mycid ) selected @endif>{{ $mycountry->getLocated() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
<label>{{ __('website.language') }}*</label>
|
||||
<select id="change_locale_id" name="change_locale_id" class="form-control pointer margin-bottom-20">
|
||||
@foreach (\App\Services\UserService::getTransChange() as $code => $name)
|
||||
<option value="{{ strtolower($code) }}" @if(\App::getLocale() === strtolower($code) || \Session::get('user_init_country_options') === strtolower($code) ) selected @endif>{{ $name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<button class="btn btn-primary btn-block" type="submit">{{ __('website.change_country') }} </button>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@yield('layout-content')
|
||||
|
||||
<!-- SCROLL TO TOP -->
|
||||
<a href="#" id="toTop"></a>
|
||||
|
||||
<!-- JAVASCRIPT FILES -->
|
||||
<script type="text/javascript">var plugin_path = "{{ url('/assets/plugins/').'/' }}"</script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/jquery/jquery-2.2.3.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/scripts.js') }}"></script>
|
||||
{{-- <script type="text/javascript" src="{{ asset('/assets/js/jquery.contact-form.js') }}"></script> --}}
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||
@yield('scripts')
|
||||
|
||||
|
||||
|
||||
{{--
|
||||
<script type="text/javascript" src="https://secure.pay1.de/client-api/js/v1/payone_hosted_min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#cc_cardtype')
|
||||
$('#cc_cardholder_first')
|
||||
$('#cc_cardholder_last')
|
||||
$('#cc_cardpan')
|
||||
var data = {
|
||||
request : 'creditcardcheck',
|
||||
responsetype : 'REDIRECT', // JSON or REDIRECT available
|
||||
mode : 'live',
|
||||
mid : '10000',
|
||||
aid : '10001',
|
||||
portalid : '2000000',
|
||||
encoding : 'UTF-8',
|
||||
storecarddata : 'yes',
|
||||
hash : '19062005567ca72601cc9d031f9a94b1',
|
||||
cardholder : document.Testform.cardholder.value,
|
||||
cardpan : document.Testform.cardpan.value,
|
||||
cardtype : document.Testform.cardtype.value,
|
||||
cardexpiremonth : document.Testform.cardexpiremonth.value,
|
||||
cardexpireyear : document.Testform.cardexpireyear.value,
|
||||
cardcvc2 : document.Testform.cardcvc2.value,
|
||||
language : 'en'
|
||||
@if (Util::isMivitaShop())
|
||||
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="6aec027f-246a-42c9-9055-c64c82fc09fe"
|
||||
data-blockingmode="auto" type="text/javascript"></script>
|
||||
<!-- Facebook Pixel Code -->
|
||||
<script>
|
||||
! function(f, b, e, v, n, t, s) {
|
||||
if (f.fbq) return;
|
||||
n = f.fbq = function() {
|
||||
n.callMethod ?
|
||||
n.callMethod.apply(n, arguments) : n.queue.push(arguments)
|
||||
};
|
||||
var options = {
|
||||
return_type : 'object',
|
||||
callbackFunctionName: 'processPayoneResponse'
|
||||
};
|
||||
function processPayoneResponse(response) {
|
||||
if (response.get('status') == 'VALID') {
|
||||
document.Testform.cardpan.value=’’;
|
||||
document.Testform.cardcvc2.value=’’;
|
||||
document.Testform.pseudocardpan.value=response.get('pseudocardpan')
|
||||
document.Testform.submit();
|
||||
}
|
||||
else {
|
||||
alert(response.get('customermessage'));
|
||||
}
|
||||
}
|
||||
var request = new PayoneRequest(data, options);
|
||||
request.checkAndStore();
|
||||
if (!f._fbq) f._fbq = n;
|
||||
n.push = n;
|
||||
n.loaded = !0;
|
||||
n.version = '2.0';
|
||||
n.queue = [];
|
||||
t = b.createElement(e);
|
||||
t.async = !0;
|
||||
t.src = v;
|
||||
s = b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t, s)
|
||||
}(window, document, 'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '454469462537092');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=454469462537092&ev=PageView&noscript=1" /></noscript>
|
||||
<!-- End Facebook Pixel Code -->
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script>
|
||||
(function(w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({
|
||||
'gtm.start': new Date().getTime(),
|
||||
event: 'gtm.js'
|
||||
});
|
||||
var f = d.getElementsByTagName(s)[0],
|
||||
j = d.createElement(s),
|
||||
dl = l != 'dataLayer' ? '&l=' + l : '';
|
||||
j.async = true;
|
||||
j.src =
|
||||
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-TKWXCX6');
|
||||
</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
@else
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('/css/cookieconsent.min.css') }}" />
|
||||
<script src="{{ asset('/js/cookieconsent.min.js') }}"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#b5c49b",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"button": {
|
||||
"background": "#d7d700",
|
||||
"text": "#ffffff"
|
||||
}
|
||||
},
|
||||
"content": {
|
||||
"message": "{{ __('This website uses cookies') }}",
|
||||
"dismiss": "{{ __('OK') }}",
|
||||
"link": "{{ __('register.data_protection') }}",
|
||||
"href": "{{ url('datenschutz') }}",
|
||||
"target": "_blank",
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endif
|
||||
<style type="text/css">
|
||||
.text-primary {
|
||||
color: #a5d0a5 !important;
|
||||
}
|
||||
|
||||
div.side-nav ul.list-group-bordered>li.list-group-item.active>a:hover {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/* JSON response example
|
||||
{
|
||||
"status" : "ERROR",
|
||||
"errorcode" : "1078",
|
||||
"errormessage" : "Parameter {cardpan} incorrect or missing",
|
||||
"customermessage" : "Invalid cardpan. Please check the information on the card.",
|
||||
}
|
||||
#sidepanel {
|
||||
width: 340px;
|
||||
}
|
||||
|
||||
*/
|
||||
select.form-control {
|
||||
color: #535252 !important;
|
||||
border-color: #989a9c;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
</script>
|
||||
--}}
|
||||
<body class="smoothscroll enable-animation">
|
||||
@if (Util::isMivitaShop())
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TKWXCX6" height="0" width="0"
|
||||
style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
@endif
|
||||
@if (isset($mylangs))
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<div id="sidepanel" class="sidepanel-light" data-init="{{ \Session::get('user_init_country_options') }}">
|
||||
<a id="sidepanel_close" href="#"><!-- close -->
|
||||
<i class="glyphicon glyphicon-remove"></i>
|
||||
</a>
|
||||
|
||||
<div class="sidepanel-content">
|
||||
|
||||
@if (isset($mylangs[\App\Services\Shop::getUserShopLang(null, 'webshop')]))
|
||||
@php($country = $mylangs[\App\Services\Shop::getUserShopLang(null, 'webshop')])
|
||||
<h2 class="sidepanel-title">{{ __('website.you_are_now_in_shop') }} {{ $country->getLocated() }}
|
||||
</h2>
|
||||
@endif
|
||||
<p>{{ __('website.you_are_now_in_shop_notice') }} </p>
|
||||
{!! Form::open(['route' => 'language.change']) !!}
|
||||
<label>{{ __('Delivery country') }}*</label>
|
||||
<select id="change_country_id" name="change_country_id" class="form-control pointer margin-bottom-20">
|
||||
@foreach ($mylangs as $mycid => $mycountry)
|
||||
<option value="{{ $mycid }}" @if ($country->id === $mycountry->id || \Session::get('_options') === $mycid) selected @endif>
|
||||
{{ $mycountry->getLocated() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
<label>{{ __('website.language') }}*</label>
|
||||
<select id="change_locale_id" name="change_locale_id" class="form-control pointer margin-bottom-20">
|
||||
@foreach (\App\Services\UserService::getTransChange() as $code => $name)
|
||||
<option value="{{ strtolower($code) }}" @if (\App::getLocale() === strtolower($code) || \Session::get('user_init_country_options') === strtolower($code)) selected @endif>
|
||||
{{ $name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<button class="btn btn-primary btn-block" type="submit">{{ __('website.change_country') }} </button>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@yield('layout-content')
|
||||
|
||||
<!-- SCROLL TO TOP -->
|
||||
<a href="#" id="toTop"></a>
|
||||
|
||||
<!-- JAVASCRIPT FILES -->
|
||||
<script type="text/javascript">
|
||||
var plugin_path = "{{ url('/assets/plugins/') . '/' }}"
|
||||
</script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/jquery/jquery-2.2.3.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/scripts.js') }}"></script>
|
||||
{{-- <script type="text/javascript" src="{{ asset('/assets/js/jquery.contact-form.js') }}"></script> --}}
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<script type="text/javascript"
|
||||
src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
||||
<script type="text/javascript"
|
||||
src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||
@yield('scripts')
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,285 +1,334 @@
|
|||
<div id="header" class="sticky clearfix">
|
||||
<style>
|
||||
#header li.quick-cart .quick-cart-box,
|
||||
#header li.quick-user .quick-user-box {
|
||||
-webkit-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
-moz-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
}
|
||||
#header li.quick-cart .quick-cart-footer > span,
|
||||
#header li.quick-user .quick-user-footer > span {
|
||||
background-color: transparent;
|
||||
}
|
||||
.quick-cart-wrapper span.price {
|
||||
color: #666666;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
<style>
|
||||
#header li.quick-cart .quick-cart-box,
|
||||
#header li.quick-user .quick-user-box {
|
||||
-webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
|
||||
-moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.quick-cart-wrapper h5,
|
||||
.quick-user-wrapper h5 {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#header li.quick-cart .quick-cart-footer,
|
||||
#header li.quick-user .quick-user-footer {
|
||||
padding: 10px 10px 10px 10px;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
#header li.quick-cart .quick-cart-box,
|
||||
#header li.quick-user .quick-user-box {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
#header ul.nav-second-main {
|
||||
margin-top: 25px;
|
||||
}
|
||||
@media only screen and (max-width: 992px){
|
||||
#header li.quick-cart .quick-cart-footer>span,
|
||||
#header li.quick-user .quick-user-footer>span {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#header ul.nav-second-main
|
||||
{
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
#header.fixed ul.nav-second-main {
|
||||
margin-top: 8px;
|
||||
}
|
||||
#header li.quick-cart a.btn-sm,
|
||||
#header li.quick-user a.btn-sm
|
||||
{
|
||||
padding: 8px !important;
|
||||
font-size: 13px;
|
||||
line-height: 1.2em;
|
||||
.quick-cart-wrapper span.price {
|
||||
color: #666666;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
}
|
||||
#header li.quick-cart .quick-cart-box a.btn-default,
|
||||
#header li.quick-user .quick-user-box a.btn-default
|
||||
{
|
||||
background-color: transparent;
|
||||
border: #b0adb3 1px solid;
|
||||
}
|
||||
#topBar {
|
||||
.quick-cart-wrapper h5,
|
||||
.quick-user-wrapper h5 {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
#topBar ul.top-links > li > a {
|
||||
display: inline-block;
|
||||
}
|
||||
#header li.quick-cart .quick-cart-footer,
|
||||
#header li.quick-user .quick-user-footer {
|
||||
padding: 10px 10px 10px 10px;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
|
||||
#topBar ul.top-links > li a.active {
|
||||
background-color: #b5c49b;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
@media only screen and (max-width: 992px) {
|
||||
/* Force 60px */
|
||||
#header {
|
||||
height:105px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@if(isset($mylangs))
|
||||
#header li.quick-cart .quick-cart-box,
|
||||
#header li.quick-user .quick-user-box {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
<div id="topBar">
|
||||
<div class="container">
|
||||
<ul class="top-links list-inline pull-right">
|
||||
#header ul.nav-second-main {
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
<li>
|
||||
@if (isset($mylangs[\App\Services\Shop::getUserShopLang(null, $yard_instance)]))
|
||||
@php($country = $mylangs[\App\Services\Shop::getUserShopLang(null, $yard_instance)])
|
||||
<span>{{ __('Delivery country') }}:</span> <a id="sidepanel_btn" href="#" class="no-text-underline"><img class="flag-lang" src="/images/flags/{{ strtolower($country->code) }}.svg" width="16" height="11" alt="lang" /> {{ $country->getLocated() }}</a>
|
||||
@endif
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-toggle no-text-underline" data-toggle="dropdown" href="#"><span style="text-transform:none;">
|
||||
{{ __('website.language') }} :</span> <img style="height: 16px" width="16" src="{{ asset('images/flags/'.strtolower(\App::getLocale()).'.svg') }}" alt="lang">
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
@foreach (\App\Services\UserService::getTransChange() as $code => $name)
|
||||
<li>
|
||||
<a @if(\App::getLocale() === $code) class="active" @endif tabindex="-1" href="{{ route('translation', [$code]) }}">
|
||||
<img style="height: 16px" width="16" src="{{ asset('images/flags/'.strtolower($code).'.svg') }}" alt="lang"> <span style="text-transform:none;">{{ $name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="text-welcome hidden-xs">{{ __('website.welcome') }}, <strong>@if(Auth::check()) {{ Auth::user()->name }} @else {{ __('portal.guest') }} @endif</strong></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@media only screen and (max-width: 992px) {
|
||||
|
||||
<header id="topNav">
|
||||
<div class="container">
|
||||
#header ul.nav-second-main {
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
<!-- Mobile Menu Button -->
|
||||
<button class="btn btn-mobile" data-toggle="collapse" data-target=".nav-main-collapse">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
#header.fixed ul.nav-second-main {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
@if(isset($is_checkout) && $is_checkout)
|
||||
#header li.quick-cart a.btn-sm,
|
||||
#header li.quick-user a.btn-sm {
|
||||
padding: 8px !important;
|
||||
font-size: 13px;
|
||||
line-height: 1.2em;
|
||||
|
||||
@if(isset($order_reference))
|
||||
<a class="logo pull-left" href="{{ Util::getUserShopBackUrl($order_reference, 'checkout') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
@else
|
||||
<a class="logo pull-left" href="{{ Util::getUserCardBackUrl('/', 'checkout') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
@endif
|
||||
<div class="navbar-collapse pull-right nav-main-collapse collapse">
|
||||
<nav class="nav-main">
|
||||
<ul id="topMain" class="nav nav-pills nav-main nav-onepage">
|
||||
<li class="">
|
||||
@if(Util::getUserPaymentFor('checkout') != 6)
|
||||
@if(isset($order_reference))
|
||||
<a href="{{ Util::getUserShopBackUrl($order_reference) }}">
|
||||
<i class="fa fa-chevron-left"></i> {{ __('payment.back_to_shop') }}
|
||||
</a>
|
||||
@else
|
||||
<a href="{{ Util::getUserCardBackUrl('/card/show', 'checkout') }}">
|
||||
@if(Util::getUserPaymentFor('checkout') > 1)
|
||||
<i class="fa fa-chevron-left"></i> {{ __('back') }} {{ Util::getMyMivitaUrl(false) }}
|
||||
@else
|
||||
<i class="fa fa-chevron-left"></i> {{ __('payment.back_to_shop_shopping_cart') }}
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
@endif
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<ul class="pull-right nav nav-pills nav-second-main has-topBar">
|
||||
<li class="quick-user">
|
||||
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||
<span style="position: relative; text-align: center;">
|
||||
<i class="fa fa-user"></i>
|
||||
</span>
|
||||
</a>
|
||||
<div class="quick-user-box" style="display:none;">
|
||||
}
|
||||
|
||||
|
||||
<div class="quick-user-wrapper">
|
||||
<h4>Mein Account</h4>
|
||||
@if(Auth::guard('customers')->check())
|
||||
<ul class="list-unstyled">
|
||||
<li><a tabindex="-1" href="{{ route('portal.dashboard') }}"><i class="fa fa-home"></i> {{ __('navigation.dashboard') }}</a></li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_data.edit') }}"><i class="fa fa-bookmark"></i> {{ __('navigation.my_data') }}</a></li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_orders') }}"><i class="fa fa-history"></i> {{ __('navigation.my_orders') }}</a></li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_subscriptions') }}"><i class="fa fa-refresh"></i>{{ __('navigation.myabo') }}</a></li>
|
||||
{{-- <li><a tabindex="-1" href="{{ route('portal.settings') }}"><i class="fa fa-cog"></i>{{ __('navigation.settings') }}</a></li> --}}
|
||||
</ul>
|
||||
@endif
|
||||
<div class="quick-user-footer clearfix">
|
||||
@if(Auth::guard('customers')->check())
|
||||
<a href="{{ route('portal.logout') }}" class="btn btn-sm btn-default mt-3"><i class="fa fa-power-off"></i> {{ __('navigation.logout') }} </a>
|
||||
@else
|
||||
<a href="{{ Util::getMyMivitaPortalUrl() }}" class="btn btn-primary btn-block mt-3 faa-parent animated-hover"><i class="fa fa-sign-in"></i> {{ __('website.to_customer_portal') }} </a>
|
||||
@endif
|
||||
@if(Auth::guard('user')->check())
|
||||
<a href="{{ Util::getMyMivitaUrl() }}" class="btn btn-sm btn-default mt-3 faa-parent animated-hover"><i class="fa fa-sign-out"></i> {{ __('zum Salescenter') }}</a>
|
||||
@endif
|
||||
<a href="#" class="btn btn-sm btn-default mt-3 quick-user-box-close">{{ __('close') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="quick-cart">
|
||||
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||
<span style="position: relative">
|
||||
<span class="badge badge-success btn-xs badge-corner faa-horizontal animated">{{ Yard::instance($yard_instance)->count() }}</span>
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</span>
|
||||
|
||||
@if(Yard::instance($yard_instance)->count())
|
||||
<span class="">{{ \Yard::instance($yard_instance)->total() }} € </span>
|
||||
@endif
|
||||
</a>
|
||||
<div class="quick-cart-box" style="display: @if(Session::has('show-card-after-add')) block @else none @endif">
|
||||
<h4>{{ __('weborder.shopping_cart') }} </h4>
|
||||
#header li.quick-cart .quick-cart-box a.btn-default,
|
||||
#header li.quick-user .quick-user-box a.btn-default {
|
||||
background-color: transparent;
|
||||
border: #b0adb3 1px solid;
|
||||
}
|
||||
|
||||
<div class="quick-cart-wrapper">
|
||||
@foreach(Yard::instance($yard_instance)->content() as $row)
|
||||
<a href="{{ url('/produkte/alle-produkte/'.$row->options->slug) }}"><!-- cart item -->
|
||||
@if($row->options->has('image'))
|
||||
<img src="{{ route('product_image', [$row->options->image]) }}" width="50" height="66" alt="">
|
||||
@else
|
||||
<img src="{{ asset('/assets/images/1x1.png') }}" width="50" height="66" alt="">
|
||||
@endif
|
||||
<h5>{{ $row->name }}</h5>
|
||||
<span class="price">{{ $row->qty }}x <strong>{{ $row->price() }} €</strong></span>
|
||||
#topBar {}
|
||||
|
||||
</a><!-- /cart item -->
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="quick-cart-footer clearfix">
|
||||
<div class="text-left">
|
||||
<strong>{{ __('order.subtotal') }}:</strong> <strong class="pull-right">{{ Yard::instance($yard_instance)->total() }} €</strong>
|
||||
<br>
|
||||
@if(Yard::instance($yard_instance)->getUserTaxFree())
|
||||
<em style="font-size: 0.9em">{{ __('weborder.excl_VAT_plus_shipping_costs') }} </em>
|
||||
@else
|
||||
<em style="font-size: 0.9em">{{ __('weborder.incl_VAT_plus_shipping_costs') }} </em>
|
||||
@endif
|
||||
@if(Yard::instance($yard_instance)->getShippingFree())
|
||||
<em style="font-size: 0.9em"><br>{{ __('weborder.free_shipping_costs_from') }} {{ formatNumber(Yard::instance($yard_instance)->getShippingFree()) }} €
|
||||
@if(Yard::instance($yard_instance)->getShippingFreeMissingValue() > 0)
|
||||
<br>{!! __('weborder.only_missing_free_shipping_costs_from', ['value'=> formatNumber(Yard::instance($yard_instance)->getShippingFreeMissingValue())]) !!}
|
||||
@else
|
||||
<br><i class="fa fa-check"></i> {{ __('weborder.free_shipping_costs_from') }}
|
||||
@endif
|
||||
</em>
|
||||
@endif
|
||||
</div>
|
||||
<a href="{{ url(Util::getPostRoute().'card/show') }}" class="btn btn-primary btn-text-500 btn-block mt-3 faa-parent animated-hover">{{ __('weborder.to_shopping_cart') }} <i class="fa fa-shopping-cart faa-horizontal"></i></a>
|
||||
#topBar ul.top-links>li>a {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
<a href="#" class="btn btn-sm btn-default mt-3 quick-cart-box-close">{{ __('close') }}</a>
|
||||
#topBar ul.top-links>li a.active {
|
||||
background-color: #b5c49b;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
@media only screen and (max-width: 992px) {
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="logo pull-left" href="{{ url('/') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
<div class="navbar-collapse pull-right nav-main-collapse collapse">
|
||||
<nav class="nav-main">
|
||||
<ul id="topMain" class="nav nav-pills nav-main nav-onepage">
|
||||
<li class="{{ Request::is('/') ? ' active' : '' }}">
|
||||
<a href="/">
|
||||
{{ __('website.start') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('aloevera') ? ' active' : '' }}">
|
||||
<a href="{{url('/aloevera')}}">
|
||||
{{ __('website.aloe_vera') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('produkte/*') ? ' active' : '' }}">
|
||||
<a href="{{url('/produkte/alle-produkte')}}/">
|
||||
{{ __('website.productworld') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('geschaeftsmodell/*') ? ' active' : '' }}">
|
||||
<a href="{{url('/geschaeftsmodell/karrierechancen')}} ">
|
||||
{{ __('website.career_opportunities') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('kontakt') ? ' active' : '' }}">
|
||||
<a href="{{ url('kontakt') }}">
|
||||
{{ __('website.contact') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</header>
|
||||
/* Force 60px */
|
||||
#header {
|
||||
height: 105px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@if (isset($mylangs))
|
||||
|
||||
<div id="topBar">
|
||||
<div class="container">
|
||||
<ul class="top-links list-inline pull-right">
|
||||
|
||||
<li>
|
||||
@if (isset($mylangs[\App\Services\Shop::getUserShopLang(null, $yard_instance)]))
|
||||
@php($country = $mylangs[\App\Services\Shop::getUserShopLang(null, $yard_instance)])
|
||||
<span>{{ __('Delivery country') }}:</span> <a id="sidepanel_btn" href="#"
|
||||
class="no-text-underline"><img class="flag-lang"
|
||||
src="/images/flags/{{ strtolower($country->code) }}.svg" width="16"
|
||||
height="11" alt="lang" /> {{ $country->getLocated() }}</a>
|
||||
@endif
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-toggle no-text-underline" data-toggle="dropdown" href="#"><span
|
||||
style="text-transform:none;">
|
||||
{{ __('website.language') }} :</span> <img style="height: 16px" width="16"
|
||||
src="{{ asset('images/flags/' . strtolower(\App::getLocale()) . '.svg') }}" alt="lang">
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
@foreach (\App\Services\UserService::getTransChange() as $code => $name)
|
||||
<li>
|
||||
<a @if (\App::getLocale() === $code) class="active" @endif tabindex="-1"
|
||||
href="{{ route('translation', [$code]) }}">
|
||||
<img style="height: 16px" width="16"
|
||||
src="{{ asset('images/flags/' . strtolower($code) . '.svg') }}" alt="lang">
|
||||
<span style="text-transform:none;">{{ $name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="text-welcome hidden-xs">{{ __('website.welcome') }}, <strong>
|
||||
@if (Auth::check())
|
||||
{{ Auth::user()->name }}
|
||||
@else
|
||||
{{ __('portal.guest') }}
|
||||
@endif
|
||||
</strong></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<header id="topNav">
|
||||
<div class="container">
|
||||
|
||||
<!-- Mobile Menu Button -->
|
||||
<button class="btn btn-mobile" data-toggle="collapse" data-target=".nav-main-collapse">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
|
||||
@if (isset($is_checkout) && $is_checkout)
|
||||
|
||||
@if (isset($order_reference))
|
||||
<a class="logo pull-left" href="{{ Util::getUserShopBackUrl($order_reference, 'checkout') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
@else
|
||||
<a class="logo pull-left" href="{{ Util::getUserCardBackUrl('/', 'checkout') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
@endif
|
||||
<div class="navbar-collapse pull-right nav-main-collapse collapse">
|
||||
<nav class="nav-main">
|
||||
<ul id="topMain" class="nav nav-pills nav-main nav-onepage">
|
||||
<li class="">
|
||||
@if (Util::getUserPaymentFor('checkout') != 6)
|
||||
@if (isset($order_reference))
|
||||
<a href="{{ Util::getUserShopBackUrl($order_reference) }}">
|
||||
<i class="fa fa-chevron-left"></i> {{ __('payment.back_to_shop') }}
|
||||
</a>
|
||||
@else
|
||||
<a href="{{ Util::getUserCardBackUrl('/card/show', 'checkout') }}">
|
||||
@if (Util::getUserPaymentFor('checkout') > 1)
|
||||
<i class="fa fa-chevron-left"></i> {{ __('back') }}
|
||||
{{ Util::getMyMivitaUrl(false) }}
|
||||
@else
|
||||
<i class="fa fa-chevron-left"></i>
|
||||
{{ __('payment.back_to_shop_shopping_cart') }}
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
@endif
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<ul class="pull-right nav nav-pills nav-second-main has-topBar">
|
||||
<li class="quick-user">
|
||||
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||
<span style="position: relative; text-align: center;">
|
||||
<i class="fa fa-user"></i>
|
||||
</span>
|
||||
</a>
|
||||
<div class="quick-user-box" style="display:none;">
|
||||
|
||||
|
||||
<div class="quick-user-wrapper">
|
||||
<h4>Mein Account</h4>
|
||||
@if (Auth::guard('customers')->check())
|
||||
<ul class="list-unstyled">
|
||||
<li><a tabindex="-1" href="{{ route('portal.dashboard') }}"><i
|
||||
class="fa fa-home"></i> {{ __('navigation.dashboard') }}</a></li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_data.edit') }}"><i
|
||||
class="fa fa-bookmark"></i> {{ __('navigation.my_data') }}</a></li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_orders') }}"><i
|
||||
class="fa fa-history"></i> {{ __('navigation.my_orders') }}</a>
|
||||
</li>
|
||||
<li><a tabindex="-1" href="{{ route('portal.my_subscriptions') }}"><i
|
||||
class="fa fa-refresh"></i>{{ __('navigation.myabo') }}</a></li>
|
||||
{{-- <li><a tabindex="-1" href="{{ route('portal.settings') }}"><i class="fa fa-cog"></i>{{ __('navigation.settings') }}</a></li> --}}
|
||||
</ul>
|
||||
@endif
|
||||
<div class="quick-user-footer clearfix">
|
||||
@if (Auth::guard('customers')->check())
|
||||
<a href="{{ route('portal.logout') }}" class="btn btn-sm btn-default mt-3"><i
|
||||
class="fa fa-power-off"></i> {{ __('navigation.logout') }} </a>
|
||||
@else
|
||||
<a href="{{ Util::getMyMivitaPortalUrl() }}"
|
||||
class="btn btn-primary btn-block mt-3 faa-parent animated-hover"><i
|
||||
class="fa fa-sign-in"></i> {{ __('website.to_customer_portal') }} </a>
|
||||
@endif
|
||||
@if (Auth::guard('user')->check())
|
||||
<a href="{{ Util::getMyMivitaUrl() }}"
|
||||
class="btn btn-sm btn-default mt-3 faa-parent animated-hover"><i
|
||||
class="fa fa-sign-out"></i> {{ __('zum Salescenter') }}</a>
|
||||
@endif
|
||||
<a href="#"
|
||||
class="btn btn-sm btn-default mt-3 quick-user-box-close">{{ __('close') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="quick-cart">
|
||||
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||
<span style="position: relative">
|
||||
<span
|
||||
class="badge badge-success btn-xs badge-corner faa-horizontal animated">{{ Yard::instance($yard_instance)->count() }}</span>
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</span>
|
||||
|
||||
@if (Yard::instance($yard_instance)->count())
|
||||
<span class="">{{ \Yard::instance($yard_instance)->total() }} € </span>
|
||||
@endif
|
||||
</a>
|
||||
<div class="quick-cart-box"
|
||||
style="display: @if (Session::has('show-card-after-add')) block @else none @endif">
|
||||
<h4>{{ __('weborder.shopping_cart') }} </h4>
|
||||
|
||||
<div class="quick-cart-wrapper">
|
||||
@foreach (Yard::instance($yard_instance)->content() as $row)
|
||||
<a href="{{ url('/produkte/alle-produkte/' . $row->options->slug) }}"><!-- cart item -->
|
||||
@if ($row->options->has('image'))
|
||||
<img src="{{ route('product_image', [$row->options->image]) }}"
|
||||
width="50" height="66" alt="">
|
||||
@else
|
||||
<img src="{{ asset('/assets/images/1x1.png') }}" width="50"
|
||||
height="66" alt="">
|
||||
@endif
|
||||
<h5>{{ $row->name }}</h5>
|
||||
<span class="price">{{ $row->qty }}x <strong>{{ $row->price() }}
|
||||
€</strong></span>
|
||||
|
||||
</a><!-- /cart item -->
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="quick-cart-footer clearfix">
|
||||
<div class="text-left">
|
||||
<strong>{{ __('order.subtotal') }}:</strong> <strong
|
||||
class="pull-right">{{ Yard::instance($yard_instance)->total() }} €</strong>
|
||||
<br>
|
||||
@if (Yard::instance($yard_instance)->getUserTaxFree())
|
||||
<em style="font-size: 0.9em">{{ __('weborder.excl_VAT_plus_shipping_costs') }}
|
||||
</em>
|
||||
@else
|
||||
<em style="font-size: 0.9em">{{ __('weborder.incl_VAT_plus_shipping_costs') }}
|
||||
</em>
|
||||
@endif
|
||||
@if (Yard::instance($yard_instance)->getShippingFree())
|
||||
<em style="font-size: 0.9em"><br>{{ __('weborder.free_shipping_costs_from') }}
|
||||
{{ formatNumber(Yard::instance($yard_instance)->getShippingFree()) }} €
|
||||
@if (Yard::instance($yard_instance)->getShippingFreeMissingValue() > 0)
|
||||
<br>{!! __('weborder.only_missing_free_shipping_costs_from', [
|
||||
'value' => formatNumber(Yard::instance($yard_instance)->getShippingFreeMissingValue()),
|
||||
]) !!}
|
||||
@else
|
||||
<br><i class="fa fa-check"></i>
|
||||
{{ __('weborder.free_shipping_costs_from') }}
|
||||
@endif
|
||||
</em>
|
||||
@endif
|
||||
</div>
|
||||
<a href="{{ url(Util::getPostRoute() . 'card/show') }}"
|
||||
class="btn btn-primary btn-text-500 btn-block mt-3 faa-parent animated-hover">{{ __('weborder.to_shopping_cart') }}
|
||||
<i class="fa fa-shopping-cart faa-horizontal"></i></a>
|
||||
|
||||
<a href="#"
|
||||
class="btn btn-sm btn-default mt-3 quick-cart-box-close">{{ __('close') }}</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="logo pull-left" href="{{ url('/') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
<div class="navbar-collapse pull-right nav-main-collapse collapse">
|
||||
<nav class="nav-main">
|
||||
<ul id="topMain" class="nav nav-pills nav-main nav-onepage">
|
||||
<li class="{{ Request::is('/') ? ' active' : '' }}">
|
||||
<a href="/">
|
||||
{{ __('website.start') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('aloevera') ? ' active' : '' }}">
|
||||
<a href="{{ url('/aloevera') }}">
|
||||
{{ __('website.aloe_vera') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('produkte/*') ? ' active' : '' }}">
|
||||
<a href="{{ url('/produkte/alle-produkte') }}/">
|
||||
{{ __('website.productworld') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('geschaeftsmodell/*') ? ' active' : '' }}">
|
||||
<a href="{{ url('/geschaeftsmodell/karrierechancen') }} ">
|
||||
{{ __('website.career_opportunities') }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('kontakt') ? ' active' : '' }}">
|
||||
<a href="{{ url('kontakt') }}">
|
||||
{{ __('website.contact') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,12 +7,14 @@
|
|||
.tp-caption {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
div.shop-item {
|
||||
margin-bottom: 30px;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
div.shop-item > .thumbnail, .thumbnail {
|
||||
div.shop-item>.thumbnail,
|
||||
.thumbnail {
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
|
@ -33,15 +35,17 @@
|
|||
div.shop-item-buttons .btn-xs {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
img.avatar {
|
||||
width: 75%;
|
||||
max-width: 200px;
|
||||
border: 6px solid #bbccab;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.tp-caption.large_bold_white {
|
||||
font-size:40px;
|
||||
line-height:52px;
|
||||
font-size: 40px;
|
||||
line-height: 52px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -56,42 +60,27 @@
|
|||
<li data-transition="fade" data-slotamount="1" data-masterspeed="1000" data-saveperformance="off"
|
||||
data-title="Slide">
|
||||
|
||||
<img src="{{ asset('assets/images/1x1.png') }}" data-lazyload="{{ asset('assets/images/slider-hg_gruen-mitte.jpg') }}" alt=""
|
||||
data-bgfit="cover" data-bgposition="center top" data-bgrepeat="no-repeat"/>
|
||||
<img src="{{ asset('assets/images/1x1.png') }}"
|
||||
data-lazyload="{{ asset('assets/images/slider-hg_gruen-mitte.jpg') }}" alt=""
|
||||
data-bgfit="cover" data-bgposition="center top" data-bgrepeat="no-repeat" />
|
||||
|
||||
<div class="overlay dark-0"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white"
|
||||
data-x="center"
|
||||
data-y="50"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1000"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white" data-x="center" data-y="50"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800" data-start="1000" data-easing="easeOutQuad" data-splitin="none"
|
||||
data-splitout="none" data-elementdelay="0.01" data-endelementdelay="0.1" data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="h1">{!! __('website.slider_subl') !!}</span>
|
||||
</div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white"
|
||||
data-x="center"
|
||||
data-y="120"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1200"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="weight-400">{!! __('website.slider_hl') !!}</span>
|
||||
</div>
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white" data-x="center" data-y="120"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800" data-start="1200" data-easing="easeOutQuad" data-splitin="none"
|
||||
data-splitout="none" data-elementdelay="0.01" data-endelementdelay="0.1" data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="weight-400">{!! __('website.slider_hl') !!}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tp-bannertimer"></div>
|
||||
|
|
@ -107,15 +96,16 @@
|
|||
|
||||
<div class="col-md-9">
|
||||
<h1>{{ __('website.productworld') }} {{-- $site->headline --}}</h1>
|
||||
<p class="margin-bottom-20">{!! __('website.start_copy_mivita') !!} {{-- $site->copy --}}</p>
|
||||
|
||||
@if($site->hasImage())
|
||||
<img class="img-responsive margin-bottom-20" src="{{ route('iq_image', [$site->iq_image->slug]) }}" alt="">
|
||||
<p class="margin-bottom-20">{!! __('website.start_copy_mivita') !!} {{-- $site->copy --}}</p>
|
||||
|
||||
@if ($site->hasImage())
|
||||
<img class="img-responsive margin-bottom-20" src="{{ route('iq_image', [$site->iq_image->slug]) }}"
|
||||
alt="">
|
||||
@endif
|
||||
|
||||
<ul class="shop-item-list row list-inline nomargin">
|
||||
@foreach($site->getProductModels() as $product)
|
||||
<!-- ITEM -->
|
||||
@foreach ($site->getProductModels() as $product)
|
||||
<!-- ITEM -->
|
||||
<li class="col-lg-4 col-sm-4">
|
||||
@include('web.templates.produkte-item', ['subsite' => 'alle-produkte'])
|
||||
</li>
|
||||
|
|
@ -123,16 +113,17 @@
|
|||
@endforeach
|
||||
</ul>
|
||||
<div class="text-center">
|
||||
<a href="{{url('/produkte')}}" class="btn btn-lg btn-primary ">{{ __('website.show_all_products') }} </a>
|
||||
<a href="{{ url('/produkte/alle-produkte') }}"
|
||||
class="btn btn-lg btn-primary ">{{ __('website.show_all_products') }} </a>
|
||||
</div>
|
||||
|
||||
|
||||
{{--
|
||||
|
||||
{{--
|
||||
<div class="divider divider-center divider-color"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div><h1>Spare mit Sets</h1>
|
||||
<ul class="shop-item-list row list-inline nomargin">
|
||||
@foreach($site->getProductSetModels() as $product)
|
||||
@foreach ($site->getProductSetModels() as $product)
|
||||
<!-- ITEM -->
|
||||
<li class="col-lg-4 col-sm-4">
|
||||
@include('web.templates.produkte-item', ['subsite' => 'alle-produkte'])
|
||||
|
|
@ -156,63 +147,63 @@
|
|||
<h2 class="text-center">{!! __('website.welcome') !!}</h2>
|
||||
<p class="text-center">{!! __('website.welcome_copy') !!}</p>
|
||||
<div class="text-center">
|
||||
@if($user_shop->isImage())
|
||||
<img class="img-responsive rounded avatar" src="{{ url($user_shop->getImage()) }}" alt="">
|
||||
@if ($user_shop->isImage())
|
||||
<img class="img-responsive rounded avatar" src="{{ url($user_shop->getImage()) }}"
|
||||
alt="">
|
||||
@else
|
||||
<img class="img-responsive rounded avatar" src="{{ asset('assets/images/avatar.png') }}" alt="">
|
||||
<img class="img-responsive rounded avatar" src="{{ asset('assets/images/avatar.png') }}"
|
||||
alt="">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<p class="text-center">
|
||||
@if($user_shop->title)
|
||||
@if ($user_shop->title)
|
||||
<strong style="color: #97b085; font-size: 1.1em;">{{ $user_shop->title }}</strong><br>
|
||||
@endif
|
||||
@if($user_shop->getLang('contact'))
|
||||
{!! nl2br($user_shop->getLang('contact')) !!}
|
||||
@if ($user_shop->getLang('contact'))
|
||||
{!! nl2br($user_shop->getLang('contact')) !!}
|
||||
@endif
|
||||
<br>
|
||||
{{ $user_shop->getSubdomain(true) }}
|
||||
</p>
|
||||
|
||||
@if($user_shop->getLang('accessibility'))
|
||||
<p class="text-center">
|
||||
<strong>{!! __('website.my_accessibility') !!} :</strong><br>
|
||||
{!! nl2br($user_shop->getLang('accessibility')) !!}
|
||||
</p>
|
||||
@if ($user_shop->getLang('accessibility'))
|
||||
<p class="text-center">
|
||||
<strong>{!! __('website.my_accessibility') !!} :</strong><br>
|
||||
{!! nl2br($user_shop->getLang('accessibility')) !!}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($user_shop->getLang('about'))
|
||||
|
||||
<div class="divider divider-center divider-color" style="margin: 10px 0;"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
<p class="text-center" style="color: #97b085;">
|
||||
<em>
|
||||
„{{ nl2br($user_shop->getLang('about'))}}“
|
||||
</em>
|
||||
</p>
|
||||
@if ($user_shop->getLang('about'))
|
||||
<div class="divider divider-center divider-color" style="margin: 10px 0;"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
<p class="text-center" style="color: #97b085;">
|
||||
<em>
|
||||
„{{ nl2br($user_shop->getLang('about')) }}“
|
||||
</em>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($user_shop->on_sites)
|
||||
<div class="divider divider-center divider-color" style="margin: 10px 0;"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
<h3 class="text-center">{!! __('website.for_you_on_spot') !!}:</h3>
|
||||
@if ($user_shop->on_sites)
|
||||
<div class="divider divider-center divider-color" style="margin: 10px 0;"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
<h3 class="text-center">{!! __('website.for_you_on_spot') !!}:</h3>
|
||||
<p class="text-center">{!! __('website.for_you_on_spot_copy') !!}</p>
|
||||
<div class="clearfix lightbox" data-img-big="1" data-plugin-options='{"delegate": "a", "gallery": {"enabled": true}}'>
|
||||
<div class="clearfix lightbox" data-img-big="1"
|
||||
data-plugin-options='{"delegate": "a", "gallery": {"enabled": true}}'>
|
||||
|
||||
@foreach($user_shop->on_sites as $image)
|
||||
|
||||
<div class="col-xs-6 col-sm-4 col-md-6" style="padding: 2px;">
|
||||
<a class="image-hover" href="{{ route('user_shop_image', [$image->slug]) }}">
|
||||
<img src="{{ route('user_shop_image', [$image->slug]) }}" alt="..." class="img-responsive">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@foreach ($user_shop->on_sites as $image)
|
||||
<div class="col-xs-6 col-sm-4 col-md-6" style="padding: 2px;">
|
||||
<a class="image-hover" href="{{ route('user_shop_image', [$image->slug]) }}">
|
||||
<img src="{{ route('user_shop_image', [$image->slug]) }}" alt="..."
|
||||
class="img-responsive">
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -227,15 +218,18 @@
|
|||
<div class="col-md-6">
|
||||
<!-- OWL SLIDER -->
|
||||
<div class="owl-carousel buttons-autohide controlls-over nomargin"
|
||||
data-plugin-options='{"items": 1, "autoHeight": true, "navigation": true, "pagination": true, "transitionStyle":"backSlide", "progressBar":"true"}'>
|
||||
data-plugin-options='{"items": 1, "autoHeight": true, "navigation": true, "pagination": true, "transitionStyle":"backSlide", "progressBar":"true"}'>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/aloe-vera-farm-mallorca.jpg') }}" alt="">
|
||||
<img class="img-responsive" src="{{ asset('assets/images/aloe-vera-farm-mallorca.jpg') }}"
|
||||
alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/beratung-ruth-mallorca.jpg') }}" alt="">
|
||||
<img class="img-responsive" src="{{ asset('assets/images/beratung-ruth-mallorca.jpg') }}"
|
||||
alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/mivita-schulung-mallorca.jpg') }}" alt="">
|
||||
<img class="img-responsive" src="{{ asset('assets/images/mivita-schulung-mallorca.jpg') }}"
|
||||
alt="">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -243,7 +237,7 @@
|
|||
</div>
|
||||
<div class="col-md-6">
|
||||
<h2>{!! __('website.start_why_hl') !!} </h2>
|
||||
{!! __('website.start_why_copy') !!}
|
||||
{!! __('website.start_why_copy') !!}
|
||||
|
||||
</div>
|
||||
</article>
|
||||
|
|
@ -267,14 +261,14 @@
|
|||
|
||||
|
||||
<a href="/aloevera">
|
||||
{{ __('website.more') }}
|
||||
{{ __('website.more') }}
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
|
|
@ -285,15 +279,15 @@
|
|||
<h3 class="h3">{{ __('website.start_products_hl') }} </h3>
|
||||
<p class="">{{ __('website.start_products_copy') }} </p>
|
||||
|
||||
<a href="/produkte">
|
||||
{{ __('website.more') }}
|
||||
<a href="/alle-produkte">
|
||||
{{ __('website.more') }}
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
|
|
@ -305,14 +299,14 @@
|
|||
<p class="">{{ __('website.start_salespartner_copy') }} </p>
|
||||
|
||||
<a href="/geschaeftsmodell/karrierechancen">
|
||||
{{ __('website.more') }}
|
||||
{{ __('website.more') }}
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<span class="items">
|
||||
<span> {{ __('website.read') }} </span>
|
||||
<span> {{ __('website.NOW') }} </span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
|
|
@ -330,18 +324,24 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{!! __('website.start_mivitapartner_copy') !!}
|
||||
{!! __('website.start_mivitapartner_copy') !!}
|
||||
</div>
|
||||
<div class="col-lg-6" id="youtube-ChHAxy6SbkM">
|
||||
@if(Request::get('youtube') === 'ChHAxy6SbkM')
|
||||
<div class="embed-responsive embed-responsive-16by9 box-shadow-1">
|
||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ChHAxy6SbkM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
</div>
|
||||
@if (Request::get('youtube') === 'ChHAxy6SbkM')
|
||||
<div class="embed-responsive embed-responsive-16by9 box-shadow-1">
|
||||
<iframe width="560" height="315"
|
||||
src="https://www.youtube-nocookie.com/embed/ChHAxy6SbkM" title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
@else
|
||||
<div class="text-center">
|
||||
<h4 class="mb-2">{{ __('website.youtube_accepted_copy') }} </h4>
|
||||
<a class="text-link" href="{{ url('/datenschutz') }}">{{ __('website.to_privacy_policy') }} </a><br>
|
||||
<a class="btn btn-primary" href="{{ url('/') }}?youtube=ChHAxy6SbkM#youtube-ChHAxy6SbkM" rel="nofollow">{{ __('website.accept_youtube_load') }} n</a>
|
||||
<h4 class="mb-2">{{ __('website.youtube_accepted_copy') }} </h4>
|
||||
<a class="text-link" href="{{ url('/datenschutz') }}">{{ __('website.to_privacy_policy') }}
|
||||
</a><br>
|
||||
<a class="btn btn-primary" href="{{ url('/') }}?youtube=ChHAxy6SbkM#youtube-ChHAxy6SbkM"
|
||||
rel="nofollow">{{ __('website.accept_youtube_load') }} n</a>
|
||||
</div>
|
||||
<br>
|
||||
<div class="embed-responsive embed-responsive-16by9 box-shadow-1">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue