testemich Promotion

This commit is contained in:
Kevin Adametz 2022-04-14 13:21:17 +02:00
parent 38e7fd504a
commit a0f4eda6ea
83 changed files with 1690 additions and 504 deletions

View file

@ -352,10 +352,10 @@
<div class="card mt-3" id="shipping">
<h4 class="card-header">
@if($shopping_user->is_from === 'user_order')
@if($shopping_user->is_for === 'me')
Meine Lieferadresse
@else
@if($shopping_user->is_for === 'ot')
Lieferadresse des Kunden
@else
Meine Lieferadresse
@endif
@else
Lieferadresse
@ -467,24 +467,6 @@
</div>
</div>
</div>
{{-- <div class="row">
<div class="col-md-12 col-sm-12">
<input type="hidden" name="shipping_country_id" value="{{ \App\Services\Shop::getShippingCountryCountryId($shopping_user->shipping_state) }}">
<label class="mt-0 fs-14 fw-400" for="shipping_state">Lieferland *</label>
<select id="shipping_state" name="shipping_state" class="form-control" required @if($is_from === 'user_order' && $is_for === 'me') disabled style="background-color: #d4d4d4;" @endif>
{!! HTMLHelper::getCountriesForShipping($shopping_user->shipping_state) !!}
</select>
@if($is_from === 'user_order' && $is_for === 'me')
<span class="info-small">Das Lieferland kann nur bei der Bestellübersicht geändert werden.</span>
@else
<span class="info-small">Bei der Änderung des Landes werden die Versandkosten neu berechnet.</span>
@endif
</div>
</div>
--}}
</div>
<!-- /Body -->
</div>
@ -829,7 +811,7 @@
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block button-prevent-multiple-submits"><i class="ion ion-ios-share-alt"></i> Jetzt kaufen <i class="spinner fa fa-spinner fa-spin"></i></button>
<hr>
<p class="text-center" style="line-height: 1.2em;"><em class="small text-center"> <i class="fa fa-lock"></i> Sind alle Deine Angaben vollsätndig ausgefüllt, klicke auf "Jetzt kaufen" und Du wist zu unserem Zahlungsanbieter weitergeleitet, die Verbindung ist SSL verschlüsselt.</em></p>
<p class="text-center" style="line-height: 1.2em;"><em class="small text-center"> <i class="fa fa-lock"></i> Sind alle Deine Angaben vollständig ausgefüllt, klicke auf "Jetzt kaufen" und Du wist zu unserem Zahlungsanbieter weitergeleitet, die Verbindung ist SSL verschlüsselt.</em></p>
</div>
</div>
</div>

View file

@ -15,14 +15,21 @@
<h4>Lieferdaten</h4>
<div class="switchers-stacked">
<label class="switcher switcher-secondary">
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="me" @if(!$shopping_user) checked="checked" @endif >
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="me" @if(!$shopping_user && $for==='me') checked="checked" @endif>
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Ware ist für mich und wird an meine Adresse versandt</span>
</label>
<label class="switcher switcher-secondary">
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="mp" @if(!$shopping_user && $for==='mp') checked="checked" @endif>
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Ware ist für mich und ich hole die Ware selbst ab</span>
</label>
<label class="switcher switcher-secondary">
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="ot" @if($shopping_user) checked="checked" @endif>
<span class="switcher-indicator">
@ -31,6 +38,14 @@
</span>
<span class="switcher-label">Ware ist für einen Kunden und wird an den Kunden versandt</span>
</label>
<label class="switcher switcher-secondary">
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="cr" @if(!$shopping_user && $for==='cr') checked="checked" @endif>
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Mein Guthaben aufladen</span>
</label>
</div>
<hr>

View file

@ -41,7 +41,7 @@
{ data: 'payment', name: 'payment', orderable: false },
{ data: 'txaction', name: 'txaction' },
{ data: 'shipped', name: 'shipped' },
{ data: 'is_for', name: 'is_for', orderable: false },
{ data: 'payment_for', name: 'payment_for' },
{ data: 'shopping_user.shipping_firstname', name: 'shopping_user.shipping_firstname', orderable: false },
{ data: 'shopping_user.shipping_lastname', name: 'shopping_user.shipping_lastname', orderable: false },
{ data: 'shopping_user.shipping_email', name: 'shopping_user.shipping_email', orderable: false },

View file

