implement Uber delivery fee integration in sale orders and update docker-compose container naming

This commit is contained in:
Alaguraj0361 2026-04-09 22:58:14 +05:30
parent d95e1235d2
commit 375101a50f

View File

@ -56,18 +56,24 @@ class SaleOrder(models.Model):
# 3. Use Odoo's standard method to set delivery # 3. Use Odoo's standard method to set delivery
_logger.info("Uber: Setting carrier %s with fee %s", carrier.name, amount) _logger.info("Uber: Setting carrier %s with fee %s", carrier.name, amount)
self.sudo().set_delivery_line(carrier, amount)
# Force the price and info again # Lock the price on the carrier record itself temporarily (SUDO) to satisfy Odoo's check_carrier
carrier.sudo().write({'fixed_price': amount})
# Apply to order
self.sudo().set_delivery_line(carrier, amount)
self.sudo().write({'carrier_id': carrier.id})
# Force the line name and price one more time to be sure
delivery_line = self.order_line.filtered(lambda l: l.is_delivery) delivery_line = self.order_line.filtered(lambda l: l.is_delivery)
if delivery_line: if delivery_line:
delivery_line.sudo().write({ delivery_line.sudo().write({
'price_unit': amount, 'price_unit': amount,
'name': f"Uber Direct Delivery ({self.partner_id.city})" 'name': f"Uber Direct Delivery ({self.partner_id.city or 'Local'})"
}) })
self.sudo().write({'carrier_id': carrier.id})
else: else:
_logger.warning("Uber: No delivery carrier found to apply fee") _logger.warning("Uber: No delivery carrier found to apply fee")
# Save everything to DB immediately
self.env.cr.commit()
return True return True