mivita/resources/views/web/templates/checkout.blade.php
Kevin 3d0864713b Kunden loeschen: DSGVO-geloeschte Kunden ausblenden und sperren; Checkout-Herkunft freiwillig
Kunden loeschen (Rueckmeldung "es wird nichts geloescht"):
- DSGVO-geloeschte Eintraege blieben mit Name in den Listen stehen; Kunde
  61009 wurde deshalb achtmal geloescht, bei Eintrag 45013 wurde die E-Mail
  danach ueber ein offenes Bearbeiten-Formular zurueckgeschrieben
- neue Spalte shopping_users.gdpr_deleted_at (Bestand per Migration markiert)
- Admin-Kundenliste blendet geloeschte Kunden aus (Filter: ausblenden /
  mit anzeigen / nur geloeschte), Berater-Kundenliste immer
- Bearbeiten/Speichern im Admin und beim Berater gesperrt; ShoppingUser
  verweigert das Zurueckschreiben von E-Mail und Telefon
- Modal und Erfolgsmeldung (de/en/es/fr) sagen klar, dass Name und
  Rechnungsadresse wegen der Aufbewahrungspflicht bleiben
- gdpr:repair-customers [--execute] zieht protokollierte Loeschungen nach
- DSGVO-Loeschung prueft Superadmin serverseitig; Berater duerfen eine
  Kunden-E-Mail nur beim eigenen Kunden nachtragen
- setFakerMail setzt faker_mail bei geloeschten Eintraegen nicht zurueck

Checkout: "Wie bist du auf uns aufmerksam geworden?" ist kein Pflichtfeld
mehr und wird farbig hervorgehoben.

Deploy: php artisan migrate && php artisan gdpr:repair-customers --execute

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 12:36:02 +00:00

