Abo Einmalprodukte und Bestätigung abschließen

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin 2026-06-05 15:28:08 +00:00
parent 2bdc9ada3c
commit 2269ce031f
57 changed files with 3647 additions and 371 deletions

View file

@ -53,13 +53,52 @@
'data-add-only-mode' => $addOnlyMode ? '1' : '0',
]) !!}
<input type="hidden" name="is_for" value="{{ $user_abo->is_for }}">
<div class="card mt-3">
@include('admin.abo._order_abo', ['add_only_mode' => $addOnlyMode])
</div>
@php
$oneTimeWindowOpen = isset($one_time_window_open) ? $one_time_window_open : false;
$summary = isset($summary) ? $summary : null;
$cartInstance = \App\Services\AboOrderCart::INSTANCE;
@endphp
@if ($oneTimeWindowOpen)
<div class="row mt-3">
<div class="col-lg-8">
<div class="card" id="onetime_order_card"
data-onetime-route="{{ route('user_abos_onetime', [$view, $user_abo->id]) }}">
@include('admin.abo._order_onetime', ['summary' => $summary])
</div>
<div class="card mt-3">
@include('admin.abo._order_abo', [
'add_only_mode' => $addOnlyMode,
'split_mode' => true,
'summary' => $summary,
])
</div>
<div id="holder_html_view_comp_product">
@if ($comp_products && Yard::instance($cartInstance)->getNumComp() > 0)
@include('user.order.comp_product', [
'cart_instance' => $cartInstance,
'base_comp_count' => $base_comp_count ?? Yard::instance($cartInstance)->getNumComp(),
])
@endif
</div>
</div>
<div class="col-lg-4" id="combined_summary_col">
<div class="card js-abo-sticky" id="combined_summary_card">
@include('admin.abo._order_combined_summary', ['summary' => $summary])
</div>
</div>
</div>
@else
<div class="card mt-3">
@include('admin.abo._order_abo', ['add_only_mode' => $addOnlyMode])
</div>
@if ($comp_products && Yard::instance('shopping')->getNumComp() > 0)
<div id="holder_html_view_comp_product">
@include('user.order.comp_product')
@if ($comp_products && Yard::instance($cartInstance)->getNumComp() > 0)
@include('user.order.comp_product', [
'cart_instance' => $cartInstance,
'base_comp_count' => $base_comp_count ?? Yard::instance($cartInstance)->getNumComp(),
])
@endif
</div>
@endif
@ -71,53 +110,15 @@
<a href="{{ route('user_abos', [$view]) }}" class="btn btn-sm btn-default float-right">{{ __('back') }}</a>
<div class="modal fade" id="modal-confirm-add" tabindex="-1" role="dialog" aria-labelledby="modal-confirm-add-label"
aria-hidden="true" data-title-add-only="{{ __('abo.confirm_add_title') }}"
data-title-normal="{{ __('abo.confirm_add_title_normal') }}"
data-warning-add-only="{{ __('abo.confirm_add_warning') }}"
data-warning-normal="{{ __('abo.confirm_add_warning_normal') }}">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modal-confirm-add-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="alert alert-warning mb-3">
<i class="fa fa-exclamation-triangle"></i> <span id="confirm-add-warning-text"></span>
</div>
<table class="table table-sm mb-0">
<tr>
<td class="font-weight-bold">{{ __('order.article') }}:</td>
<td id="confirm-add-product-name"></td>
</tr>
<tr>
<td class="font-weight-bold">{{ __('tables.price') }}:</td>
<td id="confirm-add-product-price"></td>
</tr>
<tr>
<td class="font-weight-bold">{{ __('tables.quantity') }}:</td>
<td id="confirm-add-qty-info"></td>
</tr>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">{{ __('abo.confirm_add_cancel') }}</button>
<button type="button" class="btn btn-primary"
id="confirm-add-btn">{{ __('abo.confirm_add_ok') }}</button>
</div>
</div>
</div>
</div>
@include('admin.abo._confirm_add_modal')
@endsection
@section('scripts')
<script src="{{ asset('/js/iq-modal-cart.js') }}?v=1{{ get_file_last_time('/js/iq-modal-cart.js') }}"></script>
<script src="{{ asset('/js/iq-abo-onetime.js') }}?v=1{{ get_file_last_time('/js/iq-abo-onetime.js') }}"></script>
<script type="application/javascript">
var iqModalCart = IqModalCart.init();
var iqAboOneTime = IqAboOneTime.init();
$( document ).ready(function() {
});