23-01-2026

This commit is contained in:
Kevin Adametz 2026-01-23 17:35:23 +01:00
parent a939cd51ef
commit a8b395e20d
248 changed files with 29342 additions and 4805 deletions

View file

@ -30,7 +30,7 @@
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">{{ __('tables.abo_delivery') }}</div>
{{ $user_abo->getCountOrders() }}
{{ $user_abo->getCountPaidOrders() }} / {{ \App\Models\Setting::getContentBySlug('abo-min-duration') }}
</div>
@ -83,11 +83,13 @@
<div class="card-body pb-1">
<div class="row">
<div class="col-md-6 mb-3">
@if(App\Services\AboHelper::canEditAbo($user_abo, $view))
<button type="button" class="btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{ $user_abo->id }}"
data-action="abo_update_settings"
data-view="{{ $view }}"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span>{{ __('abo.abo_settings') }}</button>
@endif
</div>
<div class="col-md-3 mb-3">

View file

@ -0,0 +1,24 @@
<div class="card-body pb-1">
<h5 class="font-weight-semibold">
{{ __('abo.abo_info') }}
</h5>
<div class="row">
<div class="col-md-12 mb-3">
<div class="">
<h6 class="card-header bg-light text-primary px-2 py-2">
<a href="#" class="" data-toggle="collapse" data-target="#collapseFilter" aria-expanded="false" aria-controls="collapseFilter">
<i class="fa fa-caret-expand"></i> {{ __('abo.pros_hl') }}
</a>
</h6>
<div class="collapse" id="collapseFilter">
<div class="form-row pb-1 pt-1">
<ul class="list-padding-top">
{!! __('abo.pros_list', ['abo-min-duration' => \App\Models\Setting::getContentBySlug('abo-min-duration')]) !!}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>

View file

