Add simple_withdrawalbutton PrestaShop module
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
/** Silence is golden. */
|
||||
@@ -0,0 +1,14 @@
|
||||
<div class="panel">
|
||||
<h3><i class="icon-info-circle"></i> {l s='Installation notes' mod='simple_withdrawalbutton'}</h3>
|
||||
<p>
|
||||
{l s='Frontend withdrawal page:' mod='simple_withdrawalbutton'}
|
||||
<a href="{$withdrawal_link|escape:'html':'UTF-8'}" target="_blank" rel="noopener noreferrer">{$withdrawal_link|escape:'html':'UTF-8'}</a>
|
||||
</p>
|
||||
<p>
|
||||
{l s='Back office requests:' mod='simple_withdrawalbutton'}
|
||||
<a href="{$admin_link|escape:'html':'UTF-8'}">{l s='Open withdrawal requests' mod='simple_withdrawalbutton'}</a>
|
||||
</p>
|
||||
<p class="help-block">
|
||||
{l s='The module keeps existing withdrawal records when it is uninstalled. Delete the database table manually only after checking your retention obligations.' mod='simple_withdrawalbutton'}
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
/** Silence is golden. */
|
||||
@@ -0,0 +1,81 @@
|
||||
<div class="panel">
|
||||
<div class="panel-heading">
|
||||
<i class="icon-undo"></i>
|
||||
{l s='Withdrawal request' mod='simple_withdrawalbutton'} #{$request.id_withdrawal_request|intval}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{l s='Received' mod='simple_withdrawalbutton'}</th>
|
||||
<td>{$request.created_at|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Confirmation sent' mod='simple_withdrawalbutton'}</th>
|
||||
<td>{if $request.confirmation_sent_at}{$request.confirmation_sent_at|escape:'html':'UTF-8'}{else}-{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Order reference' mod='simple_withdrawalbutton'}</th>
|
||||
<td>
|
||||
{$request.order_reference|escape:'html':'UTF-8'}
|
||||
{if $order_link != ''}
|
||||
<br><a href="{$order_link|escape:'html':'UTF-8'}">{l s='Open order' mod='simple_withdrawalbutton'}</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Name' mod='simple_withdrawalbutton'}</th>
|
||||
<td>{$request.customer_name|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Email' mod='simple_withdrawalbutton'}</th>
|
||||
<td><a href="mailto:{$request.customer_email|escape:'html':'UTF-8'}">{$request.customer_email|escape:'html':'UTF-8'}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Scope' mod='simple_withdrawalbutton'}</th>
|
||||
<td>
|
||||
{if $request.withdrawal_scope == 'partial'}
|
||||
{l s='Partial withdrawal' mod='simple_withdrawalbutton'}
|
||||
{else}
|
||||
{l s='Full order' mod='simple_withdrawalbutton'}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Affected items / quantities' mod='simple_withdrawalbutton'}</th>
|
||||
<td>{if $request.withdrawal_items_text}{$request.withdrawal_items_text|escape:'html':'UTF-8'|nl2br nofilter}{else}-{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{l s='Message' mod='simple_withdrawalbutton'}</th>
|
||||
<td>{if $request.message}{$request.message|escape:'html':'UTF-8'|nl2br nofilter}{else}-{/if}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
<form method="post" action="{$current_index|escape:'html':'UTF-8'}&token={$token|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="{$identifier|escape:'html':'UTF-8'}" value="{$request.id_withdrawal_request|intval}">
|
||||
<div class="form-group">
|
||||
<label for="cyp_withdrawal_status">{l s='Status' mod='simple_withdrawalbutton'}</label>
|
||||
<select name="status" id="cyp_withdrawal_status" class="form-control">
|
||||
<option value="new" {if $request.status == 'new'}selected{/if}>{l s='New' mod='simple_withdrawalbutton'}</option>
|
||||
<option value="processing" {if $request.status == 'processing'}selected{/if}>{l s='Processing' mod='simple_withdrawalbutton'}</option>
|
||||
<option value="closed" {if $request.status == 'closed'}selected{/if}>{l s='Closed' mod='simple_withdrawalbutton'}</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" name="submitSimpleWithdrawalStatus" value="1" class="btn btn-primary">
|
||||
{l s='Update status' mod='simple_withdrawalbutton'}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-footer">
|
||||
<a href="{$back_link|escape:'html':'UTF-8'}" class="btn btn-default">
|
||||
<i class="process-icon-back"></i> {l s='Back to list' mod='simple_withdrawalbutton'}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,70 @@
|
||||
<section class="cyp-withdrawal-page">
|
||||
<header class="page-header">
|
||||
<h1>{l s='Widerruf bestätigen' mod='simple_withdrawalbutton'}</h1>
|
||||
</header>
|
||||
|
||||
<div class="card card-block">
|
||||
{if $errors_list|@count > 0}
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
{foreach from=$errors_list item=error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<p>{l s='Bitte prüfen Sie Ihre Angaben. Wenn die Angaben korrekt sind, können Sie Ihren Widerruf jetzt absenden.' mod='simple_withdrawalbutton'}</p>
|
||||
|
||||
<dl class="row">
|
||||
<dt class="col-sm-4">{l s='Name' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$form_data.customer_name|escape:'html':'UTF-8'}</dd>
|
||||
|
||||
<dt class="col-sm-4">{l s='E-Mail-Adresse' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$form_data.customer_email|escape:'html':'UTF-8'}</dd>
|
||||
|
||||
<dt class="col-sm-4">{l s='Bestellnummer / Bestellreferenz' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$form_data.order_reference|escape:'html':'UTF-8'}</dd>
|
||||
|
||||
<dt class="col-sm-4">{l s='Widerruf betrifft' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">
|
||||
{if $form_data.withdrawal_scope == 'partial'}
|
||||
{l s='einen Teil der Bestellung' mod='simple_withdrawalbutton'}
|
||||
{else}
|
||||
{l s='die gesamte Bestellung' mod='simple_withdrawalbutton'}
|
||||
{/if}
|
||||
</dd>
|
||||
|
||||
{if $form_data.withdrawal_scope == 'partial'}
|
||||
<dt class="col-sm-4">{l s='Betroffene Artikel / Mengen' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$form_data.withdrawal_items_text|escape:'html':'UTF-8'|nl2br nofilter}</dd>
|
||||
{/if}
|
||||
|
||||
{if $form_data.message != ''}
|
||||
<dt class="col-sm-4">{l s='Nachricht / Bemerkung' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$form_data.message|escape:'html':'UTF-8'|nl2br nofilter}</dd>
|
||||
{/if}
|
||||
</dl>
|
||||
|
||||
<form method="post" action="{$action_url|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="csrf_token" value="{$csrf_token|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="customer_name" value="{$form_data.customer_name|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="customer_email" value="{$form_data.customer_email|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="order_reference" value="{$form_data.order_reference|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="withdrawal_scope" value="{$form_data.withdrawal_scope|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="withdrawal_items_text" value="{$form_data.withdrawal_items_text|escape:'html':'UTF-8'}">
|
||||
<input type="hidden" name="message" value="{$form_data.message|escape:'html':'UTF-8'}">
|
||||
<div style="position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden;" aria-hidden="true">
|
||||
<label for="cyp_withdrawal_hp_confirm">Website</label>
|
||||
<input type="text" id="cyp_withdrawal_hp_confirm" name="cyp_hp_v1" value="" tabindex="-1" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<button type="submit" name="submit_withdrawal_confirm" value="1" class="btn btn-primary">
|
||||
{l s='Widerruf bestätigen' mod='simple_withdrawalbutton'}
|
||||
</button>
|
||||
<button type="submit" name="submit_withdrawal_back" value="1" class="btn btn-secondary" formaction="{$action_url|escape:'html':'UTF-8'}">
|
||||
{l s='Angaben ändern' mod='simple_withdrawalbutton'}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,127 @@
|
||||
<section class="cyp-withdrawal-page">
|
||||
<header class="page-header">
|
||||
<h1>{l s='Vertrag widerrufen' mod='simple_withdrawalbutton'}</h1>
|
||||
</header>
|
||||
|
||||
<div class="card card-block">
|
||||
<p>
|
||||
{l s='Sie können hier den Vertrag zu einer Bestellung vollständig oder teilweise widerrufen. Bitte geben Sie die Bestellnummer und bei einem Teilwiderruf die betroffenen Artikel und Mengen an.' mod='simple_withdrawalbutton'}
|
||||
</p>
|
||||
|
||||
{if isset($revocation_url) && $revocation_url != ''}
|
||||
<p>
|
||||
<a href="{$revocation_url|escape:'html':'UTF-8'}" target="_blank" rel="noopener">
|
||||
{l s='Unsere Widerrufsbelehrung (14-Tage-Frist)' mod='simple_withdrawalbutton'}
|
||||
</a>
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{if $errors_list|@count > 0}
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
{foreach from=$errors_list item=error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<form method="post" action="{$action_url|escape:'html':'UTF-8'}" class="cyp-withdrawal-form" novalidate>
|
||||
<input type="hidden" name="csrf_token" value="{$csrf_token|escape:'html':'UTF-8'}">
|
||||
<div style="position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden;" aria-hidden="true">
|
||||
<label for="cyp_withdrawal_hp">Website</label>
|
||||
<input type="text" id="cyp_withdrawal_hp" name="cyp_hp_v1" value="" tabindex="-1" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cyp_withdrawal_customer_name" class="form-control-label">
|
||||
{l s='Name' mod='simple_withdrawalbutton'} <span aria-hidden="true">*</span>
|
||||
</label>
|
||||
<input class="form-control" type="text" id="cyp_withdrawal_customer_name" name="customer_name" maxlength="255" required value="{$form_data.customer_name|default:''|escape:'html':'UTF-8'}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cyp_withdrawal_customer_email" class="form-control-label">
|
||||
{l s='E-Mail-Adresse für die Eingangsbestätigung' mod='simple_withdrawalbutton'} <span aria-hidden="true">*</span>
|
||||
</label>
|
||||
<input class="form-control" type="email" id="cyp_withdrawal_customer_email" name="customer_email" maxlength="255" required value="{$form_data.customer_email|default:''|escape:'html':'UTF-8'}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cyp_withdrawal_order_reference" class="form-control-label">
|
||||
{l s='Bestellnummer / Bestellreferenz' mod='simple_withdrawalbutton'} <span aria-hidden="true">*</span>
|
||||
</label>
|
||||
<input class="form-control" type="text" id="cyp_withdrawal_order_reference" name="order_reference" maxlength="64" required value="{$form_data.order_reference|default:''|escape:'html':'UTF-8'}">
|
||||
</div>
|
||||
|
||||
<fieldset class="form-group">
|
||||
<legend class="form-control-label">
|
||||
{l s='Widerruf betrifft' mod='simple_withdrawalbutton'} <span aria-hidden="true">*</span>
|
||||
</legend>
|
||||
<label class="custom-radio" for="cyp_withdrawal_scope_full">
|
||||
<input type="radio" id="cyp_withdrawal_scope_full" name="withdrawal_scope" value="full" {if !isset($form_data.withdrawal_scope) || $form_data.withdrawal_scope != 'partial'}checked{/if}>
|
||||
<span></span>
|
||||
{l s='die gesamte Bestellung' mod='simple_withdrawalbutton'}
|
||||
</label>
|
||||
<br>
|
||||
<label class="custom-radio" for="cyp_withdrawal_scope_partial">
|
||||
<input type="radio" id="cyp_withdrawal_scope_partial" name="withdrawal_scope" value="partial" {if isset($form_data.withdrawal_scope) && $form_data.withdrawal_scope == 'partial'}checked{/if}>
|
||||
<span></span>
|
||||
{l s='einen Teil der Bestellung' mod='simple_withdrawalbutton'}
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" id="cyp-withdrawal-items-group">
|
||||
<label for="cyp_withdrawal_items_text" class="form-control-label">
|
||||
{l s='Welche Artikel / Mengen möchten Sie widerrufen?' mod='simple_withdrawalbutton'}
|
||||
</label>
|
||||
<textarea class="form-control" id="cyp_withdrawal_items_text" name="withdrawal_items_text" rows="4" maxlength="5000" placeholder="{l s='Beispiel: 1x Tomizu 720 ml, 2x Magokoro 300 ml' mod='simple_withdrawalbutton'}">{$form_data.withdrawal_items_text|default:''|escape:'html':'UTF-8'}</textarea>
|
||||
<small class="form-text text-muted">
|
||||
{l s='Nur bei einem Teilwiderruf erforderlich.' mod='simple_withdrawalbutton'}
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cyp_withdrawal_message" class="form-control-label">
|
||||
{l s='Nachricht / Bemerkung optional' mod='simple_withdrawalbutton'}
|
||||
</label>
|
||||
<textarea class="form-control" id="cyp_withdrawal_message" name="message" rows="4" maxlength="5000">{$form_data.message|default:''|escape:'html':'UTF-8'}</textarea>
|
||||
</div>
|
||||
|
||||
<p class="small text-muted">
|
||||
{l s='Pflichtfelder sind mit * gekennzeichnet. Ein Widerrufsgrund ist nicht erforderlich.' mod='simple_withdrawalbutton'}
|
||||
</p>
|
||||
|
||||
<p class="small text-muted">
|
||||
{l s='Ihre Angaben (Name, E-Mail-Adresse) werden zur Bearbeitung Ihrer Widerrufserklärung verarbeitet. Rechtsgrundlage: Art. 6 Abs. 1 lit. b und c DSGVO.' mod='simple_withdrawalbutton'}
|
||||
{if isset($privacy_url) && $privacy_url != ''}
|
||||
<a href="{$privacy_url|escape:'html':'UTF-8'}" target="_blank" rel="noopener">
|
||||
{l s='Datenschutzerklärung' mod='simple_withdrawalbutton'}
|
||||
</a>
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
<button type="submit" name="submit_withdrawal_prepare" value="1" class="btn btn-primary">
|
||||
{l s='Angaben prüfen' mod='simple_withdrawalbutton'}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var partial = document.getElementById('cyp_withdrawal_scope_partial');
|
||||
var full = document.getElementById('cyp_withdrawal_scope_full');
|
||||
var group = document.getElementById('cyp-withdrawal-items-group');
|
||||
var textarea = document.getElementById('cyp_withdrawal_items_text');
|
||||
function update() {
|
||||
if (!group || !partial || !textarea) return;
|
||||
var show = partial.checked;
|
||||
group.style.display = show ? '' : 'none';
|
||||
textarea.required = show;
|
||||
}
|
||||
if (partial) partial.addEventListener('change', update);
|
||||
if (full) full.addEventListener('change', update);
|
||||
update();
|
||||
})();
|
||||
</script>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
/** Silence is golden. */
|
||||
@@ -0,0 +1,59 @@
|
||||
<section class="cyp-withdrawal-page">
|
||||
<header class="page-header">
|
||||
<h1>{l s='Widerruf übermittelt' mod='simple_withdrawalbutton'}</h1>
|
||||
</header>
|
||||
|
||||
<div class="card card-block">
|
||||
{if isset($success_data.mail_ok) && $success_data.mail_ok}
|
||||
<div class="alert alert-success">
|
||||
{l s='Ihr Widerruf wurde übermittelt. Eine Eingangsbestätigung wurde an die angegebene E-Mail-Adresse gesendet.' mod='simple_withdrawalbutton'}
|
||||
</div>
|
||||
{else}
|
||||
<div class="alert alert-warning">
|
||||
{l s='Ihr Widerruf wurde gespeichert, aber die automatische Eingangsbestätigung konnte möglicherweise nicht versendet werden. Bitte kontaktieren Sie uns zusätzlich per E-Mail, falls Sie keine Bestätigung erhalten.' mod='simple_withdrawalbutton'}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<dl class="row">
|
||||
{if isset($success_data.created_at)}
|
||||
<dt class="col-sm-4">{l s='Eingang:' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$success_data.created_at|escape:'html':'UTF-8'}</dd>
|
||||
{/if}
|
||||
|
||||
{if isset($success_data.customer_email)}
|
||||
<dt class="col-sm-4">{l s='E-Mail-Adresse:' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$success_data.customer_email|escape:'html':'UTF-8'}</dd>
|
||||
{/if}
|
||||
|
||||
{if isset($success_data.order_reference) && $success_data.order_reference != ''}
|
||||
<dt class="col-sm-4">{l s='Bestellnummer / Bestellreferenz' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$success_data.order_reference|escape:'html':'UTF-8'}</dd>
|
||||
{/if}
|
||||
|
||||
{if isset($success_data.withdrawal_scope)}
|
||||
<dt class="col-sm-4">{l s='Widerruf betrifft' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">
|
||||
{if $success_data.withdrawal_scope == 'partial'}
|
||||
{l s='einen Teil der Bestellung' mod='simple_withdrawalbutton'}
|
||||
{else}
|
||||
{l s='die gesamte Bestellung' mod='simple_withdrawalbutton'}
|
||||
{/if}
|
||||
</dd>
|
||||
{/if}
|
||||
|
||||
{if isset($success_data.withdrawal_items_text) && $success_data.withdrawal_items_text != ''}
|
||||
<dt class="col-sm-4">{l s='Betroffene Artikel / Mengen' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$success_data.withdrawal_items_text|escape:'html':'UTF-8'|nl2br nofilter}</dd>
|
||||
{/if}
|
||||
|
||||
{if isset($success_data.message) && $success_data.message != ''}
|
||||
<dt class="col-sm-4">{l s='Nachricht / Bemerkung' mod='simple_withdrawalbutton'}</dt>
|
||||
<dd class="col-sm-8">{$success_data.message|escape:'html':'UTF-8'|nl2br nofilter}</dd>
|
||||
{/if}
|
||||
</dl>
|
||||
|
||||
<p class="small text-muted">
|
||||
{l s='Diese Bestätigung betrifft nur den Eingang Ihrer Widerrufserklärung. Die weitere Bearbeitung und Prüfung erfolgt separat.' mod='simple_withdrawalbutton'}
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,6 @@
|
||||
<a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="withdrawal-link" href="{$withdrawal_link|escape:'html':'UTF-8'}" rel="nofollow">
|
||||
<span class="link-item">
|
||||
<i class="material-icons">undo</i>
|
||||
{l s='Vertrag widerrufen' mod='simple_withdrawalbutton'}
|
||||
</span>
|
||||
</a>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div class="cyp-withdrawal-footer" style="margin-top: 1rem;">
|
||||
<a href="{$withdrawal_link|escape:'html':'UTF-8'}" class="cyp-withdrawal-link" rel="nofollow">
|
||||
{l s='Vertrag widerrufen' mod='simple_withdrawalbutton'}
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
/** Silence is golden. */
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
/** Silence is golden. */
|
||||
Reference in New Issue
Block a user