// Adding the OrderCarrier class to handle carriers in an order
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11051 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -206,9 +206,13 @@ abstract class PaymentModuleCore extends Module
|
||||
$order_detail_list[] = $order_detail;
|
||||
|
||||
// Adding an entry in order_carrier table
|
||||
Db::getInstance()->execute('
|
||||
INSERT INTO `'._DB_PREFIX_.'order_carrier` (`id_order`, `id_carrier`, `weight`, `shipping_cost_tax_excl`, `shipping_cost_tax_incl`, `date_add`) VALUES
|
||||
('.(int)$order->id.', '.(int)$carrier->id.', '.(float)$order->getTotalWeight().', '.(float)$order->total_shipping_tax_excl.', '.(float)$order->total_shipping_tax_incl.', NOW())');
|
||||
$order_carrier = new OrderCarrier();
|
||||
$order_carrier->id_order = (int)$order->id;
|
||||
$order_carrier->id_carrier = (int)$carrier->id;
|
||||
$order_carrier->weight = (float)$order->getTotalWeight();
|
||||
$order_carrier->shipping_cost_tax_excl = (float)$order->total_shipping_tax_excl;
|
||||
$order_carrier->shipping_cost_tax_incl = (float)$order->total_shipping_tax_incl;
|
||||
$order_carrier->add();
|
||||
}
|
||||
// Register Payment
|
||||
if (!$order->addOrderPayment($amountPaid))
|
||||
|
||||
@@ -1084,10 +1084,14 @@ class OrderCore extends ObjectModel
|
||||
$order_invoice->add();
|
||||
|
||||
// Update order_carrier
|
||||
Db::getInstance()->execute('
|
||||
UPDATE `'._DB_PREFIX_.'order_carrier`
|
||||
SET `id_order_invoice` = '.(int)$order_invoice->id.'
|
||||
WHERE `id_order` = '.(int)$order_invoice->id_order);
|
||||
$id_order_carrier = Db::getInstance()->getValue('
|
||||
SELECT `id_order_carrier`
|
||||
FROM `'._DB_PREFIX_.'order_carrier`
|
||||
WHERE `id_order` = '.(int)$order_invoice->id_order.'
|
||||
AND `id_order_invoice` IS NOT NULL');
|
||||
$order_carrier = new OrderCarrier($id_order_carrier);
|
||||
$order_carrier->id_order_invoice = (int)$order_invoice->id;
|
||||
$order_carrier->update();
|
||||
|
||||
// Update order detail
|
||||
Db::getInstance()->execute('
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6844 $
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
class OrderCarrierCore extends ObjectModel
|
||||
{
|
||||
/** @var integer */
|
||||
public $id_order_carrier;
|
||||
|
||||
/** @var integer */
|
||||
public $id_order;
|
||||
|
||||
/** @var integer */
|
||||
public $id_carrier;
|
||||
|
||||
/** @var integer */
|
||||
public $id_order_invoice;
|
||||
|
||||
/** @var float */
|
||||
public $weight;
|
||||
|
||||
/** @var float */
|
||||
public $shipping_cost_tax_excl;
|
||||
|
||||
/** @var float */
|
||||
public $shipping_cost_tax_incl;
|
||||
|
||||
/** @var integer */
|
||||
public $tracking_number;
|
||||
|
||||
|
||||
/** @var string Object creation date */
|
||||
public $date_add;
|
||||
|
||||
protected $tables = array ('order_carrier');
|
||||
|
||||
protected $fieldsRequired = array ('id_order', 'id_carrier');
|
||||
protected $fieldsValidate = array (
|
||||
'id_order_carrier' => 'isUnsignedId',
|
||||
'id_order' => 'isUnsignedId',
|
||||
'id_carrier' => 'isUnsignedId',
|
||||
'id_order_invoice' => 'isUnsignedId',
|
||||
'weight' => 'isFloat',
|
||||
'shipping_cost_tax_excl' => 'isFloat',
|
||||
'shipping_cost_tax_incl' => 'isFloat',
|
||||
'tracking_number' => 'isAnything');
|
||||
|
||||
public static $definition = array(
|
||||
'table' => 'order_carrier',
|
||||
'primary' => 'id_order_carrier',
|
||||
);
|
||||
|
||||
protected $webserviceParameters = array(
|
||||
'fields' => array(
|
||||
'id_order' => array('xlink_resource' => 'orders'),
|
||||
'id_carrier' => array('xlink_resource' => 'carriers'),
|
||||
),
|
||||
);
|
||||
|
||||
public function getFields()
|
||||
{
|
||||
$this->validateFields();
|
||||
|
||||
$fields['id_order'] = (int)($this->id_order);
|
||||
$fields['id_carrier'] = (int)($this->id_carrier);
|
||||
$fields['id_order_invoice'] = (int)($this->id_order_invoice);
|
||||
$fields['weight'] = (float)($this->weight);
|
||||
$fields['shipping_cost_tax_excl'] = (float)($this->shipping_cost_tax_excl);
|
||||
$fields['shipping_cost_tax_incl'] = (float)($this->shipping_cost_tax_incl);
|
||||
$fields['tracking_number'] = pSQL(($this->tracking_number));
|
||||
$fields['date_add'] = pSQL($this->date_add);
|
||||
|
||||
return $fields;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user