← Back to team overview

openerp-community-reviewer team mailing list archive

[Merge] lp:~camptocamp/ocb-addons/ocb-7.0-595239-opw-skh+afe into lp:ocb-addons

 

Alexandre Fayolle - camptocamp has proposed merging lp:~camptocamp/ocb-addons/ocb-7.0-595239-opw-skh+afe into lp:ocb-addons.

Requested reviews:
  OpenERP Community Backports Team (ocb)
Related bugs:
  Bug #1199858 in OpenERP Community Backports (Addons): "7.0 : delivery - partial delivery will copy tracking number in the backorder picking"
  https://bugs.launchpad.net/ocb-addons/+bug/1199858

For more details, see:
https://code.launchpad.net/~camptocamp/ocb-addons/ocb-7.0-595239-opw-skh+afe/+merge/201016

fix partial delivery will copy tracking number in the backorder picking (lp:1199858)

port of https://code.launchpad.net/~camptocamp/openobject-addons/7.0-595239-opw-skh-afe/+merge/201002 to ocb
-- 
https://code.launchpad.net/~camptocamp/ocb-addons/ocb-7.0-595239-opw-skh+afe/+merge/201016
Your team OpenERP Community Backports Team is requested to review the proposed merge of lp:~camptocamp/ocb-addons/ocb-7.0-595239-opw-skh+afe into lp:ocb-addons.
=== modified file 'delivery/__openerp__.py'
--- delivery/__openerp__.py	2013-08-15 07:54:23 +0000
+++ delivery/__openerp__.py	2014-01-09 14:44:47 +0000
@@ -43,6 +43,7 @@
     'demo': ['delivery_demo.xml'],
     'test': ['test/delivery_cost.yml',
              'test/delivery_chained_pickings.yml',
+             'test/delivery_tracking_ref_backorder.yml',
             ],
     'installable': True,
     'auto_install': False,

=== modified file 'delivery/stock.py'
--- delivery/stock.py	2013-11-19 18:18:55 +0000
+++ delivery/stock.py	2014-01-09 14:44:47 +0000
@@ -51,6 +51,12 @@
             result[line.picking_id.id] = True
         return result.keys()
 
+    def write(self, cr, uid, ids, vals, context=None):
+        if context is None: context = {}
+        if vals.get('backorder_id'):
+            vals.update(carrier_tracking_ref = '')
+        return super(stock_picking, self).write(cr, uid, ids, vals, context=context)
+
     _columns = {
         'carrier_id':fields.many2one("delivery.carrier","Carrier"),
         'volume': fields.float('Volume'),

=== 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-01-09 14:44:47 +0000
@@ -0,0 +1,41 @@
+-
+  In order to partial delivery with tracking number
+-
+  I create an outgoing picking
+-
+ !record {model: stock.picking, id: outgoing_shipment}:
+    type: out
+    carrier_tracking_ref: ABC12345
+    volume: 2
+    number_of_packages: 2
+-
+ !record {model: stock.move, id: outgoing_move}:
+    picking_id: outgoing_shipment
+    product_id: product.product_product_8
+    product_uom: product.product_uom_unit
+    product_qty: 2
+    location_id: stock.stock_location_stock
+    location_dest_id: stock.stock_location_customers
+-
+ I confirm the picking
+-
+  !workflow {model: stock.picking, action: button_confirm, ref: outgoing_shipment}
+-
+ I make a partial delivery
+-
+  !python {model: stock.partial.picking}: |
+    pick_ids = [ref("outgoing_shipment")]
+    partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': pick_ids})
+    partial = self.browse(cr, uid, partial_id, context=context)
+    partial.move_ids[0].write({'quantity': 1})
+    self.do_partial(cr, uid, [partial_id])
+-
+  I check backorder shipment after partial delivery.
+-
+  !python {model: stock.picking}: |
+    shipment = self.browse(cr, uid, ref("delivery.outgoing_shipment"))
+    backorder = shipment.backorder_id
+    assert backorder, "Backorder should be created after partial shipment."
+    assert backorder.state == 'done', "Backorder should be close after received"
+    assert backorder.carrier_tracking_ref ==  'ABC12345', 'wrong tracking ref on done picking'
+    assert not shipment.carrier_tracking_ref, 'remaining picking must have no tracking ref'


Follow ups