// Fix backOffice order cart rules management
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14201 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
{*
|
||||||
|
* 2007-2012 PrestaShop
|
||||||
|
*
|
||||||
|
* NOTICE OF LICENSE
|
||||||
|
*
|
||||||
|
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||||
|
* that is bundled with this package in the file LICENSE.txt.
|
||||||
|
* It is also available through the world-wide-web at this URL:
|
||||||
|
* http://opensource.org/licenses/afl-3.0.php
|
||||||
|
* If you did not receive a copy of the license and are unable to
|
||||||
|
* obtain it through the world-wide-web, please send an email
|
||||||
|
* to license@prestashop.com so we can send you a copy immediately.
|
||||||
|
*
|
||||||
|
* DISCLAIMER
|
||||||
|
*
|
||||||
|
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||||
|
* versions in the future. If you wish to customize PrestaShop for your
|
||||||
|
* needs please refer to http://www.prestashop.com for more information.
|
||||||
|
*
|
||||||
|
* @author PrestaShop SA <contact@prestashop.com>
|
||||||
|
* @copyright 2007-2012 PrestaShop SA
|
||||||
|
* @version Release: $Revision: 10891 $
|
||||||
|
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||||
|
* International Registered Trademark & Property of PrestaShop SA
|
||||||
|
*}
|
||||||
|
{extends file="helpers/list/list_header.tpl"}
|
||||||
|
{block name='override_header'}
|
||||||
|
{if $submit_form_ajax}
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('#voucher', window.parent.document).val('{$new_cart_rule->code|escape:htmlall}');
|
||||||
|
parent.add_cart_rule({$new_cart_rule->id|intval});
|
||||||
|
parent.$.fancybox.close();
|
||||||
|
</script>
|
||||||
|
{/if}
|
||||||
|
{/block}
|
||||||
@@ -116,36 +116,7 @@
|
|||||||
)
|
)
|
||||||
.result(function(event, data, formatted) {
|
.result(function(event, data, formatted) {
|
||||||
$('#voucher').val(data.name);
|
$('#voucher').val(data.name);
|
||||||
$.ajax({
|
add_cart_rule(data.id_cart_rule);
|
||||||
type:"POST",
|
|
||||||
url: "{$link->getAdminLink('AdminCarts')}",
|
|
||||||
async: true,
|
|
||||||
dataType: "json",
|
|
||||||
data : {
|
|
||||||
ajax: "1",
|
|
||||||
token: "{getAdminToken tab='AdminCarts'}",
|
|
||||||
tab: "AdminCarts",
|
|
||||||
action: "addVoucher",
|
|
||||||
id_cart_rule: data.id_cart_rule,
|
|
||||||
id_cart: id_cart,
|
|
||||||
id_customer: id_customer
|
|
||||||
},
|
|
||||||
success : function(res)
|
|
||||||
{
|
|
||||||
displaySummary(res);
|
|
||||||
$('#voucher').val('');
|
|
||||||
var errors = '';
|
|
||||||
if (res.errors.length > 0)
|
|
||||||
{
|
|
||||||
$.each(res.errors, function() {
|
|
||||||
errors += this+'<br/>';
|
|
||||||
});
|
|
||||||
$('#vouchers_err').html(errors).show();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
$('#vouchers_err').hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
{if $cart->id}
|
{if $cart->id}
|
||||||
setupCustomer('{$cart->id_customer}');
|
setupCustomer('{$cart->id_customer}');
|
||||||
@@ -244,6 +215,40 @@
|
|||||||
onClosed: useCart(id_cart)
|
onClosed: useCart(id_cart)
|
||||||
});*/
|
});*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function add_cart_rule(id_cart_rule)
|
||||||
|
{
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: "{$link->getAdminLink('AdminCarts')}",
|
||||||
|
async: true,
|
||||||
|
dataType: "json",
|
||||||
|
data : {
|
||||||
|
ajax: "1",
|
||||||
|
token: "{getAdminToken tab='AdminCarts'}",
|
||||||
|
tab: "AdminCarts",
|
||||||
|
action: "addVoucher",
|
||||||
|
id_cart_rule: id_cart_rule,
|
||||||
|
id_cart: id_cart,
|
||||||
|
id_customer: id_customer
|
||||||
|
},
|
||||||
|
success : function(res)
|
||||||
|
{
|
||||||
|
displaySummary(res);
|
||||||
|
$('#voucher').val('');
|
||||||
|
var errors = '';
|
||||||
|
if (res.errors.length > 0)
|
||||||
|
{
|
||||||
|
$.each(res.errors, function() {
|
||||||
|
errors += this+'<br/>';
|
||||||
|
});
|
||||||
|
$('#vouchers_err').html(errors).show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$('#vouchers_err').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function updateProductPrice(id_product, id_product_attribute, new_price)
|
function updateProductPrice(id_product, id_product_attribute, new_price)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1000,7 +1000,7 @@ class CartRuleCore extends ObjectModel
|
|||||||
SELECT cr.*, crl.*
|
SELECT cr.*, crl.*
|
||||||
FROM '._DB_PREFIX_.'cart_rule cr
|
FROM '._DB_PREFIX_.'cart_rule cr
|
||||||
LEFT JOIN '._DB_PREFIX_.'cart_rule_lang crl ON (cr.id_cart_rule = crl.id_cart_rule AND crl.id_lang = '.(int)$id_lang.')
|
LEFT JOIN '._DB_PREFIX_.'cart_rule_lang crl ON (cr.id_cart_rule = crl.id_cart_rule AND crl.id_lang = '.(int)$id_lang.')
|
||||||
WHERE name LIKE \'%'.pSQL($name).'%\'
|
WHERE code LIKE \'%'.pSQL($name).'%\'
|
||||||
');
|
');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ abstract class ControllerCore
|
|||||||
{
|
{
|
||||||
if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))
|
if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))
|
||||||
$this->setMedia();
|
$this->setMedia();
|
||||||
|
|
||||||
// postProcess handles ajaxProcess
|
// postProcess handles ajaxProcess
|
||||||
$this->postProcess();
|
$this->postProcess();
|
||||||
|
|
||||||
|
|||||||
@@ -89,6 +89,15 @@ class AdminCartRulesControllerCore extends AdminController
|
|||||||
$this->afterAdd($current_object);
|
$this->afterAdd($current_object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function processAdd($token)
|
||||||
|
{
|
||||||
|
if ($cart_rule = parent::processAdd($token))
|
||||||
|
$this->context->smarty->assign('new_cart_rule', $cart_rule);
|
||||||
|
if (Tools::getValue('submitFormAjax'))
|
||||||
|
$this->redirect_after = false;
|
||||||
|
|
||||||
|
return $cart_rule;
|
||||||
|
}
|
||||||
/* @TODO Move this function into CartRule */
|
/* @TODO Move this function into CartRule */
|
||||||
protected function afterAdd($currentObject)
|
protected function afterAdd($currentObject)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -388,9 +388,9 @@ class AdminCartsControllerCore extends AdminController
|
|||||||
if ($this->tabAccess['edit'] === '1')
|
if ($this->tabAccess['edit'] === '1')
|
||||||
{
|
{
|
||||||
$errors = array();
|
$errors = array();
|
||||||
if (!$id_cart_rule = Tools::getValue('id_cart_rule') || !$cart_rule = new CartRule((int)$id_cart_rule))
|
if (!($id_cart_rule = Tools::getValue('id_cart_rule')) || !$cart_rule = new CartRule((int)$id_cart_rule))
|
||||||
$errors[] = Tools::displayError('Invalid voucher');
|
$errors[] = Tools::displayError('Invalid voucher');
|
||||||
else if ($err = $cart_rule->checkValidity($this->context))
|
elseif ($err = $cart_rule->checkValidity($this->context))
|
||||||
$errors[] = $err;
|
$errors[] = $err;
|
||||||
if (!count($errors))
|
if (!count($errors))
|
||||||
if (!$this->context->cart->addCartRule((int)$cart_rule->id))
|
if (!$this->context->cart->addCartRule((int)$cart_rule->id))
|
||||||
|
|||||||
Reference in New Issue
Block a user