forked from alaguraj/odoo-testing-addons
implement Uber delivery fee integration and update docker-compose container naming
This commit is contained in:
parent
3a91dc3028
commit
c256d80677
@ -40,28 +40,27 @@ class SaleOrder(models.Model):
|
||||
|
||||
if carrier:
|
||||
# Force carrier to be published and global to avoid "No shipping method" error
|
||||
carrier.write({
|
||||
carrier.sudo().write({
|
||||
'website_published': True,
|
||||
'active': True,
|
||||
'country_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
|
||||
# This satisfies the requirement for website_sale's 'No shipping method' check
|
||||
_logger.info("Uber: Setting carrier %s with fee %s", carrier.name, 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)
|
||||
if delivery_line:
|
||||
delivery_line.write({
|
||||
delivery_line.sudo().write({
|
||||
'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:
|
||||
_logger.warning("Uber: No delivery carrier found to apply fee")
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user