diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index c39f1c4e7218f99f52cd4d3451b528111bd12a36..06fe18995950bc3f2fd81ba1a38703ccd07e4e70 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -31,7 +31,7 @@ class StockPackOperation(models.Model): @api.multi def manage_package_type(self): self.ensure_one() - view_id = self.env.ref('delivery.choose_delivery_package_view_form').id; + view_id = self.env.ref('delivery.choose_delivery_package_view_form').id return { 'name': _('Package Details'), 'type': 'ir.actions.act_window', @@ -123,19 +123,22 @@ class StockPicking(models.Model): @api.multi def put_in_pack(self): - view_id = self.env.ref('delivery.choose_delivery_package_view_form').id; - return { - 'name': _('Package Details'), - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - 'res_model': 'choose.delivery.package', - 'view_id': view_id, - 'views': [(view_id, 'form')], - 'target': 'new', - 'context': { - 'current_package_carrier_type': self.carrier_id.delivery_type if self.carrier_id.delivery_type not in ['base_on_rule', 'fixed'] else 'none', + if self.carrier_id and self.carrier_id.delivery_type not in ['base_on_rule', 'fixed']: + view_id = self.env.ref('delivery.choose_delivery_package_view_form').id + return { + 'name': _('Package Details'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'choose.delivery.package', + 'view_id': view_id, + 'views': [(view_id, 'form')], + 'target': 'new', + 'context': { + 'current_package_carrier_type': self.carrier_id.delivery_type, + } } - } + else: + return self._put_in_pack() @api.multi def send_to_shipper(self):