@ -1,58 +1,69 @@
@extends('layouts.layout-2')
@section('content')
<style>
.btn-md-extra {
padding: 0.3rem 0.6rem;
font-size: 0.8rem;
line-height: 1.5;
border-radius: 0.25rem;
}
.md-btn-extra {
width: calc(1.7rem + 2px) !important;
line-height: 1.5rem;
}
.form-control.input-extra {
padding: 0.28rem 0.6rem;
font-size: 0.8rem;
font-weight: 500;
min-height: calc(1.8rem + 2px);
height: calc(1.8rem + 2px);
width: 44px;
}
.input-group-min-w {
min-width: 102px;
}
.img-extra {
min-width:55px;
max-height: 160px;
}
@media (max-width: 767px) {
.default-style:not([dir=rtl]) div.card-datatable table.dataTable thead th:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tbody td:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tfoot th:first-child {
padding-left: 0.6rem !important;
}
.img-extra {
min-width:35px;
max-height: 160px;
}
}
</style>
@if($for === 'cr')
<h4 class="font-weight-bold py-2 mb-2">
{{ __('navigation.my_orders') }} / Mein Guthaben aufladen
<a href="{{ route('user_order_my_delivery', [$for, $delivery_id]) }}" class="btn btn-sm btn-default float-right">zurück</a>
<div class="clearfix"></div>
</h4>
@else
<h4 class="font-weight-bold py-2 mb-2">
{{ __('navigation.my_orders') }} / {{ __('navigation.do_order') }}
<a href="{{ route('user_order_my_delivery', [$for, $delivery_id]) }}" class="btn btn-sm btn-default float-right">zurück</a>
<div class="clearfix"></div>
</h4>
<style>
.btn-md-extra {
padding: 0.3rem 0.6rem;
font-size: 0.8rem;
line-height: 1.5;
border-radius: 0.25rem;
}
.md-btn-extra {
width: calc(1.7rem + 2px) !important;
line-height: 1.5rem;
}
.form-control.input-extra {
padding: 0.28rem 0.6rem;
font-size: 0.8rem;
font-weight: 500;
min-height: calc(1.8rem + 2px);
height: calc(1.8rem + 2px);
width: 44px;
}
.input-group-min-w {
min-width: 102px;
}
.img-extra {
min-width:55px;
max-height: 160px;
}
@media (max-width: 767px) {
.default-style:not([dir=rtl]) div.card-datatable table.dataTable thead th:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tbody td:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tfoot th:first-child {
padding-left: 0.6rem !important;
}
.img-extra {
min-width:35px;
max-height: 160px;
}
}
</style>
@if($user->user_level)
<p>Die Produktpreise werden entsprechend Deiner Rolle: <strong>{{$user->user_level->name}}</strong> angezeigt.<br>
Hinweis: Wenn Du den Warenkorb verlässt, gehen alle Einstellungen verloren.</p>
@else
<p>Hinweis: Dir wurde noch keine Rolle zugewisen. Bitte wende dich an serivce@gruene-seele.bio</p>
@if($user->user_level)
<p>Die Produktpreise werden entsprechend Deiner Rolle: <strong>{{$user->user_level->name}}</strong> angezeigt.<br>
Hinweis: Wenn Du den Warenkorb verlässt, gehen alle Einstellungen verloren.</p>
@else
<p>Hinweis: Dir wurde noch keine Rolle zugewisen. Bitte wende dich an serivce@gruene-seele.bio</p>
@endif
@endif
@if($errors->has('switchers-comp-product'))
@ -95,19 +106,23 @@
{!! Form::open(['url' => route('user_order_my_payment', [$for, $delivery_id]), 'class' => 'form-horizontal']) !!}
<input type="hidden" name="shipping_is_for" value="{{$for}}">
<div class="card mt-4">
<div class="card-body">
@if($for === 'ot')
<h4>Lieferland des Kunden</h4>
@include('user.order.shipping_ot')
@endif
@if($for === 'me')
<h4>Mein Lieferland</h4>
@include('user.order.shipping_me')
<i>Kann bei der Zahlung/Checkout nicht mehr geändert werden.</i>
@endif
@if($for === 'cr')
@include('user.order.shipping_credit')
@else
<div class="card mt-4">
<div class="card-body">
@if($for === 'ot')
<h4>Lieferland des Kunden</h4>
@include('user.order.shipping_ot')
@endif
@if($for === 'me' || $for === 'mp')
<h4>Mein Lieferland</h4>
@include('user.order.shipping_me')
<i>Kann bei der Zahlung/Checkout nicht mehr geändert werden.</i>
@endif
</div>
</div>
</div>
@endif
@if($comp_products)
<div id="holder_html_view_comp_product">

