forked from OCA/sale-workflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsale_order.py
More file actions
35 lines (29 loc) · 1.18 KB
/
sale_order.py
File metadata and controls
35 lines (29 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copyright 2017 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class SaleOrder(models.Model):
_inherit = "sale.order"
invoice_policy = fields.Selection(
[
("product", "Products Invoice Policy"),
("order", "Ordered quantities"),
("delivery", "Delivered quantities"),
],
compute="_compute_invoice_policy",
store=True,
readonly=False,
required=True,
states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
precompute=True,
help="Ordered Quantity: Invoice based on the quantity the customer "
"ordered.\n"
"Delivered Quantity: Invoiced based on the quantity the vendor "
"delivered (time or deliveries). This applies for storable products only.",
)
@api.depends("company_id")
def _compute_invoice_policy(self) -> None:
"""
Get default sale order invoice policy
"""
for company, sale_orders in self.partition("company_id").items():
sale_orders.invoice_policy = company.sale_default_invoice_policy