1502 lines
No EOL
96 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
@section('content')
<section class="page-header page-header-xlg parallax parallax-3"
style="background-image:url('/assets/images/vision-min.jpg')">
<div class="overlay dark-1">{{-- dark overlay [1 to 9 opacity] --}}</div>
<div class="container">
</div>
</section>
{{-- /PAGE HEADER --}}
<style>
.no-line-break {
white-space: nowrap;
}
.checkbox.error{
color:#b92c28 !important;
}
div.shop-item {
margin-bottom:30px;
border: 1px solid #ddd;
}
div.shop-item > .thumbnail, .thumbnail {
border: none;
}
div.shop-item-summary {
padding: 8px;
}
div.shop-item-summary h2 a {
color: #9aa983;
font-size: 1.2em;
margin: 0 0 10px 0;
}
div.shop-item-buttons {
padding: 0 8px 10px 8px;
}
div.shop-item-buttons .btn-xs{
padding: 4px;
}
.cartContent a.remove_item {
background: transparent;
}
.cartContent .product_name {
font-size: 1.15em;
}
.cartContent .product_name > small {
line-height: 20px;
}
@media only screen and (max-width: 1200px) {
.cartContent .product_name {
padding-bottom: 0;
min-height: 60px;
width: 60%;
}
.cartContent .remove_item {
clear: right;
}
.cartContent .total_price {
width: auto;
padding-top: 30px;
clear: right;
}
.cartContent .item .qty {
float: left;
text-align: left;
}
.cartContent .item.head {
display: none;
}
}
@media only screen and (min-width: 768px) {
.cartContent .total_price {
padding-top: 10px;
}
}
@media only screen and (min-width: 992px) {
.cartContent .total_price {
padding-top: 30px;
}
}
@media only screen and (min-width: 1200px) {
.cartContent .total_price {
padding-top: 10px;
}
}
.cc_error {
border: #bf6464 2px dashed;
}
.error .select2-selection, .error select.form-control {
border: #bf6464 2px dashed;
}
fieldset.softhide {
display: none;
}
select.form-control:not([size]):not([multiple]) {
height: 38px;
color: #6f6f6f;
font-weight: 600;
}
.info-small {
font-size: 0.8em;
font-style: italic;
}
.order-source-highlight {
background: #f3f7f0;
border: 1px solid #97b085;
border-left: 4px solid #97b085;
border-radius: 4px;
padding: 12px 15px;
}
.order-source-highlight label {
font-weight: 600;
color: #5f7a4e;
}
select.form-control:not([size]):not([multiple]) {
height: 38px;
color: #6f6f6f;
font-weight: 600;
}
.yard-items-head {
border-bottom: 1px solid #ddd;
padding-bottom: 8px;
margin-bottom: 8px;
}
.yard-item {
position: relative;
border-bottom: 1px solid #ddd;
padding-bottom: 8px;
}
.yard-item a.shop-item-hl {
color: #9aa983;
font-size: 1.1em;
font-weight: bold;
}
.yard-item .options {
margin-top: 4px;
}
.yard-item a.auto-delete-product {
font-size: 0.7em;
font-weight: bold;
text-transform: uppercase;
}
.yard-item .quantity {
position: relative;
}
.quantity-select {
text-align: right;
}
.quantity-select select.form-control:not([size]):not([multiple]) {
width: auto;
min-width: 5em;
display: inline-block;
}
.yard-item .price-total {
margin-top: 6px;
white-space: nowrap;
}
.yard-item .font-semi-bold {
color: #393939;
font-weight: 500;
}
.yard-item .font-semi-bold .small {
font-size: 1rem;
}
.yard-item .font-bold {
color:#393939;
font-weight: bold;
}
.price-single {
white-space: nowrap;
}
.btn-default {
border: none;
font-size: 0.9em;
}
.table > tfoot > tr > td.no-border-top {
border-top: none;
}
</style>
<section>
<div class="container">
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
{{ __('payment.please_check_form_and_complete') }}
</div>
</div>
</div>
@endif
@if (\Session::has('checkout-error'))
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
{{ \Session::get('checkout-error') }}
</div>
</div>
</div>
@endif
@if (\Session::has('errormessage'))
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger" role="alert">
<h5 class="alert-heading mb-1">
<i class="fa fa-exclamation-circle mr-1"></i>
{{ __('payment.payment_error') }}
</h5>
@if(\Session::get('customermessage'))
<p class="mb-1">{{ \Session::get('customermessage') }}</p>
@endif
<hr class="my-2">
<p class="mb-0 small">{{ __('payment.payment_error_hint') }}</p>
</div>
</div>
</div>
@endif
@if(isset($instance_status) && $instance_status)
<div class="row mb-4">
<div class="col-sm-12">
{!! \App\Services\OrderPaymentService::getStatusAlert($instance_status) !!}
</div>
</div>
@endif
<div class="row mb-4">
{{-- LEFT --}}
<div class="col-lg-12 col-sm-12">
<div class="toggle-transparent toggle-bordered-full clearfix">
<div class="toggle nomargin-top">
<label>{!! __('order.you_has_article_in_shopping_cart', ['num'=> Yard::instance($yard_instance)->count() ]) !!}</label>
<div class="toggle-content" style="display: none;">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>&nbsp;</th>
<th>{{ __('order.article') }}</th>
<th>{{ __('order.unit_price') }}</th>
<th>{{ __('tables.quantity') }}</th>
<th class="text-right">{{ __('tables.sum') }}</th>
</tr>
</thead>
@if(Yard::instance($yard_instance)->content() && Yard::instance($yard_instance)->content()->count())
<tbody>
@foreach(Yard::instance($yard_instance)->content() as $row)
@php($product = \App\Models\Product::find($row->id))
@if($product)
<tr>
<td>
@if($row->options->has('image'))
<img src="{{ route('product_image', [$row->options->image]) }}" class="img-responsive" style="max-width: 120px; min-width:60px" alt="">
@else
<img src="{{ asset('/assets/images/1x1.png') }}" width="80" alt="">
@endif
</td>
<td>
<div class="shop-item-hl"><strong>{{ $row->name }}</strong> @if(isset($is_abo) && $is_abo) {!! get_abo_type_badge_by_product($product) !!} @endif</div></div>
<div style="font-size: 13px; color:#1d1d1d; font-weight: 500;">{{ __('order.content') }}: {{ $product->contents }}</div>
<div style="font-size: 13px; color:#1d1d1d; font-weight: 500;">{{ __('order.art_no') }}: {{ $product->number }}</div>
<div style="font-size: 13px; color:#6e6e6e; font-weight: 400;"><em>{{ __('weborder.delivery_time_1_3') }}</em></div>
<div class="small">{{ $product->getBasePriceFormattedFullWith(Yard::instance($yard_instance)->getUserTaxFree(), false, Yard::instance($yard_instance)->getUserCountry()) }}</div>
<div class="small">
@if(Yard::instance($yard_instance)->getUserTaxFree())
* {{ __('order.net_price') }}
@else
* {{ __('weborder.incl') }} {{ number_format($row->taxRate, 0)}}% {{ __('weborder.VAT') }}
@endif
@if(Yard::instance($yard_instance)->getShippingFree() && $row->options->no_free_shipping)
<br>**{{ __('weborder.not_free_shipping') }}
@endif
</div>
</td>
<td>
<div style="">{{ $row->price() }} € {{ Yard::instance($yard_instance)->getUserTaxFree() }}</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('price', $row, 2) }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</td>
<td>
<div style="">{{ $row->qty }}</div>
</td>
<td>
<div class="price-total text-right">
<span class="font-bold text-price-total">{{ $row->subtotal() }}</span> &euro;
@if(Yard::instance($yard_instance)->isPriceCurrency())
<br>
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('subtotal', $row, 2) }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</div>
</td>
</tr>
@else
<tr>
<td>
&nbsp;
</td>
<td>
<div class="shop-item-hl">{{ $row->name }}</div>
</td>
<td>
<div style="">{{ $row->price() }} €</div>
</td>
<td>
<div style="">{{ $row->qty }}</div>
</td>
<td>
<div class="price-total text-right">
<span class="font-bold text-price-total">{{ $row->subtotal() }}</span> &euro;
</div>
</td>
</tr>
@endif
@endforeach
</tbody>
<tfoot>
@if($shopping_user->is_from !== 'homeparty' && $shopping_user->is_from !== 'collection')
<tr>
<td colspan="4" class="text-right small"><strong>{{ __('order.subtotal') }}:</strong></td>
<td class="text-right small">{{ Yard::instance($yard_instance)->subtotal() }} €</td>
</tr>
<tr>
<td colspan="4" class="text-right small no-border-top"><strong>{{ __('Delivery country') }}:</strong></td>
<td class="text-right small no-border-top">{{ Yard::instance($yard_instance)->getShippingCountryName() }}</td>
</tr>
@php($checkoutShippingTaxFree = Yard::instance($yard_instance)->getUserTaxFree())
<tr>
<td colspan="4" class="text-right small no-border-top"><strong>{{ __('order.shipping_costs') }} ({{ $checkoutShippingTaxFree ? __('order.net') : __('order.incl_VAT') }}):</strong></td>
<td class="text-right small no-border-top">{{ $checkoutShippingTaxFree ? Yard::instance($yard_instance)->shippingNet() : Yard::instance($yard_instance)->shipping() }} € </td>
</tr>
@if(Yard::instance($yard_instance)->getUserTaxFree())
<tr>
<td colspan="4" class="text-right small no-border-top"><strong>{{ __('order.sum_net') }}:</strong></td>
<td class="text-right small no-border-top">{{ Yard::instance($yard_instance)->subtotalWithShipping() }} €</td>
</tr>
@else
<tr>
<td colspan="4" class="text-right small no-border-top"><strong>{{ __('order.total_without_VAT') }}:</strong></td>
<td class="text-right small no-border-top">{{ Yard::instance($yard_instance)->subtotalWithShipping() }} €</td>
</tr>
<tr>
<td colspan="4" class="text-right small no-border-top"><strong>{{ __('order.plus_VAT') }}:</strong></td>
<td class="text-right small no-border-top">{{ Yard::instance($yard_instance)->taxWithShipping() }} €</td>
</tr>
@endif
@endif
<tr>
<td colspan="4" class="text-right"><strong>{{ __('order.total_sum') }}:</strong></td>
<td class="text-right">{{ Yard::instance($yard_instance)->totalWithShipping() }} €</td>
</tr>
</tfoot>
@endif
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="m-checkout">
{!! Form::open(['action' => route('checkout.checkout_card_final'), 'class' => 'row clearfix', 'id'=>'checkout_card_final']) !!}
{!! Form::hidden('selected_country', '') !!}
{!! Form::hidden('is_for', $shopping_user->is_for) !!}
{!! Form::hidden('is_from', $shopping_user->is_from) !!}
{!! Form::hidden('homeparty_id', $shopping_user->homeparty_id) !!}
{!! Form::hidden('shopping_collect_order_id', $shopping_user->shopping_collect_order_id) !!}
{!! Form::hidden('is_abo', $is_abo) !!}
{!! Form::hidden('abo_interval', $abo_interval) !!}
{!! Form::hidden('recovery_user_abo_id', $recovery_user_abo_id ?? null) !!}
@if (\Session::has('elv-managemandate'))
<div class="col-sm-12">
<fieldset class="mb-20 box-border-shadow p-20">
<button type="submit" class="btn btn-warning btn-lg btn-block size-18 btn-text-500 mt-4 faa-parent animated-hover" style="white-space: normal">
<i class="fa fa-mail-forward faa-horizontal"></i> {{ __('payment.agree_SEPA_complete_purchase') }}</button>
<hr>
<div class="alert alert-success">
{!! urldecode(\Session::get('elv-mandate_text')) !!}
</div>
<hr>
<button type="submit" class="btn btn-warning btn-lg btn-block size-18 btn-text-500 mt-4 faa-parent animated-hover" style="white-space: normal">
<i class="fa fa-mail-forward faa-horizontal"></i> {{ __('payment.agree_SEPA_complete_purchase') }}</button>
</fieldset>
<input type="hidden" name="mandate_identification" id="mandate_identification" value="{{ \Session::get('elv-mandate_identification') }}">
<input type="hidden" name="creditor_identifier" id="creditor_identifier" value="{{ \Session::get('elv-creditor_identifier') }}">
</div>
@endif
<div class="col-lg-7 col-sm-7">
{{-- BILLING --}}
<fieldset class="mb-0 box-border-shadow p-20">
<h4>{{ __('payment.billing_address') }}</h4>
<hr />
@if($is_from === 'shopping')
<div class="is_from_shopping">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="billing_company">{{ __('Company name') }} ({{__('optional')}})</label>
{!! Form::text('billing_company', $shopping_user->billing_company, ['class' => 'form-control', 'id'=>'billing_company']) !!}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="form-group {{($errors->has('billing_salutation') ? 'error' : '')}}">
<label class="mt-0 fs-14 fw-400" for="billing_salutation">{{ __('Salutation') }} *</label>
<select id="billing_salutation" name="billing_salutation" class="form-control custom-select">
{!! HTMLHelper::getSalutation(($shopping_user->billing_salutation ? $shopping_user->billing_salutation : old('billing_salutation'))) !!}
</select>
@if ($errors->has('billing_salutation'))
<label for="billing_salutation" class="error text-danger small" style="display: block;">{{ $errors->first('billing_salutation') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-6">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="billing_firstname">{{ __('First name') }}*</label>
{!! Form::text('billing_firstname', $shopping_user->billing_firstname, ['class' => 'form-control '.($errors->has('billing_firstname') ? 'error' : ''), 'id'=>'billing_firstname']) !!}
@if ($errors->has('billing_firstname'))
<label for="billing_firstname" class="error text-danger small" style="display: block;">{{ $errors->first('billing_firstname') }}</label>
@endif
</div>
</div>
<div class="col-md-6 col-sm-6">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="billing_lastname">{{ __('Last name') }}*</label>
{!! Form::text('billing_lastname', $shopping_user->billing_lastname, ['class' => 'form-control '.($errors->has('billing_lastname') ? 'error' : ''), 'id'=>'billing_lastname']) !!}
@if ($errors->has('billing_lastname'))
<label for="billing_lastname" class="error text-danger small" style="display: block;">{{ $errors->first('billing_lastname') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="billing_address">{{ __('Street') }} {{ __('no.') }}*</label>
{!! Form::text('billing_address', $shopping_user->billing_address, ['class' => 'form-control '.($errors->has('billing_address') ? 'error' : ''), 'id'=>'billing_address']) !!}
@if ($errors->has('billing_address'))
<label for="billing_address" class="error text-danger small" style="display: block;">{{ $errors->first('billing_address') }}</label>
@endif
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="billing_address_2">{{ __('Flat Building optional') }}</label>
{!! Form::text('billing_address_2', $shopping_user->billing_address_2, ['class' => 'form-control '.($errors->has('billing_address_2') ? 'error' : ''), 'id'=>'billing_address_2']) !!}
@if ($errors->has('billing_address_2'))
<label for="billing_address_2" class="error text-danger small" style="display: block;">{{ $errors->first('billing_address_2') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-6">
<label class="mt-0 fs-14 fw-400" for="billing_zipcode">{{ __('Postcode') }} *</label>
{!! Form::text('billing_zipcode', $shopping_user->billing_zipcode, ['class' => 'form-control '.($errors->has('billing_zipcode') ? 'error' : ''), 'id'=>'billing_zipcode']) !!}
@if ($errors->has('billing_zipcode'))
<label for="billing_zipcode" class="error text-danger small" style="display: block;">{{ $errors->first('billing_zipcode') }}</label>
@endif
</div>
<div class="col-md-6 col-sm-6">
<label class="mt-0 fs-14 fw-400" for="billing_city">{{ __('City') }} *</label>
{!! Form::text('billing_city', $shopping_user->billing_city, ['class' => 'form-control '.($errors->has('billing_city') ? 'error' : ''), 'id'=>'billing_city']) !!}
@if ($errors->has('billing_city'))
<label for="billing_city" class="error text-danger small" style="display: block;">{{ $errors->first('billing_city') }}</label>
@endif
</div>
</div>
{!! Form::hidden('billing_state', $shopping_user->billing_state) !!}
{!! Form::hidden('billing_country_id', \App\Services\Shop::getShippingCountryCountryId($shopping_user->billing_state)) !!}
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="billing_state">{{ __('Country') }} *</label>
@if(isset($shopping_user->billing_country))
<div class="text-normal">{{ $shopping_user->billing_country->getLocated() }}</div>
@else
<div class="text-normal">-</div>
@endif
<span class="info-small">{{ __('order.land_can_no_longer_be_changed') }}.</span>
</div>
</div>
{{--<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="billing_state">{{ __('Country') }} *</label>
<select id="billing_state" name="billing_state" class="form-control" required>
{!! HTMLHelper::getCountriesForShipping($shopping_user->billing_state) !!}
</select>
<input type="hidden" name="billing_country_id" value="{{ \App\Services\Shop::getShippingCountryCountryId($shopping_user->billing_state)}}">
<span class="info-small" id="show_shipping_country_info">Bei der Änderung des Lieferlandes werden die Versandkosten neu berechnet.</span>
</div>
</div> --}}
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="billing_phone">{{ __('Phone') }} ({{ __('optional') }})</label>
{!! Form::text('billing_phone', $shopping_user->billing_phone, ['class' => 'form-control '.($errors->has('billing_phone') ? 'error' : ''), 'id'=>'billing_phone']) !!}
@if ($errors->has('billing_phone'))
<label for="billing_phone" class="error text-danger small" style="display: block;">{{ $errors->first('billing_phone') }}</label>
@endif
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="billing_email">{{ __('E-Mail') }} *</label>
@if($is_for === 'ot-customer' || $is_for === 'abo-ot-customer')
{!! Form::email('billing_email', $shopping_user->billing_email, ['class' => 'form-control '.($errors->has('billing_email') ? 'error' : ''), 'id'=>'billing_email', 'readonly' => 'readonly']) !!}
<span class="info-small">{{ __('order.email_can_not_be_changed') }}.</span>
@else
{!! Form::email('billing_email', $shopping_user->billing_email, ['class' => 'form-control '.($errors->has('billing_email') ? 'error' : ''), 'id'=>'billing_email']) !!}
@endif
@if ($errors->has('billing_email'))
<label for="billing_email" class="error text-danger small" style="display: block;">{{ $errors->first('billing_email') }}</label>
@endif
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="language">{{ __('account.preferred_language') }}</label>
<select name="language" id="language" class="form-control">
@foreach(\App\Models\ShoppingUser::getAvailableLanguages() as $code => $label)
<option value="{{ $code }}" {{ $shopping_user->language === $code ? 'selected' : '' }}>
{{ $label }}
</option>
@endforeach
</select>
<span class="info-small">{{ __('customer.language_hint') }}</span>
</div>
</div>
<div class="row mt-3">
<div class="col-md-12 col-sm-12">
<div class="form-group order-source-highlight {{($errors->has('customer_order_source_comment') ? 'error' : '')}}">
<label class="mt-0 fs-14" for="customer_order_source_comment"><i class="fa fa-heart"></i> Wie bist du auf uns aufmerksam geworden?</label>
<span class="info-small mb-2" style="display: block;">Freiwillig – hilft uns aber sehr, dich der richtigen Person zuzuordnen.</span>
{!! Form::textarea('customer_order_source_comment', old('customer_order_source_comment'), ['class' => 'form-control '.($errors->has('customer_order_source_comment') ? 'error' : ''), 'id'=>'customer_order_source_comment', 'rows' => 3, 'maxlength' => 500, 'placeholder' => 'z. B. Name der Person, die dich empfohlen hat, oder die genaue Messe/Veranstaltung']) !!}
@if ($errors->has('customer_order_source_comment'))
<label for="customer_order_source_comment" class="error text-danger small" style="display: block;">{{ $errors->first('customer_order_source_comment') }}</label>
@endif
</div>
</div>
</div>
</div>
@else
<div class="is_from_user">
{!! Form::hidden('billing_company', $shopping_user->billing_company) !!}
{!! Form::hidden('billing_salutation', $shopping_user->billing_salutation) !!}
{!! Form::hidden('billing_firstname', $shopping_user->billing_firstname) !!}
{!! Form::hidden('billing_lastname', $shopping_user->billing_lastname) !!}
{!! Form::hidden('billing_address', $shopping_user->billing_address) !!}
{!! Form::hidden('billing_address_2', $shopping_user->billing_address_2) !!}
{!! Form::hidden('billing_zipcode', $shopping_user->billing_zipcode) !!}
{!! Form::hidden('billing_city', $shopping_user->billing_city) !!}
{!! Form::hidden('billing_phone', $shopping_user->billing_phone) !!}
{!! Form::hidden('billing_email', $shopping_user->billing_email) !!}
{!! Form::hidden('billing_state', $shopping_user->billing_state) !!}
{!! Form::hidden('billing_country_id', $shopping_user->billing_country_id) !!}
<div class="row">
<style>
.ex-small {
color: #868686 !important;
font-size: 12px;
font-weight: bold;
}
.text-normal {
color: #404040 !important;
font-size: 14px;
font-weight: normal;
margin-bottom: 6px;
}
</style>
@if($shopping_user->billing_company)
<div class="col-md-12 mb-3">
<div class="ex-small">{{ __('Company') }}</div>
<div class="text-normal">{{ $shopping_user->billing_company }}</div>
</div>
@endif
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Salutation') }}</div>
<div class="text-normal">{{ \App\Services\HTMLHelper::getSalutationLang($shopping_user->billing_salutation) }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('First name') }}</div>
<div class="text-normal">{{ $shopping_user->billing_firstname }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Last name') }}</div>
<div class="text-normal">{{ $shopping_user->billing_lastname }}</div>
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Street') }}</div>
<div class="text-normal">{{ $shopping_user->billing_address }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Addition') }}</div>
<div class="text-normal">{{ $shopping_user->billing_address_2 }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Postcode') }}</div>
<div class="text-normal">{{ $shopping_user->billing_zipcode }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('City') }} </div>
<div class="text-normal">{{ $shopping_user->billing_city }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Country') }}</div>
<div class="text-normal">{{ $shopping_user->billing_country->getLocated() }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('Phone') }}</div>
<div class="text-normal">{{ $shopping_user->billing_phone }}</div>
</div>
<div class="col-md-3 mb-3">
<div class="ex-small">{{ __('E-Mail') }}</div>
<div class="text-normal">{{ $shopping_user->billing_email }}</div>
</div>
</div>
<hr class="mb-3 mt-1">
<p class="text-muted small mb-0"><i>{{ __('payment.billing_address_can_only_changed_in_salescentre') }}</i></p>
<hr class="mb-3 mt-1">
<div class="row mb-3">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="language">{{ __('account.preferred_language') }}</label>
<select name="language" id="language" class="form-control">
@foreach(\App\Models\ShoppingUser::getAvailableLanguages() as $code => $label)
<option value="{{ $code }}" {{ $shopping_user->language === $code ? 'selected' : '' }}>
{{ $label }}
</option>
@endforeach
</select>
<span class="info-small">{{ __('customer.language_hint') }}</span>
</div>
</div>
</div>
@endif
<div class="row">
<div class="col-md-12 col-sm-12">
<hr>
<label class="checkbox {{ ($errors->has('accepted_data_checkbox') ? 'error' : '') }}" for="accepted_data_checkbox" style="font-size: 14px;line-height: 22px; font-weight: 400">
{!! Form::checkbox('accepted_data_checkbox', 1, $shopping_user->accepted_data_checkbox, ['id'=>'accepted_data_checkbox', 'class' => 'form-control '.($errors->has('accepted_data_checkbox') ? 'error' : '')]) !!}
@if($shopping_user->auth_user_id)
<i></i> {{ __('payment.accepted_data_checkbox_user') }}
@else
<i></i> {!! __('payment.accepted_data_checkbox_customer', [
'gtc'=> '<a href="'.url('/agb').'">'.__('payment.gtc').'</a>',
'c_policy' => '<a target="_blank" href="'.asset('download/mivita_widerruf_formular.pdf').'">'.__('payment.c_policy').'</a>',
'p_policy'=> '<a href="'.url('/datenschutz').'">'.__('payment.p_policy').'</a>',
]) !!}
@endif
</label>
@if ($errors->has('accepted_data_checkbox'))
<label for="accepted_data_checkbox" class="error text-danger small" style="display: block;">{{ $errors->first('accepted_data_checkbox') }}</label>
@endif
</div>
</div>
@if($shopping_user->is_from !== 'homeparty' && $shopping_user->is_from !== 'collection')
@if($shopping_user->is_from === 'membership' || $shopping_user->is_from === 'wizard')
{!! Form::hidden('same_as_billing', $shopping_user->same_as_billing) !!}
<div class="row" style="display: none">
<div class="col-lg-12 nomargin clearfix">
<hr>
<label class="mt-0 fs-14 fw-500 checkbox pull-left disabled">
{!! Form::checkbox('same_as_billing', 1, $shopping_user->same_as_billing, ['id'=>'shipswitch', 'disabled'=>true]) !!}
<i></i> <span class="weight-400">{{ __('order.different_delivery_address') }}</span>
</label>
</div>
</div>
@else
@if($is_from === 'user_order') {!! Form::hidden('same_as_billing', $shopping_user->same_as_billing) !!} @endif
<div class="row" @if($is_from === 'user_order') style="display: none" @endif>
<div class="col-lg-12 nomargin clearfix">
<hr>
<label class="mt-0 fs-14 fw-500 checkbox pull-left">
{!! Form::checkbox('same_as_billing', 1, $shopping_user->same_as_billing, ['id'=>'shipswitch']) !!}
<i></i> <span class="weight-400">{{ __('order.different_delivery_address') }}</span>
</label>
</div>
</div>
@endif
@endif
</fieldset>
{{-- /BILLING --}}
{{-- SHIPPING --}}
<fieldset id="shipping" class="softhide mt-40">
<div class="box-border-shadow p-20">
@if($shopping_user->is_from === 'user_order')
@if($shopping_user->is_for === 'me')
<h4>{{ __('order.my_delivery_address') }}</h4>
@else
<h4>{{ __('order.delivery_address_of_the_client') }}</h4>
@endif
@else
<h4>{{ __('Delivery address') }}</h4>
@endif
<hr />
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="shipping_company">{{ __('Company name') }} ({{ __('optional') }})</label>
{!! Form::text('shipping_company', $shopping_user->shipping_company, ['class' => 'form-control', 'id'=>'shipping_company']) !!}
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="form-group {{($errors->has('billing_salutation') ? 'error' : '')}}">
<label class="mt-0 fs-14 fw-400" for="shipping_salutation">{{ __('Salutation') }} *</label>
<select id="shipping_salutation" name="shipping_salutation" class="form-control custom-select">
{!! HTMLHelper::getSalutation(($shopping_user->shipping_salutation ? $shopping_user->shipping_salutation : old('shipping_salutation'))) !!}
</select>
@if ($errors->has('shipping_salutation'))
<label for="shipping_salutation" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_salutation') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-6">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="shipping_firstname">{{ __('First name') }}*</label>
{!! Form::text('shipping_firstname', $shopping_user->shipping_firstname, ['class' => 'form-control '.($errors->has('shipping_firstname') ? 'error' : ''), 'id'=>'shipping_firstname']) !!}
@if ($errors->has('shipping_firstname'))
<label for="shipping_firstname" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_firstname') }}</label>
@endif
</div>
</div>
<div class="col-md-6 col-sm-6">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="shipping_lastname">{{ __('Last name') }}*</label>
{!! Form::text('shipping_lastname', $shopping_user->shipping_lastname, ['class' => 'form-control '.($errors->has('shipping_lastname') ? 'error' : ''), 'id'=>'shipping_lastname']) !!}
@if ($errors->has('shipping_lastname'))
<label for="shipping_lastname" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_lastname') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="shipping_address">{{ __('Street') }} {{ __('no.') }} *</label>
{!! Form::text('shipping_address', $shopping_user->shipping_address, ['class' => 'form-control '.($errors->has('shipping_address') ? 'error' : ''), 'id'=>'shipping_address']) !!}
@if ($errors->has('shipping_address'))
<label for="shipping_address" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_address') }}</label>
@endif
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="shipping_address_2">{{ __('Flat Building optional') }}</label>
{!! Form::text('shipping_address_2', $shopping_user->shipping_address_2, ['class' => 'form-control '.($errors->has('shipping_address_2') ? 'error' : ''), 'id'=>'shipping_address_2']) !!}
@if ($errors->has('shipping_address_2'))
<label for="shipping_address_2" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_address_2') }}</label>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-6">
<label class="mt-0 fs-14 fw-400" for="shipping_zipcode">{{ __('Postcode') }} *</label>
{!! Form::text('shipping_zipcode', $shopping_user->shipping_zipcode, ['class' => 'form-control '.($errors->has('shipping_zipcode') ? 'error' : ''), 'id'=>'shipping_zipcode']) !!}
@if ($errors->has('shipping_zipcode'))
<label for="shipping_zipcode" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_zipcode') }}</label>
@endif
</div>
<div class="col-md-6 col-sm-6">
<label class="mt-0 fs-14 fw-400" for="shipping_city">{{ __('City') }} *</label>
{!! Form::text('shipping_city', $shopping_user->shipping_city, ['class' => 'form-control '.($errors->has('shipping_city') ? 'error' : ''), 'id'=>'shipping_city']) !!}
@if ($errors->has('shipping_city'))
<label for="shipping_city" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_city') }}</label>
@endif
</div>
</div>
@if($is_from === 'user_order')
{!! Form::hidden('shipping_state', $shopping_user->shipping_state) !!}
{!! Form::hidden('shipping_country_id', \App\Services\Shop::getShippingCountryCountryId($shopping_user->shipping_state)) !!}
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="shipping_state">{{ __('Delivery country') }} *</label>
@if(isset($shopping_user->shipping_country))
<div class="text-normal">{{ $shopping_user->shipping_country->getLocated() }}</div>
@else
<div class="text-normal">-</div>
@endif
<span class="info-small">{{ __('payment.delivery_country_can_only_changed_in_salescentre') }}</span>
</div>
</div>
@else
{!! Form::hidden('shipping_state', $shopping_user->shipping_state) !!}
{!! Form::hidden('shipping_country_id', \App\Services\Shop::getShippingCountryCountryId($shopping_user->shipping_state)) !!}
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="shipping_state">{{ __('Delivery country') }} *</label>
@if(isset($shopping_user->shipping_country))
<div class="text-normal">{{ $shopping_user->shipping_country->getLocated() }}</div>
@else
<div class="text-normal">-</div>
@endif
@if($is_from === 'membership' || $is_from === 'wizard')
<span class="info-small">{{ __('payment.delivery_country_can_only_changed_in_salescentre') }}</span>
@else
<span class="info-small">{{ __('payment.delivery_country_cannot_change') }}</span>
@endif
</div>
</div>
@endif
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="mt-0 fs-14 fw-400" for="shipping_phone">{{ __('Phone') }} ({{ __('optional') }})</label>
{!! Form::text('shipping_phone', $shopping_user->shipping_phone, ['class' => 'form-control '.($errors->has('shipping_phone') ? 'error' : ''), 'id'=>'shipping_phone']) !!}
@if ($errors->has('shipping_phone'))
<label for="shipping_phone" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_phone') }}</label>
@endif
</div>
</div>
{{-- DHL Packstation/Paketbox --}}
<div class="row mt-3">
<div class="col-md-12 col-sm-12">
<hr>
<h6 class="mb-2"><i class="fa fa-cube"></i> {{ __('payment.packstation_delivery') }}</h6>
<p class="info-small mb-2">{{ __('payment.packstation_info') }}</p>
</div>
<div class="col-md-6 col-sm-6">
<label class="mt-0 fs-14 fw-400" for="shipping_postnumber">{{ __('payment.dhl_postnumber') }} ({{ __('optional') }})</label>
{!! Form::text('shipping_postnumber', $shopping_user->shipping_postnumber, ['class' => 'form-control '.($errors->has('shipping_postnumber') ? 'error' : ''), 'id'=>'shipping_postnumber', 'placeholder' => '12345678', 'maxlength' => '20']) !!}
@if ($errors->has('shipping_postnumber'))
<label for="shipping_postnumber" class="error text-danger small" style="display: block;">{{ $errors->first('shipping_postnumber') }}</label>
@endif
</div>
</div>
{{-- Alert-Box für Packstation-Hinweis --}}
<div class="row mt-2" id="packstation-hint" style="display: none;">
<div class="col-md-12">
<div class="alert alert-warning alert-dismissible show">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h6 class="alert-heading"><i class="fa fa-exclamation-triangle"></i> <strong>{{ __('payment.packstation_alert_title') }}</strong></h6>
<hr>
<p class="mb-2"><strong>{{ __('payment.packstation_alert_intro') }}</strong></p>
<ul class="mb-2 pl-3">
<li><strong>{{ __('Street') }} / {{ __('House number') }}:</strong> {{ __('payment.packstation_alert_street') }} <em>({{ __('payment.packstation_alert_street_example') }})</em></li>
<li><strong>{{ __('Postcode') }} / {{ __('City') }}:</strong> {{ __('payment.packstation_alert_location') }} <em>({{ __('payment.packstation_alert_not_home') }})</em></li>
</ul>
<p class="mb-0 small text-muted">
<i class="fa fa-info-circle"></i> {{ __('payment.packstation_alert_footer') }}
</p>
</div>
</div>
</div>
</div>
</fieldset>
{{-- /SHIPPING --}}
@if(Util::getUserPaymentFor($yard_instance) != 6)
@if(isset($order_reference))
<a href="{{ Util::getUserShopBackUrl($order_reference) }}" class="btn btn-default btn-sm btn- size-15 mt-4 mb-4">
<i class="fa fa-chevron-left"></i> {{ __('payment.back_to_shop') }}
</a>
@else
<a href="{{ Util::getUserCardBackUrl('/card/show', 'checkout') }}" class="btn btn-default btn-sm btn- size-15 mt-4 mb-4">
@if(Util::getUserPaymentFor($yard_instance) > 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
</div>
<div class="col-lg-5 col-sm-5">
@if($shopping_mode === 'test')
<strong>#### TEST MODE #### TEST MODE ####</strong>
@endif
{{-- PAYMENT METHOD --}}
<fieldset class="box-border-shadow p-20">
<h4>@if(!$is_abo) {{ __('payment.payment_method') }} @else {{ __('abo.payment_for_abo') }} @endif</h4>
<hr>
<div class="toggle-transparent toggle-bordered-full clearfix">
<div class="toggle active">
<div class="toggle-content">
<div class="row nomargin-bottom">
@if(!empty($abo_payments_frozen))
<div class="col-lg-12 nomargin clearfix">
<div class="alert alert-warning mb-0">
<strong>{{ __('payment.abo_payments_frozen_title') }}</strong><br>
{{ __('payment.abo_payments_frozen') }}
</div>
</div>
@elseif(!empty($stripe_active))
{{-- Stripe Hosted Checkout: Zahlartenwahl passiert bei Stripe --}}
<div class="col-lg-12 nomargin clearfix">
<label class="mt-0 fs-14 fw-400 radio pull-left nomargin-top" style="width: 100%">
{!! Form::radio('payment_method', 'stripe', (!old('payment_method') ? '1' : '')) !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.stripe_online') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/stripe.png')}}" alt="Stripe">
</label>
<div class="mb-1">
@include('web.layouts.includes.payment_logos', ['showVorkasse' => false, 'logoHeight' => 26])
</div>
<p class="fs-13 mb-1">{{ __('payment.stripe_online_methods') }}</p>
<p class="fs-12 text-muted mb-0">{{ __('payment.stripe_online_copy') }}</p>
@if(!empty($is_abo))
<p class="fs-12 text-muted mb-0 mt-1">{{ __('payment.stripe_abo_hint') }}</p>
@endif
</div>
@if(array_key_exists('VOR', $payment_methods_active) && in_array($payment_methods_active['VOR'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'vor', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.prepayment_payone') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/vor.png')}}" alt="Vorkasse">
</label>
</div>
@endif
@if(array_key_exists('FNC', $payment_methods_active) && in_array($payment_methods_active['FNC'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'fnc#MIV', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.purchase_on_account') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/fnc.png')}}" alt="Rechnungskauf">
</label>
</div>
@endif
@elseif(($shopping_user->abo_options === 1) && (Util::getUserPaymentFor() >= 3))
@if(array_key_exists('SEPA', $payment_methods_active) && in_array($payment_methods_active['SEPA'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'elv', '1') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.sepa_direct_debit') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/sepa.png')}}" alt="SEPA Lastschrift">
</label>
</div>
@else
<p>{{ __('payment.payment_method_not_enabled_please_contact') }} {{ config('app.default_mail') }}</p>
@endif
@else
@if(array_key_exists('PP', $payment_methods_active) && in_array($payment_methods_active['PP'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-0 fs-14 fw-400 radio pull-left nomargin-top" style="width: 100%">
{!! Form::radio('payment_method', 'wlt#PPE', (!old('payment_method') ? '1' : '')) !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.paypal') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/paypal.png')}}" alt="PayPal">
</label>
</div>
@endif
@if(array_key_exists('CC', $payment_methods_active) && in_array($payment_methods_active['CC'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left nomargin-top" style="width: 100%">
{!! Form::radio('payment_method', 'cc', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.credit_card') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/creditcard.png')}}" alt="Mastercard + Visa">
</label>
</div>
@endif
@if(array_key_exists('SB', $payment_methods_active) && in_array($payment_methods_active['SB'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'sb#PNT', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.sofort_bank_transfer') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/sofort.png')}}" alt="Sofort">
</label>
</div>
@endif
@if(array_key_exists('SEPA', $payment_methods_active) && in_array($payment_methods_active['SEPA'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'elv', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.sepa_direct_debit') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/sepa.png')}}" alt="SEPA Lastschrift">
</label>
</div>
@endif
@if(array_key_exists('VOR', $payment_methods_active) && in_array($payment_methods_active['VOR'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'vor', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.prepayment') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/vor.png')}}" alt="Vorkasse">
</label>
</div>
@endif
@if(array_key_exists('FNC', $payment_methods_active) && in_array($payment_methods_active['FNC'], $payment_methods))
<div class="col-lg-12 nomargin clearfix">
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
{!! Form::radio('payment_method', 'fnc#MIV', '') !!}
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> {{ __('payment.purchase_on_account') }}</span>
<img class="float-right" width="90" src="{{asset('images/payments-assets/fnc.png')}}" alt="Rechnungskauf">
</label>
</div>
@endif
@endif
</div>
</div>
</div>
</div>
</fieldset>
{{-- /PAYMENT METHOD --}}
{{-- ABO INFOS --}}
@if($is_abo)
<fieldset class="box-border-shadow p-20">
<h4>{{ __('abo.abo_delivery') }}</h4>
<hr>
<div style="background-color: #fff7da; padding: 10px; border-radius: 5px;">
@if(!empty($recovery_user_abo_id))
<em class="small mb-4">{!! __('abo.abo_recovery_info_check') !!}</em>
@else
<em class="small mb-4">{!! __('abo.abo_order_info_check') !!}</em>
<hr style="margin-top: 10px; margin-bottom: 10px; border-color: #b4b4b4; border-width: 1px;">
<em class="small font-weight-bold mb-4">{!! __('abo.abo_order_info_check_2') !!}</em>
<hr style="margin-top: 10px; margin-bottom: 10px; border-color: #b4b4b4; border-width: 1px;">
<em class="small mb-4">{!! __('abo.abo_order_info_check_3', ['abo-min-duration' => \App\Models\Setting::getContentBySlug('abo-min-duration')]) !!}</em>
<hr>
<div class="clearfix mb-2">
<span class="pull-right small text-right">
<div class="no-line-break"><strong> {{ now()->format('d.m.Y') }}</strong></div>
</span>
<span class="pull-left small"><strong>{{ __('abo.abo_first_execution_date') }}:</strong></span>
</div>
<div class="clearfix mb-2">
<span class="pull-right small text-right">
<div class="no-line-break"><strong> {{ HTMLHelper::getAboStrLang($abo_interval) }}</strong></div>
</span>
<span class="pull-left small"><strong>{{ __('abo.abo_delivery_intervall') }}:</strong></span>
</div>
<div class="clearfix mb-2">
<span class="pull-right small text-right">
<div class="no-line-break"><strong> {{ HTMLHelper::getAboFirstExecutionDate(now(), $abo_interval) }}</strong></div>
</span>
<span class="pull-left small"><strong>{{ __('abo.abo_next_execution_date') }}:</strong></span>
</div>
@endif
</div>
</fieldset>
@endif
{{-- ABO INFOS END --}}
{{-- PAYMENT METHOD SEPA--}}
<fieldset class="box-border-shadow p-20 softhide @if (\Session::has('elv-error')) cc_error @endif" id="sepa-box-holder">
<style>
#elv_content_check .form-group {
margin-bottom: 5px;
}
#elv_content_check input.form-control {
padding: 14px 20px;
}
</style>
<h4>{{ __('payment.sepa_direct_debit') }}</h4>
<hr>
<div class="toggle-transparent toggle-bordered-full clearfix">
<div class="toggle active">
<div class="toggle-content" id="elv_content_check">
<div class="row">
<div class="col-md-12">
<label class="mt-0 fs-14 fw-400">{{ __('payment.owner') }}*</label>
</div>
<div class="form-group col-md-12">
{!! Form::text('elv_bankaccountholder', (isset($payment_data['bankaccountholder']) ? $payment_data['bankaccountholder'] : ''), ['class' => 'form-control', 'id'=>'elv_bankaccountholder', 'placeholder'=>__('payment.firstname_lastname')]) !!}
</div>
</div>
<div class="form-group">
<label class="mt-0 fs-14 fw-400">{{ __('payment.IBAN') }}*</label>
{!! Form::text('elv_iban', (isset($payment_data['iban']) ? $payment_data['iban'] : ''), ['class' => 'form-control', 'id'=>'elv_iban', 'placeholder'=>'Beisp.: DE02120300000000202051']) !!}
</div>
<div class="form-group">
<label class="mt-0 fs-14 fw-400">{{ __('payment.BIC') }}*</label>
{!! Form::text('elv_bic', (isset($payment_data['bic']) ? $payment_data['bic'] : ''), ['class' => 'form-control', 'id'=>'elv_bic', 'placeholder'=>'Beisp.: PBNKDEFF']) !!}
</div>
{{--
@if($shopping_user->abo_options)
<p>{{ __('payment.automatic_SEPA_mandate_type_was_selected') }}</p>
@endif
--}}
</div>
</div>
</div>
</fieldset>
{{-- TOTAL / PLACE ORDER --}}
{{-- PAYMENT METHOD CC --}}
<fieldset class="box-border-shadow p-20 softhide @if (\Session::has('cc-error')) cc_error @endif" id="creditcard-box-holder">
<style>
#cc_content_check .form-group {
margin-bottom: 5px;
}
#cc_content_check input.form-control {
padding: 14px 20px;
}
</style>
<h4>{{ __('payment.credit_card') }}</h4>
<hr>
<div class="toggle-transparent toggle-bordered-full clearfix">
<div class="toggle active">
<div class="toggle-content" id="cc_content_check">
<input type="hidden" name="pseudocardpan" id="pseudocardpan">
<input type="hidden" name="truncatedcardpan" id="truncatedcardpan">
<div class="form-group">
<label class="mt-0 fs-14 fw-400" for="cc_cardtype">{{ __('payment.credit_card') }}*</label>
<select id="cc_cardtype" name="cc_cardtype" class="form-control custom-select" id="cc_cardtype">
<option value="V" @if(old('cc_cardtype') && old('cc_cardtype') == 'V') selected="selected" @endif>{{ __('payment.VISA') }}</option>
<option value="M" @if(old('cc_cardtype') && old('cc_cardtype') == 'M') selected="selected" @endif>{{ __('payment.Mastercard') }}</option>
{{-- <option value="A" @if(old('cc_cardtype') && old('cc_cardtype') == 'A') selected="selected" @endif>{{ __('payment.American Express') }}</option> --}}
</select>
</div>
<div class="row">
<div class="col-md-12">
<label class="mt-0 fs-14 fw-400">{{ __('payment.owner') }}*</label>
</div>
<div class="form-group col-md-6">
{!! Form::text('cc_cardholder_first', '', ['class' => 'form-control', 'id'=>'cc_cardholder_first', 'placeholder'=>__('First name')]) !!}
</div>
<div class="form-group col-md-6">
{!! Form::text('cc_cardholder_last', '', ['class' => 'form-control', 'id'=>'cc_cardholder_last', 'placeholder'=>__('Last name')]) !!}
</div>
</div>
<div class="row">
<div class="form-group col-md-12">
<label class="mt-0 fs-14 fw-400">{{ __('payment.credit_card_number') }}*</label>
{!! Form::text('cc_cardpan', '', ['class' => 'form-control', 'id'=>'cc_cardpan', 'placeholder'=>__('payment.credit_card_number')]) !!}
</div>
<div class="form-group col-md-6">
<label class="mt-0 fs-14 fw-400" for="cc_cardexpiremonth">{{ __('payment.valid') }} {{ __('validation.attributes.month') }}*</label>
<select id="cc_cardexpiremonth" name="cc_cardexpiremonth" class="form-control custom-select">
@php( $months = range(1, 12))
@foreach($months as $month)
@php( $month = sprintf('%02d', $month) )
<option value="{{$month}}" @if(old('cc_cardexpiremonth') && old('cc_cardexpiremonth') == $month) selected="selected" @endif>{{$month}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-6">
<label class="mt-0 fs-14 fw-400" for="cc_cardexpireyear">{{ __('payment.valid') }} {{ __('validation.attributes.year') }}*</label>
<select id="cc_cardexpireyear" name="cc_cardexpireyear" class="form-control custom-select">
@php( $years = range(date("Y"), date('Y', strtotime('+10 years'))) )
@foreach($years as $year)
<option value="{{$year}}" @if(old('cc_cardexpireyear') && old('cc_cardexpireyear') == $year) selected="selected" @endif>{{$year}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-6">
<label class="mt-0 fs-14 fw-400" for="cc_cardcvc2">{{ __('payment.verification_no') }}*</label>
{!! Form::text('cc_cardcvc2', '', ['class' => 'form-control', 'id'=>'cc_cardcvc2', 'placeholder'=>'CVC*']) !!}
</div>
</div>
</div>
</div>
</div>
</fieldset>
{{-- TOTAL / PLACE ORDER --}}
<div class="toggle-transparent toggle-bordered-full clearfix">
<div class="toggle active">
<div class="toggle-content">
@if($is_from === 'user_order')
<div class="clearfix mb-2">
<span class="pull-right text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->subtotal() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('subtotal') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.subtotal') }}:</strong>
</div>
<hr class="mt-4 mb-4">
<div class="clearfix mb-2">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->shippingNet() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('shippingNet') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">{{ __('order.shipping_costs') }}:</span>
</div>
@else
@if($shopping_user->is_from !== 'collection')
@if(Yard::instance($yard_instance)->getUserTaxFree())
<div class="clearfix mb-2">
<span class="pull-right text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->subtotal() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('subtotal') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.subtotal') }}:</strong>
</div>
@else
<div class="clearfix mb-2">
<span class="pull-right text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->total() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('total') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.subtotal') }}:</strong>
</div>
@endif
@endif
@if($shopping_user->is_from !== 'homeparty' && $shopping_user->is_from !== 'collection')
<hr class="mt-4 mb-4">
<div class="clearfix mb-2">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->shipping() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('shipping') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">{{ __('order.shipping_costs') }}:</span>
</div>
@endif
@endif
@if($shopping_user->is_from !== 'homeparty')
@if($shopping_user->is_from !== 'collection')
<div class="clearfix mb-2">
<span class="pull-right small text-right">{{ Yard::instance($yard_instance)->getShippingCountryName() }}</span>
<span class="pull-left small">{{ __('Delivery country') }}:</span>
</div>
<hr class="mt-4 mb-4">
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->subtotalWithShipping() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('subtotalWithShipping') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">{{ __('order.total_without_VAT') }}:</span>
</div>
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance($yard_instance)->taxWithShipping() }} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('taxWithShipping') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">{{ __('order.plus_VAT') }}:</span>
</div>
<hr />
<div class="clearfix">
<span class="pull-right size-20 text-right">
<strong><div class="no-line-break">{{ Yard::instance($yard_instance)->totalWithShipping() }} €</div></strong>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.total_sum') }}:</strong>
</div>
@else
<div class="clearfix">
<span class="pull-right size-20 text-right">
<strong><div class="no-line-break">{{ Yard::instance($yard_instance)->totalWithShipping() }} €</div></strong>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.total_sum') }}:</strong>
</div>
@endif
@else
<hr class="mt-4 mb-4">
@if(!$shopping_data['user_tax_free'])
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{!! $shopping_data['shop_price_net'] !!} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->convertCurrency($shopping_data['shop_price_net']) }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">{{ __('order.total_without_VAT') }}</span>
</div>
@endif
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{!! $shopping_data['shop_price_tax'] !!} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->convertCurrency($shopping_data['shop_price_tax']) }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small"> {{ __('order.excl') }} {{ __('order.VAT') }}:</span>
</div>
<hr />
<div class="clearfix">
<span class="pull-right size-20 text-right">
<div class="no-line-break">{!! $shopping_data['shop_price'] !!} €</div>
@if(Yard::instance($yard_instance)->isPriceCurrency())
<span class="small">~{{ Yard::instance($yard_instance)->convertCurrency($shopping_data['shop_price']) }} {{ Yard::instance($yard_instance)->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">{{ __('order.total_sum') }}:</strong>
</div>
@endif
@if(!empty($abo_payments_frozen))
<div class="alert alert-warning mt-4">{{ __('payment.abo_payments_frozen') }}</div>
@else
<button type="submit" class="btn btn-primary btn-lg btn-block size-18 btn-text-500 mt-4 faa-parent animated-hover"><i class="fa fa-mail-forward faa-horizontal"></i> {{ __('payment.buy_now') }}</button>
<hr><p class="text-center" style="line-height: 1.2em;"><em class="small text-center"> <i class="fa fa-lock"></i> {{ __('payment.buy_now_copy') }}</em></p>
@endif
</div>
</div>
</div>
</div>
{{-- /CHECKOUT --}}
{!! Form::close() !!}
</div>
</div>
</section>
{{-- /CHECKOUT --}}
{{-- /CART --}}
@endsection
@section('scripts')
<script>
/** CHECKOUT
** *********************** **/
// New Account show|hide
jQuery("#accountswitch").bind("click", function() {
jQuery('#newaccount').slideToggle(200);
});
$('#billing_state').on('change', function (){
$('input[name="selected_country"]').val('change');
$('form#checkout_card_final').submit();
});
$('#shipping_state').on('change', function (){
$('input[name="selected_country"]').val('change');
$('form#checkout_card_final').submit();
});
function showShippingCountryFor($for){
if($for === 'billing'){
$('#show_shipping_country_info').show();
}
if($for === 'shipping'){
$('#show_shipping_country_info').hide();
}
}
// Shipping Address show|hide
jQuery("#shipswitch").bind("click", function() {
jQuery('#shipping').slideToggle(200, function() {
// scroll down to shipping area.
/*
if($('#billing_state').val() !== $('#shipping_state').val()){
$('input[name="selected_country"]').val('change');
$('form#checkout_card_final').submit();
}
*/
if(jQuery('#shipping').is(":visible")) {
_scrollTo('#shipping', 150);
showShippingCountryFor('billing');
}else{
showShippingCountryFor('shipping');
}
});
});
if(!jQuery('#shipswitch').is(':checked')){
showShippingCountryFor('billing');
}else{
jQuery('#shipping').show();
showShippingCountryFor('shipping');
}
jQuery('.quick-cart-box-close').on('click', function () {
jQuery('.quick-cart-box').css('display', 'none');
});
function showCreditCardPayment(val){
if(val === 'cc'){
$('#creditcard-box-holder').show('slow');
}else{
$('#creditcard-box-holder').hide('slow');
}
}
showCreditCardPayment(jQuery('input[name="payment_method"]:checked').val());
jQuery('input[name="payment_method"]').on('change', function () {
showCreditCardPayment($(this).val());
});
function showSEPAPayment(val){
if(val === 'elv'){
$('#sepa-box-holder').show('slow');
}else{
$('#sepa-box-holder').hide('slow');
}
}
showSEPAPayment(jQuery('input[name="payment_method"]:checked').val());
jQuery('input[name="payment_method"]').on('change', function () {
showSEPAPayment($(this).val());
});
// Packstation/Paketbox Hinweis
function togglePackstationHint() {
var postnumber = $('#shipping_postnumber').val();
if (postnumber && postnumber.trim().length > 0) {
$('#packstation-hint').slideDown(200);
} else {
$('#packstation-hint').slideUp(200);
}
}
// Initial check
togglePackstationHint();
// On input
$('#shipping_postnumber').on('input', function() {
togglePackstationHint();
});
</script>
@endsection