Website Sale One Time Delivery Address
website_sale_one_time_delivery_address · OCA/e-commerce
Health
57/100
fair
-
Security22/251 minor finding
-
Activity25/25Last human commit 4 months ago
-
Required by5/250 modules depend on it
-
Maturity5/25In 1 Odoo series since 19.0
Heuristic over the facts below, not an audit · How it's computed
Required by
0
Modules depending on it
External deps
1 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.07 MB
Module directory on disk
Code analysis
0 migration notes
2 models
6 views
3 HTTP endpoints
Description
This module extends the website checkout delivery flow for reseller-driven orders.
When the shopper enables the one-time delivery option during checkout,
the delivery address entered on the website is stored as a child contact
of the reseller with type one_time_delivery.
This allows downstream processes such as EDI to keep a dedicated recipient contact on the sale order while preserving the reseller as the billing partner.
Main behavior:
- adds an Allow Drop-shipping flag on the customer that gates the whole flow: the one-time delivery option is only shown for customers that allow drop-shipping
- adds a one-time delivery toggle to the checkout page
- creates checkout delivery contacts with type
one_time_delivery - keeps the invoice address on the reseller
- keeps the shipping address on the temporary end-customer contact
- makes one-time delivery contacts available in the checkout delivery address list
Dependencies
Code analysis
Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.
Views touched 6
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_card_one_time_delivery_badge |
Address Card - One-Time Delivery Badge | ir.ui.view | qweb | Inherits portal.address_card |
address_card_partner_type |
Checkout - Address Card Partner Type | ir.ui.view | qweb | Inherits website_sale.address_card |
checkout_hide_use_delivery_as_billing |
Checkout - Hide Same As Delivery Address | ir.ui.view | qweb | Inherits website_sale.billing_address_list |
checkout_one_time_delivery |
Checkout - One-Time Delivery | ir.ui.view | qweb | Inherits website_sale.checkout |
one_time_delivery_section |
one_time_delivery_section | ir.ui.view | qweb | New |
view_partner_form |
res.partner.form.allow.dropship | res.partner | form | Inherits base.view_partner_form |
HTTP endpoints 3
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/shop/address/submit |
WebsiteSaleOneTimeDeliveryAddress.shop_address_submit |
public | http | POST | website |
/shop/update_address |
WebsiteSaleOneTimeDeliveryAddress.shop_update_address |
public | jsonrpc | ALL | sudo website |
/shop/update_one_time_delivery |
WebsiteSaleOneTimeDeliveryAddress.shop_update_one_time_delivery |
public | jsonrpc | POST | website |
Models touched 2
New fields (2)
-
allow_dropshipBooleanhelp="When enabled, this customer can use the one-time delivery flow during the website checkout: the delivery address is stored as a temporary 'one_time_delivery' contact while billing stays on the customer. The one-time delivery option is hidden for customers that do not allow drop-shipping."string='Allow Drop-shipping' -
typeSelectionondelete={'one_time_delivery': 'set default'}selection_add=[('one_time_delivery', 'One-Time Delivery Address')]
No public methods.
New fields (2)
-
allow_dropshipBooleanrelated='partner_id.commercial_partner_id.allow_dropship' -
one_time_deliveryBooleanhelp="When enabled, the delivery address created during the website checkout is stored as a temporary contact with type 'one_time_delivery' instead of the standard 'delivery' type. This keeps the recipient out of the customer's regular address book and is useful for reseller orders shipped to an end customer."string='One-Time Delivery Address'
-
action_confirm(self)Archive one-time delivery contacts once the order is confirmed. A one_time_delivery contact is a temporary recipient that is no longer needed for editing once the order is placed. Archiving (not deleting) keeps it out of the address book while remaining readable on the related pickings and order history.