Merge lp:~camptocamp/openobject-addons/7.0-595239-opw-skh-afe into lp:openobject-addons/7.0

Proposed by Alexandre Fayolle - camptocamp
Status: Needs review
Proposed branch: lp:~camptocamp/openobject-addons/7.0-595239-opw-skh-afe
Merge into: lp:openobject-addons/7.0
Diff against target: 77 lines (+50/-1)
3 files modified
delivery/__openerp__.py (+3/-1)
delivery/stock.py (+6/-0)
delivery/test/delivery_tracking_ref_backorder.yml (+41/-0)
To merge this branch: bzr merge lp:~camptocamp/openobject-addons/7.0-595239-opw-skh-afe
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+201002@code.launchpad.net

Description of the change

fix partial delivery will copy tracking number in the backorder picking

The fix comes from lp:~openerp-dev/openobject-addons/7.0-595239-opw-skh and I added a yaml test.

To post a comment you must log in.
9749. By Alexandre Fayolle - camptocamp

try to understand why red on runbot and not on my machine...

9750. By Alexandre Fayolle - camptocamp

fix test: really do a partial delivery

9751. By Alexandre Fayolle - camptocamp

remove test debugging code

9752. By Alexandre Fayolle - camptocamp

[MRG] sync with current stable head

Unmerged revisions

9752. By Alexandre Fayolle - camptocamp

[MRG] sync with current stable head

9751. By Alexandre Fayolle - camptocamp

remove test debugging code

9750. By Alexandre Fayolle - camptocamp

fix test: really do a partial delivery

9749. By Alexandre Fayolle - camptocamp

try to understand why red on runbot and not on my machine...

9748. By Alexandre Fayolle - camptocamp

[ADD] test for fix

9747. By Somesh Khare(OpenERP) <email address hidden>

[FIX]delivery: delivery - partial delivery will copy tracking number in the backorder picking (Case: ref 595239)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'delivery/__openerp__.py'
--- delivery/__openerp__.py 2012-11-29 22:26:45 +0000
+++ delivery/__openerp__.py 2014-02-11 09:14:17 +0000
@@ -41,7 +41,9 @@
41 'delivery_data.xml'41 'delivery_data.xml'
42 ],42 ],
43 'demo': ['delivery_demo.xml'],43 'demo': ['delivery_demo.xml'],
44 'test': ['test/delivery_cost.yml'],44 'test': ['test/delivery_cost.yml',
45 'test/delivery_tracking_ref_backorder.yml',
46 ],
45 'installable': True,47 'installable': True,
46 'auto_install': False,48 'auto_install': False,
47 'images': ['images/1_delivery_method.jpeg','images/2_delivery_pricelist.jpeg'],49 'images': ['images/1_delivery_method.jpeg','images/2_delivery_pricelist.jpeg'],
4850
=== modified file 'delivery/stock.py'
--- delivery/stock.py 2013-11-19 18:18:55 +0000
+++ delivery/stock.py 2014-02-11 09:14:17 +0000
@@ -51,6 +51,12 @@
51 result[line.picking_id.id] = True51 result[line.picking_id.id] = True
52 return result.keys()52 return result.keys()
5353
54 def write(self, cr, uid, ids, vals, context=None):
55 if context is None: context = {}
56 if vals.get('backorder_id'):
57 vals.update(carrier_tracking_ref = '')
58 return super(stock_picking, self).write(cr, uid, ids, vals, context=context)
59
54 _columns = {60 _columns = {
55 'carrier_id':fields.many2one("delivery.carrier","Carrier"),61 'carrier_id':fields.many2one("delivery.carrier","Carrier"),
56 'volume': fields.float('Volume'),62 'volume': fields.float('Volume'),
5763
=== added file 'delivery/test/delivery_tracking_ref_backorder.yml'
--- delivery/test/delivery_tracking_ref_backorder.yml 1970-01-01 00:00:00 +0000
+++ delivery/test/delivery_tracking_ref_backorder.yml 2014-02-11 09:14:17 +0000
@@ -0,0 +1,41 @@
1-
2 In order to partial delivery with tracking number
3-
4 I create an outgoing picking
5-
6 !record {model: stock.picking, id: outgoing_shipment}:
7 type: out
8 carrier_tracking_ref: ABC12345
9 volume: 2
10 number_of_packages: 2
11-
12 !record {model: stock.move, id: outgoing_move}:
13 picking_id: outgoing_shipment
14 product_id: product.product_product_8
15 product_uom: product.product_uom_unit
16 product_qty: 2
17 location_id: stock.stock_location_stock
18 location_dest_id: stock.stock_location_customers
19-
20 I confirm the picking
21-
22 !workflow {model: stock.picking, action: button_confirm, ref: outgoing_shipment}
23-
24 I make a partial delivery
25-
26 !python {model: stock.partial.picking}: |
27 pick_ids = [ref("outgoing_shipment")]
28 partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': pick_ids})
29 partial = self.browse(cr, uid, partial_id, context=context)
30 partial.move_ids[0].write({'quantity': 1})
31 self.do_partial(cr, uid, [partial_id])
32-
33 I check backorder shipment after partial delivery.
34-
35 !python {model: stock.picking}: |
36 shipment = self.browse(cr, uid, ref("delivery.outgoing_shipment"))
37 backorder = shipment.backorder_id
38 assert backorder, "Backorder should be created after partial shipment."
39 assert backorder.state == 'done', "Backorder should be close after received"
40 assert backorder.carrier_tracking_ref == 'ABC12345', 'wrong tracking ref on done picking'
41 assert not shipment.carrier_tracking_ref, 'remaining picking must have no tracking ref'