updated always show confirm popup when deleting cart rule

This commit is contained in:
Shreesh Arora
2024-08-01 13:59:27 +05:30
parent 1743ca82f5
commit 5fdb6ef226
4 changed files with 150 additions and 96 deletions

View File

@@ -19,28 +19,63 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><i class="icon-remove-sign"></i></button>
<h4 class="modal-title"><i class="icon icon-exclamation-triangle"></i>&nbsp;{l s='Confirm Delete'}</h4>
<p>{l s='The following cart rules in your selection were created dynamically from refunds or credit slips. Please confirm if you also intend to delete these cart rules.'}</p>
{if isset($cartRules)}
<p>{l s='The following cart rules in your selection were created dynamically from refunds or credit slips. Please confirm if you also intend
to delete these cart rules.'}</p>
{else}
<p>{l s='Are you sure, you want to delete the selected cart rules?'}</p>
{/if}
</div>
<div class="modal-body">
<div class="table-responsive">
<table class="table">
{foreach $cartRules as $cartRule}
<tr>
<td>
<input type="checkbox" class="cart_rule_to_delete" value="{$cartRule['id_cart_rule']}" checked>
</td>
<td>
<a href="{$link->getAdminLink('AdminCartRules')}&updatecart_rule&id_cart_rule={$cartRule['id_cart_rule']}" target="_blank">#{$cartRule['id_cart_rule']}</a>
</td>
<td>
<b>{if $cartRule['generated_by'] == CartRule::GENERATED_BY_REFUND}
{l s='Generated against refund'}
{else if $cartRule['generated_by'] == CartRule::GENERATED_BY_ORDER_SLIP}
{l s='Generated against credit slip'}
{/if}</b>
</td>
</tr>
{/foreach}
</table>
{if isset($cartRules)}
<div class="modal-body">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>
</th>
<th>
{l s='Cart Rule'}
</th>
<th>
{l s='Reason'}
</th>
<th>
{l s='Order'}
</th>
<th>
{l s='Amount'}
</th>
</tr>
</thead>
{foreach $cartRules as $cartRule}
<tr>
<td>
<input type="checkbox" class="cart_rule_to_delete" value="{$cartRule['id_cart_rule']}" checked>
</td>
<td>
<a href="{$link->getAdminLink('AdminCartRules')}&updatecart_rule&id_cart_rule={$cartRule['id_cart_rule']}" target="_blank">#{$cartRule['id_cart_rule']}</a>
</td>
<td>
{if $cartRule['generated_by'] == CartRule::GENERATED_BY_REFUND}
<b>{l s='Generated against refund'}</b>
(<a href="{$link->getAdminLink('AdminOrderRefundRequests')}&vieworder_return&id_order_return={$cartRule['id_generated_by']}" target="_blank">#{$cartRule['id_generated_by']}</a>)
{else if $cartRule['generated_by'] == CartRule::GENERATED_BY_ORDER_SLIP}
<b>{l s='Generated against credit slip'}</b>
(<a href="{$link->getAdminLink('AdminPdf')}&submitAction=generateOrderSlipPDF&id_order_slip={$cartRule['id_generated_by']}" target="_blank">#{$cartRule['id_generated_by']}</a>)
{/if}
</td>
<td>
<a href="{$link->getAdminLink('AdminOrders')}&vieworder&id_order={$cartRule['order']->id}" target="_blank">#{$cartRule['order']->id}</a>
</td>
<td>
{displayPrice price=$cartRule['cart_rule']->reduction_amount currency=$cartRule['cart_rule']->reduction_currency}
</td>
</tr>
{/foreach}
</table>
</div>
</div>
</div>
{/if}

View File

@@ -21,39 +21,43 @@
<h4 class="modal-title"><i class="icon icon-exclamation-triangle"></i>{l s='Confirm Delete'}</h4>
<p>{l s='Are you sure, you want to delete this cart rule?'}</p>
</div>
<div class="modal-body">
<div class="row">
<div class="col-sm-4">
<label>{l s='Voucher'}</label>
<p class="control-value">
{$cartRule->code} (<a href="{$link->getAdminLink('AdminCartRules')}&updatecart_rule&id_cart_rule={$cartRule->id}" target="_blank">#{$cartRule->id}</a>)
</p>
</div>
<div class="col-sm-4">
<label>{l s='Reason'}</label>
<p class="control-value">
{if $generatedBy == CartRule::GENERATED_BY_REFUND}
{l s='Generated against refund'}
{else if $generatedBy == CartRule::GENERATED_BY_ORDER_SLIP}
{l s='Generated against credit slip'}
{/if}
</p>
</div>
<div class="col-sm-4">
<label>{l s='Amount'}</label>
<p class="control-value">{displayPrice price=$cartRule->reduction_amount currency=$cartRule->reduction_currency}</p>
</div>
<div class="col-sm-4">
<label>{l s='Customer'}</label>
<p class="control-value">
{$customer->firstname} {$customer->lastname} (<a href="{$link->getAdminLink('AdminCustomers')}&viewcustomer&id_customer={$customer->id}" target="_blank">#{$customer->id}</a>)
</p>
</div>
<div class="col-sm-4">
<label>{l s='Order'}</label>
<p class="control-value">
{$order->reference} (<a href="{$link->getAdminLink('AdminOrders')}&vieworder&id_order={$order->id}" target="_blank">#{$order->id}</a>)
</p>
{if isset($cartRule)}
<div class="modal-body">
<div class="row">
<div class="col-sm-4">
<label>{l s='Voucher'}</label>
<p class="control-value">
{$cartRule->code} (<a href="{$link->getAdminLink('AdminCartRules')}&updatecart_rule&id_cart_rule={$cartRule->id}" target="_blank">#{$cartRule->id}</a>)
</p>
</div>
<div class="col-sm-4">
<label>{l s='Reason'}</label>
<p class="control-value">
{if $generatedBy == CartRule::GENERATED_BY_REFUND}
{l s='Generated against refund'}
(<a href="{$link->getAdminLink('AdminOrderRefundRequests')}&vieworder_return&id_order_return={$generatedById}" target="_blank">#{$generatedById}</a>)
{else if $generatedBy == CartRule::GENERATED_BY_ORDER_SLIP}
{l s='Generated against credit slip'}
(<a href="{$link->getAdminLink('AdminPdf')}&submitAction=generateOrderSlipPDF&id_order_slip={$generatedById}" target="_blank">#{$generatedById}</a>)
{/if}
</p>
</div>
<div class="col-sm-4">
<label>{l s='Amount'}</label>
<p class="control-value">{displayPrice price=$cartRule->reduction_amount currency=$cartRule->reduction_currency}</p>
</div>
<div class="col-sm-4">
<label>{l s='Customer'}</label>
<p class="control-value">
{$customer->firstname} {$customer->lastname} (<a href="{$link->getAdminLink('AdminCustomers')}&viewcustomer&id_customer={$customer->id}" target="_blank">#{$customer->id}</a>)
</p>
</div>
<div class="col-sm-4">
<label>{l s='Order'}</label>
<p class="control-value">
{$order->reference} (<a href="{$link->getAdminLink('AdminOrders')}&vieworder&id_order={$order->id}" target="_blank">#{$order->id}</a>)
</p>
</div>
</div>
</div>
</div>
{/if}

View File

@@ -19,7 +19,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><i class="icon-remove-sign"></i></button>
<h4 class="modal-title"><i class="icon icon-exclamation-triangle"></i>&nbsp;{l s='Confirm Update'}</h4>
<p>{l s='Are you sure you want to change the status?'}</p>
<p>{l s='This action is irreversable, Are you sure you want to change the status?'}</p>
</div>
<div class="modal-body">
<div class="row">

View File

@@ -147,12 +147,14 @@ class AdminCartRulesControllerCore extends AdminController
public function ajaxProcessInitRuleDeleteModal()
{
$response = array('success' => false);
$modalConfirmDelete = $this->createTemplate('modal_confirm_delete.tpl');
$modalClass = 'modal-md';
if ($idCartRule = Tools::getValue('id_cart_rule')) {
if ($generatedByDetails = CartRule::getGeneratedBy($idCartRule)) {
if (Validate::isLoadedObject($objCartRule = new CartRule($idCartRule, $this->context->language->id))) {
if ($generatedByDetails['generated_by'] == CartRule::GENERATED_BY_REFUND) {
$obj = new OrderReturn($generatedByDetails['id_generated_by']);
} else if ($generatedByDetails['generated_by'] == CartRule::GENERATED_BY_ORDER_SLIP) {
} else {
$obj = new OrderSlip($generatedByDetails['id_generated_by']);
}
$objOrder = new Order($obj->id_order);
@@ -162,30 +164,32 @@ class AdminCartRulesControllerCore extends AdminController
$modalConfirmDelete->assign(array(
'generatedBy' => $generatedByDetails['generated_by'],
'generatedById' => $generatedByDetails['id_generated_by'],
'Customer' => $objCustomer,
'Order' => $objOrder,
'CartRule' => $objCartRule,
'customer' => $objCustomer,
'order' => $objOrder,
'cartRule' => $objCartRule,
'link' => $this->context->link
));
$tpl = $this->createTemplate('modal.tpl');
$tpl->assign(array(
'modal_id' => 'moduleConfirmDelete',
'modal_class' => 'modal-lg',
'modal_content' => $modalConfirmDelete->fetch(),
'modal_actions' => array(
array(
'type' => 'button',
'class' => 'process_delete btn-primary',
'label' => $this->l('Delete'),
),
),
));
$response['confirm_delete'] = true;
$response['modalHtml'] = $tpl->fetch();
$modalClass = 'modal-lg';
}
}
}
$tpl = $this->createTemplate('modal.tpl');
$tpl->assign(array(
'modal_id' => 'moduleConfirmDelete',
'modal_class' => $modalClass,
'modal_content' => $modalConfirmDelete->fetch(),
'modal_actions' => array(
array(
'type' => 'button',
'class' => 'process_delete btn-primary',
'label' => $this->l('Delete'),
),
),
));
$response['confirm_delete'] = true;
$response['modalHtml'] = $tpl->fetch();
$response['confirm_delete'] = true;
$response['success'] = true;
die(Tools::jsonEncode($response));
@@ -194,37 +198,48 @@ class AdminCartRulesControllerCore extends AdminController
public function ajaxProcessInitRuleBulkDeleteModal()
{
$response = array('success' => false);
$modalConfirmDelete = $this->createTemplate('modal_confirm_bulk_delete.tpl');
if ($idCartRules = Tools::getValue('id_cart_rule')) {
$toConfirm = array();
foreach($idCartRules as $idCartRule) {
if ($generatedByDetails = CartRule::getGeneratedBy($idCartRule)) {
$toConfirm[] = array_merge(['id_cart_rule' => $idCartRule], $generatedByDetails);
if ($ruleDetails = CartRule::getGeneratedBy($idCartRule)) {
$ruleDetails['id_cart_rule'] = $idCartRule;
$objCartRule = new CartRule($idCartRule, $this->context->language->id);
$ruleDetails['cart_rule'] = $objCartRule;
if ($ruleDetails['generated_by'] == CartRule::GENERATED_BY_REFUND) {
$obj = new OrderReturn($ruleDetails['id_generated_by']);
} else {
$obj = new OrderSlip($ruleDetails['id_generated_by']);
}
$objOrder = new Order($obj->id_order);
$ruleDetails['order'] = $objOrder;
$toConfirm[] = $ruleDetails;
}
}
if (count($toConfirm)) {
$modalConfirmDelete = $this->createTemplate('modal_confirm_bulk_delete.tpl');
$modalConfirmDelete->assign(array(
'cartRules' => $toConfirm,
'link' => $this->context->link
));
$tpl = $this->createTemplate('modal.tpl');
$tpl->assign(array(
'modal_id' => 'moduleConfirmDelete',
'modal_class' => 'modal-md',
'modal_content' => $modalConfirmDelete->fetch(),
'modal_actions' => array(
array(
'type' => 'button',
'class' => 'process_delete btn-primary',
'label' => $this->l('Delete'),
),
),
));
$response['confirm_delete'] = true;
$response['modalHtml'] = $tpl->fetch();
}
}
$tpl = $this->createTemplate('modal.tpl');
$tpl->assign(array(
'modal_id' => 'moduleConfirmDelete',
'modal_class' => 'modal-md',
'modal_content' => $modalConfirmDelete->fetch(),
'modal_actions' => array(
array(
'type' => 'button',
'class' => 'process_delete btn-primary',
'label' => $this->l('Delete'),
),
),
));
$response['confirm_delete'] = true;
$response['modalHtml'] = $tpl->fetch();
$response['success'] = true;
die(Tools::jsonEncode($response));