View file

@ -0,0 +1,27 @@
@if($user->account)
@if($user->account->same_as_billing)
{{ Form::hidden('shipping_company', $user->account->company) }}
{{ Form::hidden('shipping_salutation', $user->account->salutation) }}
{{ Form::hidden('shipping_firstname', $user->account->first_name) }}
{{ Form::hidden('shipping_lastname', $user->account->last_name) }}
{{ Form::hidden('shipping_address', $user->account->address) }}
{{ Form::hidden('shipping_address_2', $user->account->address_2) }}
{{ Form::hidden('shipping_zipcode', $user->account->zipcode) }}
{{ Form::hidden('shipping_city', $user->account->city) }}
{{ Form::hidden('shipping_phone', $user->account->phone) }}
@else
{{ Form::hidden('shipping_company', $user->account->shipping_company) }}
{{ Form::hidden('shipping_salutation', $user->account->shipping_salutation) }}
{{ Form::hidden('shipping_firstname', $user->account->shipping_firstname) }}
{{ Form::hidden('shipping_lastname', $user->account->shipping_lastname) }}
{{ Form::hidden('shipping_address', $user->account->shipping_address) }}
{{ Form::hidden('shipping_address_2', $user->account->shipping_address_2) }}
{{ Form::hidden('shipping_zipcode', $user->account->shipping_zipcode) }}
{{ Form::hidden('shipping_city', $user->account->shipping_city) }}
{{ Form::hidden('shipping_phone', $user->account->shipping_phone) }}
@endif
{{ Form::hidden('shipping_state', Yard::instance('shopping')->getShippingCountryId()) }}
@else
<h4>Fehler: Keine Adressdaten gefunden!</h4>
@endif

View file

@ -1,8 +1,6 @@
@if($user->account)
@if($user->account->same_as_billing)
<!-- Billing -->
{{ Form::hidden('shipping_company', $user->account->company) }}
{{ Form::hidden('shipping_salutation', $user->account->salutation) }}
{{ Form::hidden('shipping_firstname', $user->account->first_name) }}
@ -27,7 +25,6 @@
</div>
</div>
</div>
<!-- / Billing -->
@else
{{ Form::hidden('shipping_company', $user->account->shipping_company) }}
{{ Form::hidden('shipping_salutation', $user->account->shipping_salutation) }}

View file

@ -218,6 +218,7 @@
<strong>{{ Yard::instance('shopping')->subtotal() }} *</strong>
</td>
</tr>
{{--
@if(Yard::instance('shopping')->getYardMargin() && Yard::instance('shopping')->getYardMargin()->net_partner_commission > 0)
<tr>
<td class="text-left"><em>Provision Vertriebspartern:</em></td>
@ -226,6 +227,7 @@
</td>
</tr>
@endif
--}}
<tr>
<td class="text-left">Lieferland:</td>
@ -266,7 +268,7 @@
</tr>
@endif
<tr>
<td class="text-left"><strong>Gesamtsumme (Brutto):</strong></td>
<td class="text-left"><strong>Gesamtsumme @if(Yard::instance('shopping')->getGlobalTaxRate() > 0) (Brutto) @endif:</strong></td>
<td>
<strong>{{ Yard::instance('shopping')->totalWithShipping() }} </strong>
</td>

View file

