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

This commit is contained in:
Alaguraj0361 2026-04-09 20:28:53 +05:30
parent 3a91dc3028
commit c256d80677

View File

@ -40,28 +40,27 @@ class SaleOrder(models.Model):
if carrier: if carrier:
# Force carrier to be published and global to avoid "No shipping method" error # Force carrier to be published and global to avoid "No shipping method" error
carrier.write({ carrier.sudo().write({
'website_published': True, 'website_published': True,
'active': True, 'active': True,
'country_ids': [(6, 0, [])], 'country_ids': [(6, 0, [])],
'state_ids': [(6, 0, [])], 'state_ids': [(6, 0, [])],
'zip_prefix_ids': [(6, 0, [])] if hasattr(Carrier, 'zip_prefix_ids') else False
}) })
if carrier:
# 3. Use Odoo's standard method to set delivery # 3. Use Odoo's standard method to set delivery
# This satisfies the requirement for website_sale's 'No shipping method' check
_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) self.sudo().set_delivery_line(carrier, amount)
# Force the price again in case set_delivery_line used its own price # Force the price and info again
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.write({ delivery_line.sudo().write({
'price_unit': amount, 'price_unit': amount,
'name': 'Uber Delivery Fee (Distance Based)' 'name': f"Uber Direct Delivery ({self.partner_id.city})"
}) })
self.write({'carrier_id': carrier.id}) 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")