[+] BO : on order edition, you can add a discount

[+] BO : on order edition, you can delete a discount
// Adding two new columns in order_cart_rule table: id_order_invoice, value_tax_excl
This commit is contained in:
aFolletete
2011-12-18 17:18:54 +00:00
parent 6af99d043a
commit a299b66c33
9 changed files with 381 additions and 48 deletions
@@ -43,8 +43,8 @@
<textarea name="note" rows="10" cols="10" id="editNote{$document->id}" class="edit-note">{$document->note|escape:'htmlall':'UTF-8'}</textarea>
</p>
<p class="right">
<input type="submit" name="submitEditNote" value="{l s='Save'}" class="button" />
<input type="button" name="cancelNote" id="cancelNote" value="{l s='Cancel'}" onclick="$('#invoiceNote{$document->id}').hide();" class="button" />
<input type="submit" name="submitEditNote" value="{l s='Save'}" class="button" />&nbsp;
<a href="#" id="cancelNote" onclick="$('#invoiceNote{$document->id}').hide();return false;">{l s='Cancel'}</a>
</p>
</form>
</td>
+70 -3
View File
@@ -544,7 +544,7 @@
</div>
<div style="float:right;">
<table class="table" width="300px;" cellspacing="0" cellpadding="0">
<table class="table" width="450px;" cellspacing="0" cellpadding="0">
<tr id="total_products">
<td width="150px;"><b>{l s='Products'}</b></td>
<td class="amount" align="right">{displayPrice price=$order->total_products_wt currency=$currency->id}</td>
@@ -576,12 +576,13 @@
</div>
<div class="clear"></div>
{if (sizeof($discounts))}
<div style="float:right; width:280px; margin-top:15px;">
{if (sizeof($discounts) || $can_edit)}
<div style="float:right; width:450px; margin-top:15px;">
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<tr>
<th><img src="../img/admin/coupon.gif" alt="{l s='Discounts'}" />{l s='Discount name'}</th>
<th align="center" style="width: 100px">{l s='Value'}</th>
{if $can_edit}<th align="center" style="width: 30px">{l s='Action'}</th>{/if}
</tr>
{foreach from=$discounts item=discount}
<tr>
@@ -592,8 +593,74 @@
{/if}
{displayPrice price=$discount['value'] currency=$currency->id}
</td>
{if $can_edit}
<td class="center">
<a href="{$currentIndex}&submitDeleteVoucher&id_order_cart_rule={$discount['id_order_cart_rule']}&id_order={$smarty.get.id_order|escape:'htmlall':'UTF-8'}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}"><img src="../img/admin/delete.gif" alt="{l s='Delete voucher'}" /></a>
</td>
{/if}
</tr>
{/foreach}
{if $can_edit}
<tr>
<td colspan="3" class="center">
<a href="#" id="add_voucher"><img src="../img/admin/add.gif" alt="{l s='Add'}" /> {l s='Add a new discount'}</a>
</td>
</tr>
<tr style="display: none" >
<td colspan="3" class="current-edit" id="voucher_form">
<form method="POST" action="{$currentIndex}&viewOrder&id_order={$smarty.get.id_order|escape:'htmlall':'UTF-8'}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}">
<label>{l s='Name'}</label>
<div class="margin-form">
<input type="text" name="discount_name" value="" />
</div>
<label>{l s='Type'}</label>
<div class="margin-form">
<select name="discount_type" id="discount_type">
<option value="1">{l s='Percent'}</option>
<option value="2">{l s='Amount'}</option>
<option value="3">{l s='Free shipping'}</option>
</select>
</div>
<div id="discount_value_field">
<label>{l s='Value'}</label>
<div class="margin-form">
{if ($currency->format % 2)}
<span id="discount_currency_sign" style="display: none;">{$currency->sign}</span>
{/if}
<input type="text" name="discount_value" size="3" />
{if !($currency->format % 2)}
<span id="discount_currency_sign" style="display: none;">{$currency->sign}</span>
{/if}
<span id="discount_percent_symbol">%</span>
<p class="preference_description" id="discount_value_help" style="width: 95%;display: none;">
{l s='This value must be taxes included.'}
</p>
</div>
</div>
<label>{l s='Invoice'}</label>
<div class="margin-form">
<select name="discount_invoice">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}" selected="selected">#{Configuration::get('PS_INVOICE_PREFIX', $current_id_lang)}{'%06d'|sprintf:$invoice->number} - {displayPrice price=$invoice->total_paid_tax_incl currency=$order->id_currency}</option>
{/foreach}
</select><br />
<input type="checkbox" name="discount_all_invoices" id="discount_all_invoices" value="1" /> <label class="t" for="discount_all_invoices">{l s='Apply on all invoices'}</label>
<p class="preference_description" style="width: 95%">
{l s='If you select to create this discount for all invoices, one discount will be created per order invoice.'}
</p>
</div>
<p class="center">
<input class="button" type="submit" name="submitNewVoucher" value="{l s='Add'}" />&nbsp;
<a href="#" id="cancel_add_voucher">{l s='Cancel'}</a>
</p>
</form>
</td>
</tr>
{/if}
</table>
</div>
{/if}
+8 -5
View File
@@ -301,14 +301,17 @@ abstract class PaymentModuleCore extends Module
foreach ($result as $cart_rule)
{
$cartRule = $cart_rule['obj'];
$value = $cartRule->getContextualValue(true);
$values = array(
'tax_incl' => $cartRule->getContextualValue(true),
'tax_excl' => $cartRule->getContextualValue(false)
);
// Todo : has not been tested because order processing wasn't functionnal
if ($value > $order->total_products_wt && $cartRule->partial_use == 1 && $cartRule->reduction_amount > 0)
if ($values['tax_incl'] > $order->total_products_wt && $cartRule->partial_use == 1 && $cartRule->reduction_amount > 0)
{
$voucher = clone $cartRule;
unset($voucher->id);
$voucher->code = empty($voucher->code) ? substr(md5($order->id.'-'.$order->id_customer.'-'.$cartRule->id), 0, 16) : $voucher->code.'-2';
$voucher->reduction_amount = $value - $order->total_products_wt;
$voucher->reduction_amount = $values['tax_incl'] - $order->total_products_wt;
$voucher->id_customer = $order->id_customer;
$voucher->quantity = 1;
if ($voucher->add())
@@ -323,7 +326,7 @@ abstract class PaymentModuleCore extends Module
}
}
$order->addCartRule($cartRule->id, $cartRule->name, $value);
$order->addCartRule($cartRule->id, $cartRule->name, $values);
if ($id_order_state != Configuration::get('PS_OS_ERROR') AND $id_order_state != Configuration::get('PS_OS_CANCELED'))
{
@@ -336,7 +339,7 @@ abstract class PaymentModuleCore extends Module
$cartRulesList .= '
<tr style="background-color:#EBECEE;">
<td colspan="4" style="padding:0.6em 0.4em;text-align:right">'.$this->l('Voucher name:').' '.$cartRule->name.'</td>
<td style="padding:0.6em 0.4em;text-align:right">'.($value != 0.00 ? '-' : '').Tools::displayPrice($value, $currency, false).'</td>
<td style="padding:0.6em 0.4em;text-align:right">'.($values['tax_incl'] != 0.00 ? '-' : '').Tools::displayPrice($values['tax_incl'], $currency, false).'</td>
</tr>';
}
+24 -9
View File
@@ -976,27 +976,35 @@ class OrderCore extends ObjectModel
/**
* @deprecated 1.5.0.1
* @see Order::addCartRule()
* @param $id_cart_rule
* @param $name
* @param $value
* @param int $id_cart_rule
* @param string $name
* @param float $value
* @return bool
*/
public function addDiscount($id_cart_rule, $name, $value)
{
Tools::displayAsDeprecated();
return Order::addCartRule($id_cart_rule, $name, $value);
return Order::addCartRule($id_cart_rule, $name, array('tax_incl' => $value, 'tax_excl' => '0.00'));
}
/**
* @since 1.5.0.1
* @param $id_cart_rule
* @param $name
* @param $value
* @param int $id_cart_rule
* @param string $name
* @param array $values
* @param int $id_order_invoice
* @return bool
*/
public function addCartRule($id_cart_rule, $name, $value)
public function addCartRule($id_cart_rule, $name, $values, $id_order_invoice = 0)
{
return Db::getInstance()->AutoExecute(_DB_PREFIX_.'order_cart_rule', array('id_order' => (int)$this->id, 'id_cart_rule' => (int)$id_cart_rule, 'name' => pSQL($name), 'value' => (float)$value), 'INSERT');
$order_cart_rule = new OrderCartRule();
$order_cart_rule->id_order = $this->id;
$order_cart_rule->id_cart_rule = $id_cart_rule;
$order_cart_rule->id_order_invoice = $id_order_invoice;
$order_cart_rule->name = $name;
$order_cart_rule->value = $values['tax_incl'];
$order_cart_rule->value_tax_excl = $values['tax_excl'];
$order_cart_rule->add();
}
public function getNumberOfDays()
@@ -1083,6 +1091,13 @@ class OrderCore extends ObjectModel
SET `id_order_invoice` = '.(int)$order_invoice->id.'
WHERE `id_order` = '.(int)$order_invoice->id_order);
// Update order cart rule
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'order_cart_rule`
SET `id_order_invoice` = '.(int)$order_invoice->id.'
WHERE `id_order` = '.(int)$order_invoice->id_order);
// Keep it for backward compatibility, to remove on 1.6 version
$this->invoice_date = $order_invoice->date_add;
$this->invoice_number = $order_invoice->number;
$this->update();
+13 -5
View File
@@ -36,12 +36,18 @@ class OrderCartRuleCore extends ObjectModel
/** @var integer */
public $id_cart_rule;
/** @var integer */
public $id_order_invoice;
/** @var string */
public $name;
/** @var integer */
/** @var float value (tax incl.) of voucher */
public $value;
/** @var float value (tax excl.) of voucher */
public $value_tax_excl;
/**
* @see ObjectModel::$definition
*/
@@ -49,10 +55,12 @@ class OrderCartRuleCore extends ObjectModel
'table' => 'order_cart_rule',
'primary' => 'id_order_cart_rule',
'fields' => array(
'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'name' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true),
'value' => array('type' => self::TYPE_INT, 'validate' => 'isInt', 'required' => true),
),
'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'id_order_invoice' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
'name' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true),
'value' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true),
'value_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true)
)
);
protected $webserviceParameters = array(
+215 -24
View File
@@ -734,6 +734,216 @@ class AdminOrdersControllerCore extends AdminController
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
}
}
elseif (Tools::isSubmit('submitDeleteVoucher'))
{
if ($this->tabAccess['edit'] === '1')
{
$order_cart_rule = new OrderCartRule(Tools::getValue('id_order_cart_rule'));
$order = new Order(Tools::getValue('id_order'));
if (Validate::isLoadedObject($order_cart_rule) && Validate::isLoadedObject($order) && $order_cart_rule->id_order == $order->id)
{
if ($order_cart_rule->id_order_invoice)
{
$order_invoice = new OrderInvoice($order_cart_rule->id_order_invoice);
if (!ValidateCore::isLoadedObject($order_invoice))
throw new PrestashopException('Can\'t load Order Invoice object');
// Update amounts of Order Invoice
$order_invoice->total_discount_tax_excl -= $order_cart_rule->value_tax_excl;
$order_invoice->total_discount_tax_incl -= $order_cart_rule->value;
$order_invoice->total_paid_tax_excl += $order_cart_rule->value_tax_excl;
$order_invoice->total_paid_tax_incl += $order_cart_rule->value;
// Update Order Invoice
$order_invoice->update();
}
// Update amounts of order
$order->total_discounts -= $order_cart_rule->value;
$order->total_discounts_tax_incl -= $order_cart_rule->value;
$order->total_discounts_tax_excl -= $order_cart_rule->value_tax_excl;
$order->total_paid += $order_cart_rule->value;
$order->total_paid_tax_incl += $order_cart_rule->value;
$order->total_paid_tax_excl += $order_cart_rule->value_tax_excl;
// Delete Order Cart Rule and update Order
$order_cart_rule->delete();
$order->update();
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
}
else
$this->_errors[] = Tools::displayError('Can\'t edit this Order Cart Rule');
}
else
$this->_errors[] = Tools::displayError('You do not have permission to edit here.');
}
elseif (Tools::getValue('submitNewVoucher'))
{
if ($this->tabAccess['edit'] === '1')
{
$order = new Order(Tools::getValue('id_order'));
if (!Validate::isLoadedObject($order))
throw new PrestashopException('Can\'t load Order object');
// If the discount is for only one invoice
if (!Tools::isSubmit('discount_all_invoices'))
{
$order_invoice = new OrderInvoice(Tools::getValue('discount_invoice'));
if (!Validate::isLoadedObject($order_invoice))
throw new PrestashopException('Can\'t load Order Invoice object');
}
$cart_rules = array();
switch (Tools::getValue('discount_type'))
{
// Percent type
case 1:
if (Tools::getValue('discount_value') < 100)
{
if (isset($order_invoice))
{
$cart_rules[$order_invoice->id]['value_tax_incl'] = Tools::ps_round($order_invoice->total_paid_tax_incl * Tools::getValue('discount_value') / 100, 2);
$cart_rules[$order_invoice->id]['value_tax_excl'] = Tools::ps_round($order_invoice->total_paid_tax_excl * Tools::getValue('discount_value') / 100, 2);
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
else
{
$order_invoices_collection = $order->getInvoicesCollection();
foreach($order_invoices_collection as $order_invoice)
{
$cart_rules[$order_invoice->id]['value_tax_incl'] = Tools::ps_round($order_invoice->total_paid_tax_incl * Tools::getValue('discount_value') / 100, 2);
$cart_rules[$order_invoice->id]['value_tax_excl'] = Tools::ps_round($order_invoice->total_paid_tax_excl * Tools::getValue('discount_value') / 100, 2);
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
}
}
else
$this->_errors[] = Tools::displayError('Discount value is invalid');
break;
// Amount type
case 2:
if (isset($order_invoice))
{
if (Tools::getValue('discount_value') > $order_invoice->total_paid_tax_incl)
$this->_errors[] = Tools::displayError('Discount value is superior than the order invoice total');
else
{
$cart_rules[$order_invoice->id]['value_tax_incl'] = Tools::ps_round(Tools::getValue('discount_value'), 2);
$cart_rules[$order_invoice->id]['value_tax_excl'] = Tools::ps_round(Tools::getValue('discount_value') / (1 + ($order->getTaxesAverageUsed() / 100)), 2);
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
}
else
{
$order_invoices_collection = $order->getInvoicesCollection();
foreach($order_invoices_collection as $order_invoice)
{
if (Tools::getValue('discount_value') > $order_invoice->total_paid_tax_incl)
continue;
$cart_rules[$order_invoice->id]['value_tax_incl'] = Tools::ps_round(Tools::getValue('discount_value'), 2);
$cart_rules[$order_invoice->id]['value_tax_excl'] = Tools::ps_round(Tools::getValue('discount_value') / (1 + ($order->getTaxesAverageUsed() / 100)), 2);
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
}
break;
// Free shipping type
case 3:
if (isset($order_invoice))
{
if ($order_invoice->total_shipping_tax_incl > 0)
{
$cart_rules[$order_invoice->id]['value_tax_incl'] = $order_invoice->total_shipping_tax_incl;
$cart_rules[$order_invoice->id]['value_tax_excl'] = $order_invoice->total_shipping_tax_excl;
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
}
else
{
$order_invoices_collection = $order->getInvoicesCollection();
foreach($order_invoices_collection as $order_invoice)
{
if ($order_invoice->total_shipping_tax_incl <= 0)
continue;
$cart_rules[$order_invoice->id]['value_tax_incl'] = $order_invoice->total_shipping_tax_incl;
$cart_rules[$order_invoice->id]['value_tax_excl'] = $order_invoice->total_shipping_tax_excl;
// Update OrderInvoice
$order_invoice->total_discount_tax_incl += $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_discount_tax_excl += $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->total_paid_tax_incl -= $cart_rules[$order_invoice->id]['value_tax_incl'];
$order_invoice->total_paid_tax_excl -= $cart_rules[$order_invoice->id]['value_tax_excl'];
$order_invoice->update();
}
}
break;
default:
$this->_errors[] = Tools::displayError('Discount type is invalid');
}
$res = true;
foreach($cart_rules as $id_order_invoice => $cart_rule)
{
// Create OrderCartRule
$order_cart_rule = new OrderCartRule();
$order_cart_rule->id_order = $order->id;
$order_cart_rule->id_order_invoice = $id_order_invoice;
$order_cart_rule->name = Tools::getValue('discount_name');
$order_cart_rule->value = $cart_rule['value_tax_incl'];
$order_cart_rule->value_tax_excl = $cart_rule['value_tax_excl'];
$res &= $order_cart_rule->add();
$order->total_discounts += $order_cart_rule->value;
$order->total_discounts_tax_incl += $order_cart_rule->value;
$order->total_discounts_tax_excl += $order_cart_rule->value_tax_excl;
$order->total_paid -= $order_cart_rule->value;
$order->total_paid_tax_incl -= $order_cart_rule->value;
$order->total_paid_tax_excl -= $order_cart_rule->value_tax_excl;
}
// Update Order
$res &= $order->update();
if ($res)
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
else
$this->_errors[] = Tools::displayError('An error occured on OrderCartRule creation');
}
else
$this->_errors[] = Tools::displayError('You do not have permission to edit here.');
}
parent::postProcess();
}
@@ -1050,7 +1260,11 @@ class AdminOrdersControllerCore extends AdminController
// Add cart rule to cart and in order
$cart->addCartRule($cart_rule->id);
$order->addCartRule($cart_rule->id, $cart_rule->name[Configuration::get('PS_LANG_DEFAULT')], $cart_rule->getContextualValue(true));
$values = array(
'tax_incl' => $cart_rule->getContextualValue(true),
'tax_excl' => $cart_rule->getContextualValue(false)
);
$order->addCartRule($cart_rule->id, $cart_rule->name[Configuration::get('PS_LANG_DEFAULT')], $values);
}
$order_invoice->id_order = $order->id;
@@ -1332,16 +1546,6 @@ class AdminOrdersControllerCore extends AdminController
if ($order_detail->id_order_invoice != 0)
{
$order_invoice = new OrderInvoice($order_detail->id_order_invoice);
/*
TODO refresh total_discount
$order_invoice->total_discount_tax_excl -= ;
$order_invoice->total_discount_tax_incl -= ;
$order_invoice->total_shipping_tax_excl -= ;
$order_invoice->total_shipping_tax_incl -= ;
$order_invoice->total_wrapping_tax_excl -= ;
$order_invoice->total_wrapping_tax_incl -= ;
*/
$order_invoice->total_paid_tax_excl -= $order_detail->total_price_tax_incl;
$order_invoice->total_paid_tax_incl -= $order_detail->total_price_tax_excl;
$order_invoice->total_products -= $order_detail->total_price_tax_incl;
@@ -1350,19 +1554,6 @@ class AdminOrdersControllerCore extends AdminController
}
// Update Order
/*
* TODO
$order->total_discounts -= ;
$order->total_discounts_tax_incl -= ;
$order->total_discounts_tax_excl -= ;
$order->total_discounts_tax_excl -= ;
$order->total_shipping -= ;
$order->total_shipping_tax_incl -= ;
$order->total_shipping_tax_excl -= ;
$order->total_wrapping -= ;
$order->total_wrapping_tax_incl -= ;
$order->total_wrapping_tax_excl -= ;
*/
$order->total_paid -= $order_detail->total_price_tax_incl;
$order->total_paid_tax_incl -= $order_detail->total_price_tax_incl;
$order->total_paid_tax_excl -= $order_detail->total_price_tax_excl;
+2
View File
@@ -1133,8 +1133,10 @@ CREATE TABLE `PREFIX_order_cart_rule` (
`id_order_cart_rule` int(10) unsigned NOT NULL auto_increment,
`id_order` int(10) unsigned NOT NULL,
`id_cart_rule` int(10) unsigned NOT NULL,
`id_order_invoice` int(10) unsigned DEFAULT 0,
`name` varchar(32) NOT NULL,
`value` decimal(17,2) NOT NULL default '0.00',
`value_tax_excl` decimal(17,2) NOT NULL default '0.00',
PRIMARY KEY (`id_order_cart_rule`),
KEY `id_order` (`id_order`),
KEY `id_cart_rule` (`id_cart_rule`)
+2
View File
@@ -288,3 +288,5 @@ ALTER TABLE `PREFIX_product` ADD COLUMN `advanced_stock_management` tinyint(1) d
DELETE FROM `PREFIX_configuration` WHERE `name` = 'PS_PDF_ENCODING';
DELETE FROM `PREFIX_configuration` WHERE `name` = 'PS_PDF_FONT';
ALTER TABLE `PREFIX_order_cart_rule` ADD `value_tax_excl` DECIMAL(17, 2) NOT NULL DEFAULT '0.00';
ALTER TABLE `PREFIX_order_cart_rule` ADD `id_order_invoice` INT NOT NULL DEFAULT '0' AFTER `id_cart_rule`;
+45
View File
@@ -683,6 +683,51 @@ function init()
return false;
});
$('#add_voucher').click(function() {
$(this).parent().parent().hide();
$('#voucher_form').parent().show();
return false;
});
$('#cancel_add_voucher').click(function() {
$('#voucher_form').parent().hide();
$('#add_voucher').parent().parent().show();
return false;
});
$('#discount_type').change(function() {
// Percent type
if ($(this).val() == 1)
{
$('#discount_value_field').show();
$('#discount_currency_sign').hide();
$('#discount_value_help').hide();
$('#discount_percent_symbol').show();
}
// Amount type
else if ($(this).val() == 2)
{
$('#discount_value_field').show();
$('#discount_percent_symbol').hide();
$('#discount_value_help').show();
$('#discount_currency_sign').show();
}
// Free shipping
else if ($(this).val() == 3)
{
$('#discount_value_field').hide();
}
});
$('#discount_all_invoices').change(function() {
if ($(this).is(':checked'))
$('select[name=discount_invoice]').attr('disabled', true);
else
$('select[name=discount_invoice]').attr('disabled', false);
});
}