@ -117,7 +117,7 @@
<div class="input-group mt-2 mb-2 ">
<span class="input-group-prepend">
<div class="py-2 px-1">
<strong>www.testemicht.jetzt/ &nbsp;</strong>
<strong>www.testemich.jetzt/ &nbsp;</strong>
</div>
</span>
{{ Form::text('user_promotion_url', $user_promotion->url, ['placeholder' => 'z.B. "thomas" oder "dani21" o.ä.', 'class' => 'form-control' . ($errors->has('user_promotion_url') ? ' is-invalid' : ''), 'id' => 'user_promotion_url', 'required' => true]) }}
@ -174,8 +174,8 @@
<h5>
Aktuelles Guthaben: {{ Auth::user()->getFormattedPaymentCredit() }} &euro;
<span class="text-muted small">(Guthaben aufladen unter: <a class="btn btn-xs btn-outline-primary"
href="{{ route('user_order_my_delivery', ['me']) }}">Bestellungen aufgeben</a> -> Produkt
Guthaben aufladen)</span>
href="{{ route('user_order_my_delivery', ['cr']) }}">Bestellungen aufgeben - Guthaben aufladen</a>
</span>
</h5>
<div class="table-responsive">
@ -322,7 +322,8 @@
'#user-promotion-form-validations :input[name="user_promotion_url"]'
).val();
},
action: 'validate_url'
action: 'validate_url',
puid: '{{ $user_promotion->id }}',
},
encode: true,
headers: {

View file

@ -8,7 +8,10 @@
</button>
</h4>
<p> Text ...</p>
<p>Mit unserm Promotiontool hast Du eine tolle Möglichkeit Produkttester zu verteilen, um Neukunden zu gewinnen, Cross-Seeling mit der gesamten Produktpalette
zu erzielen und Deine Kunden für die Kundenhoheit zu registrieren. Dabei kannst Du viele unterschiedliche Promotions mit anlegen: Entweder die Dauerpromotion,
die Du auf allen Kanälen veröffentlichst oder die individuelle mit z. B. einem bestimmten Influencer. So hast Du immer die Übersicht, welche Aktion am besten funktioniert.
Starte noch heute Deine ganz eigenen Promotions und baue Deinen Kundenstamm aus.</p>
<div class="card mb-3">
<h5 class="card-header bg-white">
@ -18,7 +21,21 @@
</h5>
<div class="collapse" id="collapsePromotionFaq">
<div class="px-4 py-3">
<p>Text ...</p>
<p>1. Klicke oben rechts auf + Neue Promotion anlegen“</p>
<p>2. Fülle alle erforderlichen Felder aus. Texte, die schon eingetragen sind, kannst Du so übernehmen oder auch anpassen. Achte nur darauf, dass alles fehlerfrei ist, damit wir gemeinsam einen guten Eindruck machen.</p>
<p>3. Wähle für die Promotion-Domain www.testemich.jetzt eine passende URL aus, die Du kommunizieren möchtest. Zum Beispiel www.testemich.jetzt/deotester oder www.testemich.jetzt/tattoocreme-gratis, je nachdem wie es am besten passt. Halte die Endung so kurz und prägnant wie möglich.</p>
<p>4. Wähle, ob die Produkte ausschließlich von unserem Versand versendet werden sollen oder ob Dein Kunde sie bei Dir persönlich abholen kann. Dabei spart er die Versandkosten und Du kannst nochmal persönlich beraten. Achte aber darauf, dass Du die Produkte dann auch vorrätig vor Ort haben musst. Wenn Du die Vorort-Abholung ermöglichen möchtest, setze das Häkchen auf aktiv und vervollständige Deine Kontaktdaten. Produkte, die vor Ort abgeholt werden, werden Dir natürlich nicht vom Budget abgezogen.</p>
<p> 5. Wähle nun aus, welche Produkte Du promoten möchtest. Wir haben Dir für jede Promotion eine Reihe von Produkten vordefiniert. Du kannst alle nehmen oder auch nur wenige. Vor allem musst Du die Anzahl einstellen und Dein Budget kalkulieren. Solltest Du nicht ausreichend Guthaben im Account haben, kannst Du es vorab hier aufladen.</p>
<p> Hinweis: Vergiss nicht, die Promotion „aktiv“ zu schalten (oben rechts auf der Seite) und auch die Häkchen vor den Produkten zu setzen, die Du für das Testen freigeben möchtest.</p>
<p>Wenn es Dir lieber ist, dass wir vorab nochmal über Deine Promotionseite schauen, bevor Du sie bewirbst, schreibe uns gerne eine Mail an service@gruene-seele.bio oder eine Nachricht via WhatsApp oder SMS an +491622514871 (GRÜNE SEELE Support).</p>
<p> Nun viel Erfolg mit dem GRÜNE SEELE Promotiontool.</p>
</div>
</div>
</div>

View file

@ -43,7 +43,7 @@
{ data: 'shopping_user.billing_email', name: 'shopping_user.billing_email' },
{ data: 'created_at', name: 'created_at' },
{ data: 'txaction', name: 'txaction' },
{ data: 'is_for', name: 'is_for' },
{ data: 'payment_for', name: 'payment_for' },
{ data: 'total_shipping', name: 'total_shipping' },
// { data: 'shopping_user.orders', name: 'shopping_user.orders' },
],