Seit das Herkunftsfeld im Checkout freiwillig ist, fehlte der Block bei Kundenbestellungen ohne Angabe ganz. Jetzt steht dort grau "keine Angabe". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1092 lines
62 KiB
PHP
1092 lines
62 KiB
PHP
@php
|
||
$aboOrder = $shopping_order->is_abo
|
||
? \App\Models\UserAboOrder::where('shopping_order_id', $shopping_order->id)->first()
|
||
: null;
|
||
$isExternDone = $aboOrder && (int) $aboOrder->status === \App\Services\AboExternalCompletionService::STATUS_EXTERN_DONE;
|
||
$canExternDone = $aboOrder && ! $isExternDone && ! $aboOrder->paid && ! $shopping_order->paid;
|
||
@endphp
|
||
<div class="card">
|
||
<!-- Status -->
|
||
<div class="card-body">
|
||
<div class="row">
|
||
<div class="col-md-2 mb-1">
|
||
<strong class="mr-2">{{ __('Status') }}:</strong>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;">
|
||
<span class="text-big">
|
||
{!! \App\Services\Payment::getShoppingOrderBadge($shopping_order) !!}
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3 mb-1">
|
||
<strong class="mr-2">{{ __('order.shipping') }}:</strong>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;"> @if($shopping_order->payment_for !== 8)
|
||
@if ($isAdmin)
|
||
<button type="button" class="btn btn-sm btn-{{ $shopping_order->getShippedColor() }}"
|
||
data-toggle="modal" data-target="#modals-shipped" data-id="{{ $shopping_order->id }}"
|
||
data-shipped="{{ $shopping_order->shipped }}" data-back="{{ url()->current() }}"
|
||
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
|
||
class="badge badge-pill badge-{{ $shopping_order->getShippedColor() }}">{{ $shopping_order->getShippedType() }}</span>
|
||
</span>
|
||
@endif
|
||
@endif
|
||
</div>
|
||
</div>
|
||
@if ($isAdmin && $aboOrder)
|
||
<div class="col-md-3 mb-1">
|
||
<strong class="mr-2">{{ __('navigation.abo') }}:</strong>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;">
|
||
@if ($isExternDone)
|
||
<span class="badge badge-pill badge-success">
|
||
<span class="fa fa-check"></span> {{ __('abo.abo_extern_done') }}
|
||
</span>
|
||
@elseif ($canExternDone)
|
||
<button type="button" class="btn btn-sm btn-success" data-toggle="modal"
|
||
data-target="#modals-abo-extern-done">
|
||
<span class="fa fa-check"></span> {{ __('abo.extern_done') }}
|
||
</button>
|
||
@endif
|
||
</div>
|
||
</div>
|
||
@endif
|
||
<div class="col-md-4 mb-2">
|
||
<strong class="mr-2">{{ __('order.invoice') }}:</strong>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;">
|
||
@if ($isAdmin)
|
||
@if ($shopping_order->isInvoice())
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'download']) }}"
|
||
class="btn btn-primary btn-sm" title="Download DE"><i class="fa fa-download"></i></a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'stream']) }}"
|
||
target="_blank" class="btn btn-warning btn-sm" title="Ansicht DE"><i class="fa fa-eye"></i></a>
|
||
{{-- Lokalisierte Versionen --}}
|
||
@foreach($shopping_order->user_invoice->getAvailableLocales() as $locale)
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'download', $locale]) }}"
|
||
class="btn btn-outline-primary btn-sm" title="Download {{ strtoupper($locale) }}">
|
||
<i class="fa fa-download"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'stream', $locale]) }}"
|
||
class="btn btn-outline-warning btn-sm" title="Ansicht {{ strtoupper($locale) }}">
|
||
<i class="fa fa-eye"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
@endforeach
|
||
@if (Auth::user()->isSySAdmin())
|
||
<button type="button" class="btn btn-sm btn-info" data-toggle="modal"
|
||
data-target="#modals-invoice" data-id="{{ $shopping_order->id }}" //TODO
|
||
//data-invoice="{{ $shopping_order->invoice_status }}"
|
||
data-back="{{ url()->current() }}" data-action="create_invoice">
|
||
<span class="fa fa-file"></span>
|
||
</button>
|
||
@endif
|
||
@else
|
||
@if (Auth::user()->isSySAdmin())
|
||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
|
||
data-target="#modals-invoice" data-id="{{ $shopping_order->id }}" //TODO //
|
||
data-invoice="{{ $shopping_order->invoice_status }}"
|
||
data-back="{{ url()->current() }}" data-action="create_invoice">
|
||
<span class="fa fa-file"></span> <strong>{{ __('order.create_invoice') }}</strong>
|
||
</button>
|
||
@endif
|
||
@endif
|
||
@else
|
||
@if ($shopping_order->isInvoice())
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'download']) }}"
|
||
class="btn btn-primary btn-sm" title="Download DE"><i class="fa fa-download"></i></a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'stream']) }}"
|
||
target="_blank" class="btn btn-warning btn-sm" title="Ansicht DE"><i class="fa fa-eye"></i></a>
|
||
{{-- Lokalisierte Versionen --}}
|
||
@foreach($shopping_order->user_invoice->getAvailableLocales() as $locale)
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'download', $locale]) }}"
|
||
class="btn btn-outline-primary btn-sm" title="Download {{ strtoupper($locale) }}">
|
||
<i class="fa fa-download"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'invoice', 'stream', $locale]) }}"
|
||
class="btn btn-outline-warning btn-sm" title="Ansicht {{ strtoupper($locale) }}">
|
||
<i class="fa fa-eye"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
@endforeach
|
||
@endif
|
||
@endif
|
||
@if (($shopping_order->txaction === 'extern' || $shopping_order->txaction === 'extern_paid') && $shopping_order->wp_invoice_path)
|
||
<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>
|
||
@if ($isAdmin && $shopping_order->payment_for != 8)
|
||
<div class="col-md-3 mb-2">
|
||
|
||
<strong class="mr-2">{{ __('order.delivery_note') }}:</strong>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;">
|
||
@if ($shopping_order->isInvoice())
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'delivery', 'download']) }}"
|
||
class="btn btn-primary btn-sm" title="Download DE"><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" title="Ansicht DE"><i class="fa fa-eye"></i></a>
|
||
{{-- Lokalisierte Versionen --}}
|
||
@foreach($shopping_order->user_invoice->getAvailableLocales() as $locale)
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'delivery', 'download', $locale]) }}"
|
||
class="btn btn-outline-primary btn-sm" title="Download {{ strtoupper($locale) }}">
|
||
<i class="fa fa-download"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'delivery', 'stream', $locale]) }}"
|
||
class="btn btn-outline-warning btn-sm" title="Ansicht {{ strtoupper($locale) }}">
|
||
<i class="fa fa-eye"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
@endforeach
|
||
@endif
|
||
</div>
|
||
</div>
|
||
@endif
|
||
<div class="col-md-3 mb-2">
|
||
@if (!$isAdmin && $shopping_order->isCancellationInvoice())
|
||
@php
|
||
$cancellation_invoice = $shopping_order->getCancellationInvoice();
|
||
@endphp
|
||
@if($cancellation_invoice)
|
||
<strong class="mr-2">Stornorechnung:</strong><span class="badge badge-danger">{{ $cancellation_invoice->full_number }}</span>
|
||
<br>
|
||
<div class="d-flex flex-wrap align-items-center mt-1" style="gap: 6px;">
|
||
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'download']) }}"
|
||
class="btn btn-danger btn-sm" title="Stornorechnung herunterladen DE">
|
||
<i class="fa fa-download"></i>
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'stream']) }}"
|
||
target="_blank" class="btn btn-danger btn-sm" title="Stornorechnung anzeigen DE">
|
||
<i class="fa fa-eye"></i>
|
||
</a>
|
||
{{-- Lokalisierte Versionen der Stornorechnung --}}
|
||
@foreach($cancellation_invoice->getAvailableLocales() as $locale)
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'download', $locale]) }}"
|
||
class="btn btn-outline-danger btn-sm" title="Download {{ strtoupper($locale) }}">
|
||
<i class="fa fa-download"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'stream', $locale]) }}"
|
||
class="btn btn-outline-danger btn-sm" title="Ansicht {{ strtoupper($locale) }}">
|
||
<i class="fa fa-eye"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
@endforeach
|
||
</div>
|
||
|
||
@endif
|
||
@endif
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<hr class="m-0">
|
||
<!-- / Status -->
|
||
|
||
<!-- Info -->
|
||
<div class="card-body pb-1">
|
||
<div class="row">
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('order.order_date') }}</div>
|
||
{{ $shopping_order->created_at->format('d.m.Y H:i') }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('order.number_of_items') }}</div>
|
||
{{ $shopping_order->getItemsCount() }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('order.total_price') }}</div>
|
||
{{ $shopping_order->getFormattedTotalShipping() }} €
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('order.points_total') }}</div>
|
||
{{ $shopping_order->getFormattedPoints() }}
|
||
</div>
|
||
@if ((int) $shopping_order->payment_for === 6)
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">Herkunft</div>
|
||
@if ($shopping_order->customer_order_source)
|
||
{{ $shopping_order->getCustomerOrderSourceLabel() }}
|
||
@if ($shopping_order->customer_order_source_comment)
|
||
<div class="small text-muted mt-1">{{ $shopping_order->customer_order_source_comment }}</div>
|
||
@endif
|
||
@elseif ($shopping_order->customer_order_source_comment)
|
||
{{ $shopping_order->customer_order_source_comment }}
|
||
@else
|
||
<span class="text-muted">keine Angabe</span>
|
||
@endif
|
||
</div>
|
||
@endif
|
||
</div>
|
||
</div>
|
||
<hr class="m-0">
|
||
|
||
<div class="card-body pb-1">
|
||
<div class="row">
|
||
<div class="col-md-9 mb-3">
|
||
<div class="text-muted small">{{ __('order.points_turnover_assigned') }}</div>
|
||
@if($shopping_order->user_sales_volume && $shopping_order->user_sales_volume->user)
|
||
{{ $shopping_order->user_sales_volume->user->getFullName() }}
|
||
@endif
|
||
@if ($isAdmin)
|
||
<button type="button" class="btn btn-xs btn-outline-secondary" data-toggle="modal"
|
||
data-target="#modals-load-content" data-id="{{ $shopping_order->id }}"
|
||
data-action="shopping-order-change-points" data-view="{{ $isView }}"
|
||
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
|
||
@endif
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
@if ($isAdmin)
|
||
@if ($shopping_order->isCancellationInvoice())
|
||
@php
|
||
$cancellation_invoice = $shopping_order->getCancellationInvoice();
|
||
@endphp
|
||
@if($cancellation_invoice)
|
||
<strong class="mr-2">Stornorechnung:</strong><br>
|
||
<span class="badge badge-danger">{{ $cancellation_invoice->full_number }}</span>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'download']) }}"
|
||
class="btn btn-danger btn-sm" title="Stornorechnung herunterladen DE">
|
||
<i class="fa fa-download"></i>
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'stream']) }}"
|
||
target="_blank" class="btn btn-danger btn-sm" title="Stornorechnung anzeigen DE">
|
||
<i class="fa fa-eye"></i>
|
||
</a>
|
||
{{-- Lokalisierte Versionen der Stornorechnung --}}
|
||
@foreach($cancellation_invoice->getAvailableLocales() as $locale)
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'download', $locale]) }}"
|
||
class="btn btn-outline-danger btn-sm" title="Download {{ strtoupper($locale) }}">
|
||
<i class="fa fa-download"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
<a href="{{ route('storage_file', [$shopping_order->id, 'cancellation', 'stream', $locale]) }}"
|
||
class="btn btn-outline-danger btn-sm" title="Ansicht {{ strtoupper($locale) }}">
|
||
<i class="fa fa-eye"></i> {{ strtoupper($locale) }}
|
||
</a>
|
||
@endforeach
|
||
<br><small class="text-muted">Erstellt am: {{ $cancellation_invoice->date }}</small>
|
||
@endif
|
||
@else
|
||
@if ($shopping_order->isInvoice())
|
||
<button type="button" class="btn btn-sm btn-outline-warning" data-toggle="modal"
|
||
data-target="#modals-cancellation-invoice" data-id="{{ $shopping_order->id }}"
|
||
data-back="{{ url()->current() }}" data-action="create_cancellation_invoice">
|
||
<span class="fa fa-undo"></span> <strong>Stornorechnung erstellen</strong>
|
||
</button>
|
||
@endif
|
||
@endif
|
||
|
||
@endif
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="m-0">
|
||
|
||
@if ($isAdmin)
|
||
<!-- Member -->
|
||
<div class="card-body pb-1">
|
||
<div class="row">
|
||
<div class="col-md-8 mb-3">
|
||
@if (isset($change_member_error) && $change_member_error)
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<div class="alert alert-danger p-2">
|
||
<ul>
|
||
<li>{{ $change_member_error }}</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
<div class="text-muted small">{{ __('order.assigned_counsellor') }}</div>
|
||
@if ($isView === 'sales_user')
|
||
@if ($shopping_order->user_shop)
|
||
{{ $shopping_order->user_shop->title }}
|
||
@endif
|
||
@endif
|
||
|
||
@if ($isView === 'sales_customer')
|
||
@if ($shopping_order->shopping_user && $shopping_order->shopping_user->is_like)
|
||
<button type="button" class="btn btn-xs btn-outline-info" data-toggle="modal"
|
||
data-target="#modals-load-content" data-id="{{ $shopping_order->shopping_user->id }}"
|
||
data-action="shopping-user-is-like-member"
|
||
data-back="{{ route('admin_sales_customers_detail', [$shopping_order->id]) }}"
|
||
data-modal="modal-xl" data-route="{{ route('modal_load') }}"><span
|
||
class="fa fa-edit"></span> {{ __('order.assigned_advisor') }}</button>
|
||
@else
|
||
@if ($shopping_order->member)
|
||
<a class="btn btn-xs btn-outline-primary"
|
||
href="{{ route('admin_lead_edit', [$shopping_order->member->id]) }}"><i
|
||
class="ion ion-ios-contacts"></i></a>
|
||
{{ $shopping_order->member->getFullName() }} <span
|
||
class="text-muted">#{{ $shopping_order->member->number }}</span>
|
||
@endif
|
||
<button type="button" class="btn btn-xs btn-outline-secondary" data-toggle="modal"
|
||
data-target="#modals-load-content" data-id="{{ $shopping_order->id }}"
|
||
data-action="shopping-order-change-member" data-view="{{ $isView }}"
|
||
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
|
||
@endif
|
||
|
||
@endif
|
||
|
||
</div>
|
||
<div class="col-md-4 mb-3">
|
||
<div class="text-muted small">{{ __('order.purchased_from_shop') }}</div>
|
||
@if ($shopping_order->user_shop && $shopping_order->user_shop->user && $shopping_order->user_shop->user->isActive() && $shopping_order->user_shop->user->isActiveShop())
|
||
<a href="{{ $shopping_order->user_shop->getSubdomain(false) }}" class="badge badge-success"
|
||
target="_blank">{{ $shopping_order->user_shop->getSubdomain(false) }}</a>
|
||
@else
|
||
@if ($shopping_order->user_shop)
|
||
<span class="badge badge-danger"
|
||
target="_blank">{{ $shopping_order->user_shop->getSubdomain(false) }}</span>
|
||
@endif
|
||
@endif
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="m-0">
|
||
<!-- / Member -->
|
||
@endif
|
||
|
||
{{-- Vorkasse Hinweis mit TXID bei unbezahlten Bestellungen --}}
|
||
@php
|
||
$vorPayment = $shopping_order->shopping_payments->where('clearingtype', 'vor')->first();
|
||
$isVorUnpaid = $vorPayment && !in_array($shopping_order->txaction, ['paid', 'completed']);
|
||
@endphp
|
||
@if($isVorUnpaid)
|
||
@php
|
||
$payTrans = $vorPayment->payment_transactions->first();
|
||
$txid = $payTrans->txid ?? ($payTrans->transmitted_data['txid'] ?? null);
|
||
@endphp
|
||
<!-- Billing -->
|
||
<div class="card-body">
|
||
<div class="alert alert-warning border-warning mb-3" style="border-left: 4px solid #ffc107 !important;">
|
||
<h5 class="mb-3"><i class="fa fa-university"></i> {{ __('payment.prepayment_bank_details') }}:</h5>
|
||
<div style="background: #fff; border-radius: 8px; padding: 15px;">
|
||
@if($payTrans && isset($payTrans->transmitted_data) && !empty($payTrans->transmitted_data['clearing_bankiban']))
|
||
<table style="width: 100%;">
|
||
<tr>
|
||
<td style="padding: 5px 10px 5px 0; width: 140px;"><strong>{{ __('payment.account_holder') }}:</strong></td>
|
||
<td style="padding: 5px 0;">{{ $payTrans->transmitted_data['clearing_bankaccountholder'] ?? '—' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding: 5px 10px 5px 0;"><strong>{{ __('payment.IBAN') }}:</strong></td>
|
||
<td style="padding: 5px 0; font-family: monospace; letter-spacing: 1px;">{{ $payTrans->transmitted_data['clearing_bankiban'] ?? '—' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding: 5px 10px 5px 0;"><strong>{{ __('payment.BIC') }}:</strong></td>
|
||
<td style="padding: 5px 0; font-family: monospace;">{{ $payTrans->transmitted_data['clearing_bankbic'] ?? '—' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding: 5px 10px 5px 0;"><strong>{{ __('payment.bank') }}:</strong></td>
|
||
<td style="padding: 5px 0;">{{ $payTrans->transmitted_data['clearing_bankname'] ?? '—' }}</td>
|
||
</tr>
|
||
<tr style="border-top: 1px solid #ffc107;">
|
||
<td style="padding: 10px 10px 5px 0;"><strong>{{ __('payment.total_amount') }}:</strong></td>
|
||
<td style="padding: 10px 0 5px 0; font-size: 18px; font-weight: bold; color: #d35400;">{{ number_format( floatval($payTrans->shopping_payment->amount/100), 2, ",", ".") }} EUR</td>
|
||
</tr>
|
||
</table>
|
||
@else
|
||
<p class="mb-0 text-muted">{{ __('payment.prepayment_no_clearing_data') }}</p>
|
||
@endif
|
||
</div>
|
||
|
||
<hr style="border-color: #ffc107;">
|
||
|
||
<p>{{ __('payment.prepayment_reference_notice') }}</p>
|
||
|
||
@if(isset($payTrans->transmitted_data['txid']))
|
||
<div class="text-center p-4 my-3" style="background: #fff; border: 3px dashed #ffc107; border-radius: 8px;">
|
||
<strong style="font-size: 16px;">{{ __('payment.prepayment_txid') }}:</strong><br>
|
||
<span style="font-size: 32px; font-weight: bold; color: #d35400; letter-spacing: 3px;">{{ $payTrans->transmitted_data['txid'] }}</span>
|
||
</div>
|
||
@endif
|
||
|
||
<p><strong>{{ __('payment.prepayment_reference_only') }}</strong></p>
|
||
<p class="mt-3 mb-0 text-muted"><em>{{ __('payment.prepayment_waiting_payment') }}</em></p>
|
||
</div>
|
||
</div>
|
||
<hr class="m-0">
|
||
@endif
|
||
<!-- Billing -->
|
||
<div class="card-body">
|
||
|
||
<h6 class="small font-weight-semibold">
|
||
@if ($shopping_order->shopping_user->is_from === 'shopping' ||
|
||
$shopping_order->shopping_user->is_from === 'extern')
|
||
{{ __('order.billing_address_of_client') }}
|
||
@else
|
||
{{ __('order.billing_address_of_the_advisor') }}
|
||
@endif
|
||
</h6>
|
||
<div class="row">
|
||
@if ($shopping_order->shopping_user->billing_company)
|
||
<div class="col-md-12 mb-3">
|
||
<div class="text-muted small">{{ __('Company') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_company }}
|
||
</div>
|
||
@endif
|
||
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Salutation') }}</div>
|
||
{{ \App\Services\HTMLHelper::getSalutationLang($shopping_order->shopping_user->billing_salutation) }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('First name') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_firstname }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Last name') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_lastname }}
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Street') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_address }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Addition') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_address_2 }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Postcode') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_zipcode }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('City') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_city }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('E-Mail') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_email }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Phone') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_phone }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Country') }}</div>
|
||
{{ $shopping_order->shopping_user->billing_country->getLocated() }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('account.preferred_language') }}</div>
|
||
{{ \App\Models\ShoppingUser::getAvailableLanguages()[$shopping_order->shopping_user->language] ?? $shopping_order->shopping_user->language }}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- / Billing -->
|
||
|
||
<!-- Shipping -->
|
||
@if ($shopping_order->shopping_user->is_from !== 'homeparty')
|
||
<hr class="m-0">
|
||
|
||
<div class="card-body">
|
||
<h6 class="small font-weight-semibold">
|
||
@if ($shopping_order->shopping_user->is_from === 'user_order' ||
|
||
$shopping_order->shopping_user->is_from === 'extern')
|
||
@if ($shopping_order->shopping_user->is_for === 'me')
|
||
{{ __('order.delivery_address_of_the_consultant') }}
|
||
@else
|
||
{{ __('order.delivery_address_of_the_client') }}
|
||
@endif
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'wizard')
|
||
{{ __('order.delivery_address_of_the_consultant') }}
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'membership')
|
||
{{ __('order.delivery_address_of_the_consultant') }}
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'shopping')
|
||
{{ __('order.delivery_address_of_the_client') }}
|
||
@endif
|
||
</h6>
|
||
@if ($shopping_order->shopping_user->same_as_billing)
|
||
{{ __('email.checkout_mail_same_address') }}
|
||
@else
|
||
<div class="row">
|
||
@if ($shopping_order->shopping_user->shipping_company)
|
||
<div class="col-md-12 mb-3">
|
||
<div class="text-muted small">{{ __('Company') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_company }}
|
||
</div>
|
||
@endif
|
||
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Salutation') }}</div>
|
||
{{ \App\Services\HTMLHelper::getSalutationLang($shopping_order->shopping_user->shipping_salutation) }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('First name') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_firstname }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Last name') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_lastname }}
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Street') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_address }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Addition') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_address_2 }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Postcode') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_zipcode }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('City') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_city }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('E-Mail') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_email }}
|
||
</div>
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Phone') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_phone }}
|
||
</div>
|
||
@if($shopping_order->shopping_user->shipping_postnumber)
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('payment.dhl_postnumber') }}</div>
|
||
<span class="badge badge-info">{{ $shopping_order->shopping_user->shipping_postnumber }}</span>
|
||
<small class="d-block text-muted">{{ __('payment.packstation_delivery') }}</small>
|
||
</div>
|
||
@endif
|
||
<div class="col-md-3 mb-3">
|
||
<div class="text-muted small">{{ __('Country') }}</div>
|
||
{{ $shopping_order->shopping_user->shipping_country->getLocated() }}
|
||
</div>
|
||
</div>
|
||
@endif
|
||
</div>
|
||
@endif
|
||
<hr class="m-0">
|
||
<!-- / Shipping -->
|
||
|
||
<!-- DHL Sendungen -->
|
||
@include('admin.sales._detail_dhl_shipments')
|
||
<!-- / DHL Sendungen -->
|
||
|
||
<!-- Items -->
|
||
<div class="card-body">
|
||
<h6 class="small font-weight-semibold">
|
||
@if ($shopping_order->shopping_user->is_from === 'user_order')
|
||
@if ($shopping_order->shopping_user->is_for === 'me')
|
||
<strong>{{ __('order.order_for_consultant') }}</strong>
|
||
@else
|
||
<strong>{{ __('order.order_for_client') }}</strong>
|
||
@endif
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'wizard')
|
||
<strong>{{ __('order.adviser_order_for_registration') }}</strong>
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'membership')
|
||
<strong>{{ __('order.adviser_order_for_membership') }}</strong>
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'shopping')
|
||
<strong>{{ __('order.client_order_via_shop') }}</strong>
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'homeparty')
|
||
<h5>{{ __('order.consultant_order_for_home_party') }} </h5>
|
||
<hr>
|
||
@endif
|
||
@if ($shopping_order->shopping_user->is_from === 'collection')
|
||
<h5>{{ __('order.adviser_collective_invoice') }}</h5>
|
||
<hr>
|
||
@endif
|
||
</h6>
|
||
<style>
|
||
table.table-product,
|
||
table.table-product tr td,
|
||
table.table-product tr th {
|
||
border: none;
|
||
}
|
||
|
||
table.table-product tr.border-top td {
|
||
border-top: 1px solid #b8b8b9;
|
||
}
|
||
|
||
table.table-product tr.border-bottom td,
|
||
table.table-product tr.border-bottom th {
|
||
border-bottom: 1px solid #b8b8b9;
|
||
}
|
||
</style>
|
||
|
||
@if ($shopping_order->shopping_user->is_from !== 'homeparty' && $shopping_order->shopping_user->is_from !== 'collection')
|
||
@include('admin.sales._detail_shopping_order')
|
||
@else
|
||
@if ($shopping_order->shopping_collect_order)
|
||
@include('admin.sales._detail_collection')
|
||
@endif
|
||
@if ($shopping_order->homeparty)
|
||
@include('admin.sales._detail_homparty')
|
||
@endif
|
||
@endif
|
||
</div>
|
||
<hr class="m-0">
|
||
|
||
@if ($shopping_order->txaction === 'extern')
|
||
<div class="card-body">
|
||
@if ($shopping_order->wp_invoice_path)
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<a href="{{ $shopping_order->wp_invoice_path }}" target="_blank"
|
||
class="btn btn-secondary btn-sm"><i class="fa fa-external-link-alt"></i>
|
||
{{ __('order.link_to_the_invoice') }}</a>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
@if ($shopping_order->api_notice['wp_advertising'])
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<b>{{ __('order.advertising_material') }}: {!! $shopping_order->api_notice['wp_advertising'] !!}<br></b>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
@if ($shopping_order->api_notice['wp_incentives'])
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<b>{{ __('order.incentives') }}: {!! $shopping_order->api_notice['wp_incentives'] !!}<br></b>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
</div>
|
||
<hr class="m-0">
|
||
@endif
|
||
|
||
<!-- / Payment -->
|
||
<div class="card-body">
|
||
<h6 class="small font-weight-semibold">
|
||
{{ __('tables.payment') }}
|
||
</h6>
|
||
|
||
|
||
|
||
@if ($shopping_order->txaction !== 'extern')
|
||
<div class="table-responsive">
|
||
<table class="table table-bordered table-striped">
|
||
<thead>
|
||
<tr>
|
||
<th style="min-width: 60px">#</th>
|
||
<th>{{ __('tables.payment_type') }}</th>
|
||
<th>{{ __('tables.total') }}</th>
|
||
<th>{{ __('tables.status') }}</th>
|
||
<th>{{ __('tables.date') }}</th>
|
||
<th>{{ __('tables.reference_number') }}</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@php($count = 0)
|
||
@if(isset($shopping_order->shopping_payments) && $shopping_order->shopping_payments)
|
||
@foreach ($shopping_order->shopping_payments as $shopping_payment)
|
||
@if(isset($shopping_payment) && $shopping_payment)
|
||
<tr>
|
||
<th scope="row">{{ ++$count }}</th>
|
||
<td>{{ $shopping_payment->getPaymentType() }}</td>
|
||
<td>{{ $shopping_payment->getPaymentAmount() }}</td>
|
||
<td>
|
||
@if ($isAdmin && $shopping_payment->clearingtype === 'fnc' && $shopping_payment->onlinebanktransfertype === 'MIV')
|
||
<button type="button"
|
||
class="btn btn-sm btn-{{ \App\Services\Payment::getFormattedTxactionColor($shopping_payment->txaction) }}"
|
||
data-toggle="modal" data-target="#modals-txaction"
|
||
data-id="{{ $shopping_order->id }}"
|
||
data-payment_id="{{ $shopping_payment->id }}"
|
||
data-txaction="{{ $shopping_payment->txaction }}"
|
||
data-back="{{ url()->current() }}" data-action="store_txaction">
|
||
<span class="fa fa-edit"></span>
|
||
<strong>{{ \App\Services\Payment::getFormattedTxaction($shopping_payment->txaction) }}</strong>
|
||
</button>
|
||
@else
|
||
{!! \App\Services\Payment::getShoppingPaymentBadge($shopping_payment) !!}
|
||
@endif
|
||
</td>
|
||
<td>{{ $shopping_payment->created_at->format('d.m.Y H:i') }}</td>
|
||
<td>
|
||
{{ $shopping_payment->reference }}
|
||
@if ($isAdmin && !$shopping_order->paid && $shopping_order->txaction !== 'cancelled')
|
||
<button type="button" class="btn btn-sm btn-outline-success mt-1"
|
||
data-toggle="modal" data-target="#modals-manual-payment"
|
||
data-payment_id="{{ $shopping_payment->id }}"
|
||
data-amount="{{ number_format($shopping_payment->amount / 100, 2, '.', '') }}"
|
||
data-payment_label="{{ $shopping_payment->getPaymentType() }} · {{ $shopping_payment->getPaymentAmount() }}">
|
||
<i class="fa fa-euro-sign"></i>
|
||
{{ __('payment.manual_record_button') }}
|
||
</button>
|
||
@endif
|
||
</td>
|
||
</tr>
|
||
@if ($isAdmin && $shopping_payment->payment_transactions)
|
||
@php($ccount = 0)
|
||
<tr>
|
||
<th scope="row" class="m-0">{{ $count }}.{{ ++$ccount }}</th>
|
||
<td colspan="5" class="m-0 p-0">
|
||
<table class="table table-info table-borderless mb-0 small">
|
||
<thead>
|
||
<tr>
|
||
<th style="min-width: 80px">Request</th>
|
||
<th style="min-width: 80px">{{ __('tables.status') }}</th>
|
||
<th style="min-width: 200px">TX-Action</th>
|
||
<th style="min-width: 120px">{{ __('tables.date') }}</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@foreach ($shopping_payment->payment_transactions as $payment_transaction)
|
||
<tr>
|
||
<td>{{ $payment_transaction->request }}</td>
|
||
<td>{{ $payment_transaction->status }}</td>
|
||
<td>{{ $payment_transaction->txaction }}
|
||
{{ $payment_transaction->errormessage }}
|
||
@if ($payment_transaction->request === 'manual_payment' && is_array($payment_transaction->transmitted_data))
|
||
@php($manual = $payment_transaction->transmitted_data)
|
||
<div class="small text-muted">
|
||
<strong>{{ __('payment.manual_recorded_by') }}:</strong>
|
||
{{ $manual['recorded_by_email'] ?? '—' }},
|
||
{{ __('payment.manual_paid_at') }}:
|
||
{{ isset($manual['paid_at']) ? \Carbon::parse($manual['paid_at'])->format('d.m.Y') : '—' }},
|
||
{{ __('payment.manual_bank_reference') }}:
|
||
{{ $manual['bank_reference'] ?? '—' }}
|
||
@if (isset($manual['amount_matches']) && !$manual['amount_matches'])
|
||
<span class="badge badge-warning">
|
||
{{ number_format(($manual['amount_cents'] ?? 0) / 100, 2, ',', '.') }} €
|
||
({{ __('payment.manual_expected_amount') }}:
|
||
{{ number_format(($manual['expected_cents'] ?? 0) / 100, 2, ',', '.') }} €)
|
||
</span>
|
||
@endif
|
||
</div>
|
||
@endif
|
||
</td>
|
||
<td>{{ $payment_transaction->created_at->format('d.m.Y H:i') }}
|
||
</td>
|
||
</tr>
|
||
@endforeach
|
||
</tbody>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
@endif
|
||
@endif
|
||
@endforeach
|
||
@endif
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
@else
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<div class="alert alert-info p-2 mt-2">
|
||
<ul>
|
||
<li>{{ __('order.order_via_external_shop') }} </li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
</div>
|
||
</div>
|
||
|
||
@if ($isAdmin && $canExternDone)
|
||
<div class="modal fade" id="modals-abo-extern-done">
|
||
<div class="modal-dialog">
|
||
<form class="modal-content" action="{{ route('admin_sales_customers_detail', [$shopping_order->id]) }}"
|
||
method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="action" value="shopping-order-abo-extern-done">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('abo.extern_done_confirm_title') }}</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="alert alert-warning">{{ __('abo.extern_done_confirm_copy') }}</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||
<button type="submit" class="btn btn-success">{{ __('abo.extern_done_confirm_button') }}</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
@endif
|
||
|
||
@if ($isAdmin)
|
||
<div class="modal fade" id="modals-shipped">
|
||
<div class="modal-dialog">
|
||
<form class="modal-content" action="{{ route('admin_sales_store') }}" method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="action" value="store_shipped">
|
||
<input type="hidden" name="back" value="{{ url()->current() }}">
|
||
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('Bestellung') }} {{ __('Versand') }} </h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="shipped">{{ __('Versand') }}</label>
|
||
{{ Form::select('shipped', \App\Models\ShoppingOrder::getTransShippedType(), $shopping_order->shipped, ['data-live-search' => 'false', 'class' => 'selectpicker']) }}
|
||
</div>
|
||
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||
<button type="submit" class="btn btn-primary">{{ __('save') }}</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal fade" id="modals-invoice">
|
||
<div class="modal-dialog">
|
||
<form class="modal-content form-prevent-multiple-submits" action="{{ route('admin_sales_invoice') }}" method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="action" value="create_invoice">
|
||
<input type="hidden" name="back" value="{{ url()->current() }}">
|
||
<input type="hidden" name="view" value="{{ $isView }}">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('order.invoice') }}</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="form-group col-sm-12">
|
||
{{ Form::select('invoice_option', ['create' => 'Rechnung erstellen'], false, ['data-live-search' => 'false', 'class' => 'selectpicker']) }}
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="invoice_date">{{ __('Rechnungsdatum') }}</label>
|
||
{!! Form::text('invoice_date', $shopping_order->created_at->format('d.m.Y'), [
|
||
'class' => 'form-control datepicker-base',
|
||
]) !!}
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="invoice_number">{{ __('Rechnungsnummer') }}</label>
|
||
{!! Form::text('invoice_number', App\Services\Invoice::getInvoiceNumber(), [
|
||
'class' => 'form-control',
|
||
'disabled',
|
||
]) !!}
|
||
<em> nächste Rechnungsnummer <a href="{{ route('admin_settings') }}"><i
|
||
class="fa fa-edit"></i></a></em>
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="custom-control custom-checkbox">
|
||
{!! Form::checkbox('invoice_send_mail', 1, false, ['class' => 'custom-control-input']) !!}
|
||
<span class="custom-control-label">{{ __('order.invoice') }} senden an:
|
||
{{ $shopping_order->shopping_user->billing_email }}</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 button-prevent-multiple-submits"><i
|
||
class="spinner fa fa-spinner fa-spin"></i> {{ __('save') }}</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal fade" id="modals-txaction">
|
||
<div class="modal-dialog">
|
||
<form class="modal-content" action="{{ route('admin_sales_store') }}" method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="payment_id">
|
||
<input type="hidden" name="action" value="store_txaction">
|
||
<input type="hidden" name="back" value="{{ url()->current() }}">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('order.order') }} {{ __('order.invoice') }} </h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="txaction">{{ __('order.invoice') }}</label>
|
||
{{ Form::select('txaction', \App\Services\Payment::getTransTxactionInvoice(), 'invoice_paid', ['data-live-search' => 'false', 'class' => 'selectpicker']) }}
|
||
</div>
|
||
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default"
|
||
data-dismiss="modal">{{ __('close') }}</button>
|
||
<button type="submit" class="btn btn-primary">{{ __('save') }}</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
{{-- Zahlungseingang manuell erfassen (SE4, dev/2026-08-26-stripe/) --}}
|
||
<div class="modal fade" id="modals-manual-payment">
|
||
<div class="modal-dialog modal-lg">
|
||
<form class="modal-content form-prevent-multiple-submits"
|
||
action="{{ route('admin_sales_payment_manual') }}" method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="payment_id">
|
||
<input type="hidden" name="back" value="{{ url()->current() }}">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('payment.manual_record_title') }}</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="alert alert-info small">{{ __('payment.manual_record_intro') }}</div>
|
||
|
||
<p class="small text-muted mb-3">
|
||
{{ __('order.order') }} #{{ $shopping_order->id }} ·
|
||
<span class="js-manual-payment-label"></span>
|
||
</p>
|
||
|
||
<div class="row">
|
||
<div class="form-group col-sm-6">
|
||
<label class="form-label" for="manual_paid_at">{{ __('payment.manual_paid_at') }}</label>
|
||
<input type="date" class="form-control" id="manual_paid_at" name="paid_at"
|
||
max="{{ now()->format('Y-m-d') }}" value="{{ old('paid_at', now()->format('Y-m-d')) }}"
|
||
required>
|
||
</div>
|
||
<div class="form-group col-sm-6">
|
||
<label class="form-label" for="manual_amount">{{ __('payment.manual_amount') }}</label>
|
||
<div class="input-group">
|
||
<input type="number" step="0.01" min="0.01" class="form-control" id="manual_amount"
|
||
name="amount" value="{{ old('amount') }}" required>
|
||
<div class="input-group-append">
|
||
<span class="input-group-text">EUR</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="form-label" for="manual_method">{{ __('payment.manual_method') }}</label>
|
||
<select class="custom-select" id="manual_method" name="method" required>
|
||
@foreach (\App\Services\ManualPaymentService::methods() as $key => $label)
|
||
<option value="{{ $key }}" @selected(old('method') === $key)>{{ $label }}</option>
|
||
@endforeach
|
||
</select>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="form-label"
|
||
for="manual_bank_reference">{{ __('payment.manual_bank_reference') }}</label>
|
||
<input type="text" class="form-control" id="manual_bank_reference" name="bank_reference"
|
||
maxlength="255" value="{{ old('bank_reference') }}" required>
|
||
<small class="form-text text-muted">{{ __('payment.manual_bank_reference_help') }}</small>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="form-label" for="manual_note">{{ __('payment.manual_note') }}</label>
|
||
<textarea class="form-control" id="manual_note" name="note" rows="2"
|
||
maxlength="1000">{{ old('note') }}</textarea>
|
||
</div>
|
||
|
||
<div class="custom-control custom-checkbox mb-2">
|
||
<input type="checkbox" class="custom-control-input" id="manual_send_mail" name="send_mail"
|
||
value="1" checked>
|
||
<label class="custom-control-label"
|
||
for="manual_send_mail">{{ __('payment.manual_send_mail') }}</label>
|
||
</div>
|
||
|
||
<div class="custom-control custom-checkbox mb-3">
|
||
<input type="checkbox" class="custom-control-input" id="manual_confirm_deviation"
|
||
name="confirm_deviation" value="1">
|
||
<label class="custom-control-label"
|
||
for="manual_confirm_deviation">{{ __('payment.manual_confirm_deviation') }}</label>
|
||
</div>
|
||
|
||
<div class="alert alert-warning small mb-0">{{ __('payment.manual_record_bank_hint') }}</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('close') }}</button>
|
||
<button type="submit" class="btn btn-success button-prevent-multiple-submits">
|
||
<i class="spinner fa fa-spinner fa-spin"></i>
|
||
{{ __('payment.manual_record_button') }}
|
||
</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal fade" id="modals-cancellation-invoice">
|
||
<div class="modal-dialog">
|
||
<form class="modal-content form-prevent-multiple-submits"
|
||
action="{{ route('admin_sales_invoice_cancellation') }}" method="post">
|
||
@csrf
|
||
<input type="hidden" name="id" value="{{ $shopping_order->id }}">
|
||
<input type="hidden" name="action" value="create_cancellation_invoice">
|
||
<input type="hidden" name="back" value="{{ url()->current() }}">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">{{ __('Stornorechnung erstellen') }}</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="alert alert-warning">
|
||
<strong>Achtung!</strong> Sie sind dabei, eine Stornorechnung zu erstellen. Diese wird die
|
||
ursprüngliche Rechnung mit negativen Beträgen stornieren.
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label">{{ __('Ursprüngliche Rechnung') }}</label>
|
||
<div class="form-control-plaintext">
|
||
<strong>Rechnungsnummer:</strong>
|
||
{{ App\Services\Invoice::getNumber($shopping_order) }}<br>
|
||
<strong>Rechnungsdatum:</strong> {{ App\Services\Invoice::getDate($shopping_order) }}<br>
|
||
<strong>Betrag:</strong> {{ $shopping_order->getFormattedTotalShipping() }} €
|
||
</div>
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="cancellation_date">{{ __('Stornodatum') }}</label>
|
||
{!! Form::text('cancellation_date', now()->format('d.m.Y'), ['class' => 'form-control datepicker-base']) !!}
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="form-label" for="cancellation_number">{{ __('Stornonummer') }}</label>
|
||
{!! Form::text('cancellation_number', App\Services\Invoice::getInvoiceNumber(), [
|
||
'class' => 'form-control',
|
||
'disabled',
|
||
]) !!}
|
||
<em> nächste Rechnungsnummer <a href="{{ route('admin_settings') }}"><i
|
||
class="fa fa-edit"></i></a></em>
|
||
</div>
|
||
<div class="form-group col-sm-12">
|
||
<label class="custom-control custom-checkbox">
|
||
{!! Form::checkbox('cancellation_send_mail', 1, false, ['class' => 'custom-control-input']) !!}
|
||
<span class="custom-control-label">Stornorechnung an
|
||
{{ $shopping_order->shopping_user->billing_email }}</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-danger button-prevent-multiple-submits"><i
|
||
class="spinner fa fa-spinner fa-spin"></i> Stornorechnung erstellen</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script>
|
||
$(document).ready(function() {
|
||
$('#modals-manual-payment').on('show.bs.modal', function(event) {
|
||
var button = $(event.relatedTarget);
|
||
$(this).find("input[name='payment_id']").val(button.data('payment_id'));
|
||
$(this).find("input[name='amount']").val(button.data('amount'));
|
||
$(this).find('.js-manual-payment-label').text(button.data('payment_label') || '');
|
||
});
|
||
|
||
$('#modals-txaction').on('show.bs.modal', function(event) {
|
||
var button = $(event.relatedTarget);
|
||
$(this).find(".modal-content input[name='payment_id']").val(button.data('payment_id'));
|
||
$(this).find(".modal-body select[name='txaction']").val(button.data('txaction'));
|
||
$('.selectpicker').selectpicker('refresh');
|
||
|
||
});
|
||
});
|
||
</script>
|
||
@endif
|