[+] 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
+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(