diff --git a/addons/dine360_uber/models/sale_order.py b/addons/dine360_uber/models/sale_order.py index 362d09c..1bbd021 100644 --- a/addons/dine360_uber/models/sale_order.py +++ b/addons/dine360_uber/models/sale_order.py @@ -14,6 +14,18 @@ class SaleOrder(models.Model): carriers |= self.carrier_id return carriers + def _remove_delivery_line(self): + """Prevent Odoo from automatically removing the Uber delivery fee during checkout transitions""" + if self.carrier_id and 'Uber' in (self.carrier_id.name or ''): + return + return super()._remove_delivery_line() + + def _check_carrier_quotation(self, force_carrier_id=None, **kwargs): + """Skip delivery re-validation for Uber orders to prevent the fee from being cleared""" + if self.carrier_id and 'Uber' in (self.carrier_id.name or ''): + return True + return super()._check_carrier_quotation(force_carrier_id=force_carrier_id, **kwargs) + def _add_uber_delivery_fee(self, amount): """Add the delivery fee using Odoo's standard delivery system to satisfy checkout validation""" _logger.info("Uber: Syncing delivery fee %s to order %s", amount, self.name)