~sebastien.beau/magentoerpconnect/oerp6.1-stable-pending-merge

« back to all changes in this revision

Viewing changes to magentoerpconnect/stock.py

[MERGE] Merge fix for exporting tracking number. Thanks to Guewen

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
        :param str picking_type: 'partial' or 'complete'
79
79
        :return: the picking id on magento
80
80
        """
81
 
        sale = self.browse(cr, uid, id, context=context).sale_id
 
81
        picking = self.browse(cr, uid, id, context=context)
 
82
        sale = picking.sale_id
82
83
        magento_incrementid = sale.magento_incrementid
83
84
        carrier_id = self.read(cr, uid, id, ['carrier_id'], context)['carrier_id']
84
85
        if carrier_id:
85
86
            carrier_id = carrier_id[0]
86
 
            self.pool.get('delivery.carrier').check_ext_carrier_reference(cr, uid, carrier_id, magento_incrementid, context)
 
87
 
 
88
        if carrier_id and picking.carrier_tracking_ref:
 
89
            self.pool.get('delivery.carrier').check_ext_carrier_reference(
 
90
                    cr, uid, carrier_id, magento_incrementid, context)
87
91
 
88
92
        ext_shipping_id = False
89
93
        meth = getattr(self, "create_ext_%s_shipping" % picking_type)
103
107
            if e.faultCode == 102:
104
108
                raise ExternalShippingCreateError(e)
105
109
 
106
 
        if ext_shipping_id and carrier_id:
 
110
        if ext_shipping_id and carrier_id and picking.carrier_tracking_ref:
107
111
            self.add_ext_tracking_reference(cr, uid, id, carrier_id, ext_shipping_id, context)
108
112
        return ext_shipping_id
109
113
 
112
116
        conn = context.get('conn_obj', False)
113
117
        carrier = self.pool.get('delivery.carrier').read(cr, uid, carrier_id, ['magento_carrier_code', 'magento_tracking_title'], context)
114
118
 
115
 
        if self.pool.get('ir.model.fields').search(cr, uid, [('name', '=', 'carrier_tracking_ref'), ('model', '=', 'stock.picking')]): #OpenERP v6 have the field carrier_tracking_ref on the stock_picking but v5 doesn't have it
116
 
            carrier_tracking_ref = self.read(cr, uid, id, ['carrier_tracking_ref'], context)['carrier_tracking_ref']
117
 
        else:
118
 
            carrier_tracking_ref = ''
 
119
        carrier_tracking_ref = self.read(cr, uid, id,
 
120
                                         ['carrier_tracking_ref'],
 
121
                                         context)['carrier_tracking_ref']
119
122
 
120
123
        res = conn.call('sales_order_shipment.addTrack', [ext_shipping_id, carrier['magento_carrier_code'], carrier['magento_tracking_title'] or '', carrier_tracking_ref or ''])
121
124
        if res: