fixup! [IMP] delivery: manage return label for all carrier

closes odoo/odoo#31347

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
This commit is contained in:
Pierre Masereel
2019-03-15 09:10:44 +00:00
parent 43497d51f4
commit 1f68cb87f0
2 changed files with 9 additions and 7 deletions
+7 -6
View File
@@ -61,10 +61,8 @@ class DeliveryCarrier(models.Model):
amount = fields.Float(string='Amount', help="Amount of the order to benefit from a free shipping, expressed in the company currency")
can_generate_return = fields.Boolean(compute="_compute_can_generate_return")
return_label_on_delivery = fields.Boolean(string="Generate Return Label", required=True, default=False,
help="The return label is automatically generated at the delivery.")
get_return_label_from_portal = fields.Boolean(string="Return Label Accessible from Customer Portal", required=True, default=False,
help="The return label can be downloaded by the customer from the customer portal.")
return_label_on_delivery = fields.Boolean(string="Generate Return Label", help="The return label is automatically generated at the delivery.")
get_return_label_from_portal = fields.Boolean(string="Return Label Accessible from Customer Portal", help="The return label can be downloaded by the customer from the customer portal.")
_sql_constraints = [
('margin_not_under_100_percent', 'CHECK (margin >= -100)', 'Margin cannot be lower than -100%'),
@@ -169,10 +167,13 @@ class DeliveryCarrier(models.Model):
if hasattr(self, '%s_send_shipping' % self.delivery_type):
return getattr(self, '%s_send_shipping' % self.delivery_type)(pickings)
def get_return_label(self,pickings):
def get_return_label(self,pickings, tracking_number=None, origin_date=None):
self.ensure_one()
if self.can_generate_return:
return getattr(self, '%s_get_return_label' % self.delivery_type)(pickings)
return getattr(self, '%s_get_return_label' % self.delivery_type)(pickings, tracking_number, origin_date)
def get_return_label_prefix(self):
return 'ReturnLabel-%s' % self.delivery_type
def get_tracking_link(self, picking):
''' Ask the tracking link to the service provider
+2 -1
View File
@@ -101,7 +101,8 @@ class StockPicking(models.Model):
def _compute_return_label(self):
for picking in self:
picking.return_label_ids = self.env['ir.attachment'].search([('res_model', '=', 'stock.picking'), ('res_id', '=', picking.id), ('name', 'ilike', 'ReturnLabel')])
if picking.carrier_id:
picking.return_label_ids = self.env['ir.attachment'].search([('res_model', '=', 'stock.picking'), ('res_id', '=', picking.id), ('name', 'like', '%s%%' % picking.carrier_id.get_return_label_prefix())])
@api.depends('move_lines')
def _cal_weight(self):