Files
simple-withdrawalbutton/views/templates/admin/view.tpl
T
Arne Weiss 346ee7b616 Initial commit with all bug and compliance fixes
- Remove double pSQL() escaping in Db::insert/update calls (data corruption fix)
- Rename honeypot field from 'website' to 'cyp_hp_v1' to prevent browser autofill false positives
- Wrap Mail::Send() in try/catch; capture shop notification result to detect failures
- Scope order lookup to current shop (multi-shop fix)
- Translate scope_label and email subjects per language (de/en)
- Make formatDateTimeForMail() language-aware
- Add GDPR Art. 13 privacy notice to withdrawal form
- Add configurable privacy policy URL and Widerrufsbelehrung link
- Add configurable retention period and manual purge button in admin settings
- Show full submitted data on success page as proper receipt
- Fix admin redirect URL format in processStatusUpdate()
- Remove IP/UA hash display from admin detail view (GDPR data minimization)
2026-06-01 07:30:29 +02:00

82 lines
3.5 KiB
Smarty

<div class="panel">
<div class="panel-heading">
<i class="icon-undo"></i>
{l s='Withdrawal request' mod='cyp_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='cyp_withdrawalbutton'}</th>
<td>{$request.created_at|escape:'html':'UTF-8'}</td>
</tr>
<tr>
<th>{l s='Confirmation sent' mod='cyp_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='cyp_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='cyp_withdrawalbutton'}</a>
{/if}
</td>
</tr>
<tr>
<th>{l s='Name' mod='cyp_withdrawalbutton'}</th>
<td>{$request.customer_name|escape:'html':'UTF-8'}</td>
</tr>
<tr>
<th>{l s='Email' mod='cyp_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='cyp_withdrawalbutton'}</th>
<td>
{if $request.withdrawal_scope == 'partial'}
{l s='Partial withdrawal' mod='cyp_withdrawalbutton'}
{else}
{l s='Full order' mod='cyp_withdrawalbutton'}
{/if}
</td>
</tr>
<tr>
<th>{l s='Affected items / quantities' mod='cyp_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='cyp_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'}&amp;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='cyp_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='cyp_withdrawalbutton'}</option>
<option value="processing" {if $request.status == 'processing'}selected{/if}>{l s='Processing' mod='cyp_withdrawalbutton'}</option>
<option value="closed" {if $request.status == 'closed'}selected{/if}>{l s='Closed' mod='cyp_withdrawalbutton'}</option>
</select>
</div>
<button type="submit" name="submitCypWithdrawalStatus" value="1" class="btn btn-primary">
{l s='Update status' mod='cyp_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='cyp_withdrawalbutton'}
</a>
</div>
</div>