[IMP] delivery: _delivery_unset make only one call to unlink.
[IMP] delivery: do not browse grid as superuser. [IMP] delivery: code clean: remove unused import, remove commented code, use osv.Model instead of deprecated osv.osv class bzr revid: chs@openerp.com-20140123172302-ran1vpfibeixv9xe
This commit is contained in:
parent
c08b9a7b03
commit
eb0a81dc93
|
@ -22,13 +22,11 @@
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from openerp.addons import decimal_precision
|
from openerp.addons import decimal_precision
|
||||||
from openerp.addons.sale.sale import sale_order as OriginalSaleOrder
|
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp import SUPERUSER_ID
|
|
||||||
|
|
||||||
|
|
||||||
class sale_order_line(osv.osv):
|
class sale_order_line(osv.Model):
|
||||||
_inherit = 'sale.order.line'
|
_inherit = 'sale.order.line'
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
|
@ -92,9 +90,9 @@ class sale_order(osv.Model):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _delivery_unset(self, cr, uid, order, context=None):
|
def _delivery_unset(self, cr, uid, order, context=None):
|
||||||
for line in order.order_line:
|
line_ids = [line.id for line in order.order_line if line.is_delivery]
|
||||||
if line.is_delivery:
|
self.pool['sale.order.line'].unlink(cr, uid, line_ids, context=context)
|
||||||
self.pool.get('sale.order.line').unlink(cr, uid, [line.id], context=context)
|
order.refresh()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def delivery_set(self, cr, uid, ids, context=None):
|
def delivery_set(self, cr, uid, ids, context=None):
|
||||||
|
@ -102,17 +100,17 @@ class sale_order(osv.Model):
|
||||||
grid_obj = self.pool.get('delivery.grid')
|
grid_obj = self.pool.get('delivery.grid')
|
||||||
carrier_obj = self.pool.get('delivery.carrier')
|
carrier_obj = self.pool.get('delivery.carrier')
|
||||||
acc_fp_obj = self.pool.get('account.fiscal.position')
|
acc_fp_obj = self.pool.get('account.fiscal.position')
|
||||||
|
|
||||||
for order in self.browse(cr, uid, ids, context=context):
|
for order in self.browse(cr, uid, ids, context=context):
|
||||||
self._delivery_unset(cr, uid, order, context=context)
|
self._delivery_unset(cr, uid, order, context=context)
|
||||||
for order in self.browse(cr, uid, ids, context=context):
|
|
||||||
grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id)
|
grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id)
|
||||||
if not grid_id:
|
if not grid_id:
|
||||||
raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
|
raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
|
||||||
|
|
||||||
if not order.state in ('draft'):
|
if order.state != 'draft':
|
||||||
raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
|
raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
|
||||||
|
|
||||||
grid = grid_obj.browse(cr, SUPERUSER_ID, grid_id, context=context)
|
grid = grid_obj.browse(cr, uid, grid_id, context=context)
|
||||||
|
|
||||||
taxes = grid.carrier_id.product_id.taxes_id
|
taxes = grid.carrier_id.product_id.taxes_id
|
||||||
fpos = order.fiscal_position or False
|
fpos = order.fiscal_position or False
|
||||||
|
@ -129,6 +127,3 @@ class sale_order(osv.Model):
|
||||||
'type': 'make_to_stock',
|
'type': 'make_to_stock',
|
||||||
'is_delivery': True
|
'is_delivery': True
|
||||||
})
|
})
|
||||||
# remove the value of the carrier_id field on the sale order
|
|
||||||
# TDE NOTE: why removing it ?? seems weird
|
|
||||||
# return self.write(cr, uid, ids, {'carrier_id': False}, context=context)
|
|
||||||
|
|
Loading…
Reference in New Issue