clearcorp team mailing list archive
-
clearcorp team
-
Mailing list archive
-
Message #00835
lp:~rr.clearcorp/openerp-ccorp-addons/6.1-sale_order_global_discount into lp:openerp-ccorp-addons/6.1
Ronald Rubi has proposed merging lp:~rr.clearcorp/openerp-ccorp-addons/6.1-sale_order_global_discount into lp:openerp-ccorp-addons/6.1.
Requested reviews:
CLEARCORP drivers (clearcorp-drivers)
For more details, see:
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-sale_order_global_discount/+merge/172450
Fix subtotal and discount in sale_order_global_discount
--
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-sale_order_global_discount/+merge/172450
Your team CLEARCORP development team is subscribed to branch lp:openerp-ccorp-addons/6.1.
=== modified file 'sale_order_global_discount/sale_order_global_discount.py'
--- sale_order_global_discount/sale_order_global_discount.py 2013-07-01 16:11:36 +0000
+++ sale_order_global_discount/sale_order_global_discount.py 2013-07-02 00:45:30 +0000
@@ -30,6 +30,8 @@
import decimal_precision as dp
import netsvc
+from openerp.addons.sale.sale import sale_order_line as sale_order_line_parent
+
class sale_order_line(osv.osv):
_inherit = 'sale.order.line'
_description = 'Order Line'
@@ -46,13 +48,21 @@
cur = line.order_id.pricelist_id.currency_id
res[line.id] = cur_obj.round(cr, uid, cur, taxes['total'])
return res
-
+
_columns = {
- 'price_subtotal_not_discounted': fields.function(_amount_line_no_discount, string='Subtotal', digits_compute= dp.get_precision('Sale Price')),
-
+ 'price_subtotal_not_discounted': fields.function(_amount_line_no_discount, digits_compute= dp.get_precision('Sale Price'), string='Subtotal',
+ store = {
+ 'sale.order.line': (lambda self, cr, uid, ids, c={}: ids, ['price_unit', 'tax_id', 'discount', 'product_uom_qty'], 5),
+ }),
}
-class sale_order(osv.osv):
+ def button_dummy(self, cr, uid, ids, context=None):
+ #To recalculate function fields
+ for line in self.browse(cr, uid, ids, context=context):
+ self.write(cr, uid, [line.id], {'id': line.id}, context=context)
+ return True
+
+class SaleOrder(osv.osv):
_inherit = 'sale.order'
_description = 'Sales Order'
@@ -105,10 +115,21 @@
}
def button_dummy(self, cr, uid, ids, context=None):
- obj_sale_order_line = self.pool.get('sale.order.line')
+ #To recalculate function fields
for sale in self.browse(cr, uid, ids, context=context):
- for line in sale.order_line:
- obj_sale_order_line.write(cr, uid, [line.id], {'id': line.id}, context=context)
- return super(sale_order, self).button_dummy(cr, uid, ids, context=context)
-
-
+ context.update({'second_time': True})
+ self.write(cr, uid, [sale.id], {}, context=context)
+ super(SaleOrder, self).button_dummy(cr, uid, ids, context=context)
+ return True
+
+ def create(self, cr, uid, vals, context=None):
+ sale_id = super(SaleOrder, self).create(cr, uid, vals, context=context)
+ self.button_dummy(cr, uid, [sale_id], context=context)
+ return sale_id
+
+ def write(self, cr, uid, ids, vals, context=None):
+ if 'second_time' not in context:
+ self.button_dummy(cr, uid, ids, context=context)
+ else:
+ del context['second_time']
+ return super(SaleOrder, self).write(cr, uid, ids, vals, context=context)
Follow ups