@ -31,7 +31,9 @@
<th>{{__('tables.status')}}</th>
<th>{{__('tables.shipping')}}</th>
<th>{{__('tables.art')}}</th>
@if(!isset($only_show_products) || !$only_show_products)
<th>{{__('tables.invoice')}}</th>
@endif
<th>{{__('tables.firstname')}}</th>
<th>{{__('tables.lastname')}}</th>
<th>{{__('tables.email')}}</th>
@ -53,10 +55,19 @@
@endif
@else
@if($user_abo->is_for === 'me')
@if(!isset($only_show_products) || !$only_show_products)
{!! '<a href="' . route('user_order_detail', [$user_abo_order->shopping_order_id]) . '" class="btn btn-xs btn-primary">'.$user_abo_order->shopping_order_id.'</a>' !!}
@else
{{ $user_abo_order->shopping_order_id }}
@endif
@endif
@if($user_abo->is_for === 'ot')
@if(!isset($only_show_products) || !$only_show_products)
{!! '<a href="' . route('user_shop_order_detail', [$user_abo_order->shopping_order_id]) . '" class="btn btn-xs btn-secondary">'.$user_abo_order->shopping_order_id.'</a>' !!}
@else
{{ $user_abo_order->shopping_order_id }}
@endif
@endif
@endif
</td>
@ -78,12 +89,14 @@
<td>
{!! '<span class="badge badge-pill badge-'.$user_abo_order->shopping_order->getPaymentForColor().'">'.$user_abo_order->shopping_order->getPaymentForType().'</span>' !!}
</td>
@if(!isset($only_show_products) || !$only_show_products)
<td>
@if($user_abo_order->shopping_order->isInvoice())
{!! '<span class="no-line-break"><a href="'.route('storage_file', [$user_abo_order->shopping_order->id, 'invoice', 'download']).'" class="btn btn-primary btn-xs"><i class="fa fa-download"></i></a>
<a href="'.route('storage_file', [$user_abo_order->shopping_order->id, 'invoice', 'stream']).'" target="_blank" class="btn btn-warning btn-xs"><i class="fa fa-eye"></i></a></span>' !!}
@endif
</td>
@endif
<td>
{{ $user_abo_order->shopping_order->shopping_user->shipping_firstname }}
</td>

View file

@ -107,17 +107,22 @@
<h5 class=" font-weight-semibold mb-2">
{{ __('abo.abo_order_hl') }}
</h5>
<p>{{ __('abo.abo_order_info_2') }}</p>
@if(isset($only_show_products) && $only_show_products === true)
<p>{!! __('abo.abo_order_info_block', ['abo-min-duration' => \App\Models\Setting::getContentBySlug('abo-min-duration')]) !!}</p>
@else
<p>{{ __('abo.abo_order_info_2') }}</p>
@endif
<hr>
@include('user.abo.vat_info')
@if(!isset($only_show_products) || !$only_show_products)
<button type="button" class="btn btn-sm btn-secondary btn-block mt-2" data-toggle="modal" data-target="#modals-load-content"
data-id="{{ $user_abo->id }}"
data-action="abo-add-product"
data-route="{{ route('modal_load') }}"><i class="fa fa-plus-circle"></i> {{ __('abo.add_product') }}</button>
@endif
<div class="" id="insert_show_products_order" data-cart-order-id="{{ $user_abo->id }}">
@include('admin.abo._order_abo_show')
@php $only_show_products = isset($only_show_products) ? $only_show_products : false; @endphp
@include('admin.abo._order_abo_show', ['only_show_products' => $only_show_products])
</div>
</div>

View file

@ -28,11 +28,14 @@
<div>{{ __('order.content') }}: {{ $abo_item->product->contents }}</div>
<div>{{ __('order.art_no') }}: {{ $abo_item->product->number }}</div>
</div>
@if(!isset($only_show_products) || !$only_show_products)
<div class="options">
<a href="#" class="auto-delete-product remove_item_form_cart product-tooltip" data-order-item-id="{{$abo_item->id}}" data-product-id="{{ $abo_item->product->id }}"><i class="fa fa-times"></i> {{ __('order.article_remove') }}</a>
</div>
@endif
</td>
<td>
@if(!isset($only_show_products) || !$only_show_products)
<div class="no-line-break input-group-min-w">
<div class="input-group d-inline-flex w-auto">
<span class="input-group-prepend">
@ -44,6 +47,9 @@
</span>
</div>
</div>
@else
<div class="no-line-break"> {{ $abo_item->qty }}</div>
@endif
</td>
<td class="text-right font-weight-semibold align-top px-3 py-2" style="width: 100px;">
<div class="no-line-break"> {{ $abo_item->getFormattedTotalPrice() }} &euro;</div>

View file

@ -20,6 +20,9 @@
<div class="card">
@include('admin.abo._detail')
</div>
<div class="card mt-3">
@include('admin.abo._detail_abo_info')
</div>
<div class="card mt-3">
@include('admin.customer._customer_detail', ['shopping_user' => $customer_detail])
</div>

View file

@ -10,26 +10,27 @@
<input type="hidden" name="id" value="{{$data['id']}}">
<input type="hidden" name="view" value="{{$data['view']}}">
@if($data['view'] !== 'admin' && ($user_abo->user_id != \Auth::user()->id && $user_abo->member_id != \Auth::user()->id))
@if(!App\Services\AboHelper::canEditAbo($user_abo, $data['view']))
<div class="alert alert-danger">
Unauthorized action. Is not my abo
</div>
@else
<div class="form-row">
<div class="col-sm-6">
<label for="abo_interval" class="form-label">{{ __('tables.abo_delivery_day') }}*</label>
<select class="custom-select" name="abo_interval" id="abo_interval" required>
{!! HTMLHelper::getAboDeliveryOptions($user_abo->abo_interval) !!}
</select>
</div>
<div class="col-sm-12 mt-1">
<i class="text-muted">{{ __('abo.abo_copy_abo_interval') }}</i>
</div>
</div>
{{--
<div class="form-row">
<div class="col-sm-6">
<label for="abo_interval" class="form-label">{{ __('tables.abo_delivery_day') }}*</label>
<select class="custom-select" name="abo_interval" id="abo_interval" required>
{!! HTMLHelper::getAboDeliveryOptions($user_abo->abo_interval) !!}
</select>
</div>
<div class="col-sm-12 mt-1">
<i class="text-muted">{{ __('abo.abo_copy_abo_interval') }}</i>
</div>
</div>
<hr>
{{-- <div class="form-row">
<div class="col-sm-6">
<label for="next_date" class="form-label">{{ __('tables.next_date') }} ({{ $user_abo->next_date }})</label>
{!! Form::text('next_date', $user_abo->next_date, ['class'=>'form-control datepicker-base']) !!}
@ -40,23 +41,44 @@
</div>
<hr>
--}}
@php
$canCancel = App\Services\AboHelper::canCancelAbo($user_abo, $data['view']);
@endphp
<hr>
@if($canCancel || $data['view'] == 'admin')
<div class="form-row">
<div class="col-sm-12">
<label class="switcher switcher-primary">
<input type="checkbox" class="switcher-input" name="abo_is_active" value="true" @if($user_abo->active) checked @endif>
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">{{ __('abo.abo_is_active') }}</span>
</label>
</div>
<div class="col-sm-12 mt-1">
<i class="text-muted">{{ __('abo.abo_copy_active') }}</i>
</div>
<div class="form-row">
<div class="col-sm-12">
<label class="switcher switcher-primary">
<input type="checkbox" class="switcher-input" name="abo_is_active" value="true" @if($user_abo->active) checked @endif>
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">{{ __('abo.abo_is_active') }}</span>
</label>
@if($data['view'] !== 'admin')
<div class="col-sm-12 mt-3">
<button type="submit" name="abo_cancel" value="true" class="btn btn-danger btn-sm" onclick="return confirm('{{ __('abo.confirm_cancel') }}')">
<i class="ion ion-ios-trash"></i> {{ __('abo.cancel_abo') }}
</button>
</div>
@endif
</div>
<div class="col-sm-12 mt-1">
<i class="text-muted">{{ __('abo.abo_copy_active') }}</i>
</div>
</div>
@else
<input type="hidden" name="abo_is_active" value="{{ $user_abo->active }}">
<div class="mt-1">
<div class="alert alert-warning">
{{ __('abo.info_min_duration_orders_left', ['count' => App\Services\AboHelper::getAboMinDuration() - $user_abo->getCountPaidOrders()]) }}
</div>
</div>
@endif
@endif
</div>