[ADD] sale.order: delivery time, payment terms
This commit is contained in:
parent
3e0e724986
commit
cf38fcb1b6
@ -18,5 +18,6 @@
|
||||
"views/res_partner.xml",
|
||||
"wizard/res_partner_contract_wizard.xml",
|
||||
"data/fields_default.xml",
|
||||
"data/payment_terms.xml",
|
||||
],
|
||||
}
|
||||
|
@ -81,8 +81,6 @@ action = ctx
|
||||
|
||||
# Aliases
|
||||
self = record
|
||||
partner = self.contract_id.partner_id # res.partner
|
||||
seller = self.contract_id.company_id
|
||||
order = self.order_id
|
||||
|
||||
# Functions
|
||||
@ -92,11 +90,11 @@ modf = self.modf
|
||||
ctx = {
|
||||
"contract_number": self.contract_id.name,
|
||||
|
||||
"seller_inn": seller.inn,
|
||||
"seller_kpp": seller.kpp,
|
||||
"amount_whole": 0,
|
||||
"amount_fractional": 0,
|
||||
|
||||
"partner_inn": partner.inn,
|
||||
"partner_kpp": partner.kpp,
|
||||
"delivery_term": False,
|
||||
"delivery_time": False,
|
||||
}
|
||||
|
||||
if order:
|
||||
@ -106,6 +104,9 @@ if order:
|
||||
ctx.update({
|
||||
"amount_whole": whole,
|
||||
"amount_fractional": fractional,
|
||||
|
||||
"delivery_term": order.payment_term_id.name,
|
||||
"delivery_time": order.delivery_time,
|
||||
})
|
||||
|
||||
action = ctx
|
||||
|
27
data/payment_terms.xml
Normal file
27
data/payment_terms.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<odoo>
|
||||
<data noupdate="0">
|
||||
|
||||
<record id="payment_term_prepaid" model="account.payment.term">
|
||||
<field name="name">Prepaid</field>
|
||||
<field name="note">Payment terms: 100% Prepaid</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="payment_term_postpayment" model="account.payment.term">
|
||||
<field name="name">Postpaid</field>
|
||||
<field name="note">Payment terms: Postpaid</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record id="payment_term_partial_2" model="account.payment.term">
|
||||
<field name="name">2 stages</field>
|
||||
<field name="note">Payment terms: Partial 2 Stages</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
<record id="payment_term_partial_3" model="account.payment.term">
|
||||
<field name="name">3 stages</field>
|
||||
<field name="note">Payment terms: Partial 3 Stages</field>
|
||||
<field name="sequence">4</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -3,3 +3,4 @@ from . import res_partner_contract
|
||||
from . import res_partner_contract_annex
|
||||
from . import res_partner_contract_field
|
||||
from . import res_partner_contract_field_transient
|
||||
from . import sale_order
|
||||
|
26
models/sale_order.py
Normal file
26
models/sale_order.py
Normal file
@ -0,0 +1,26 @@
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class SaleOrder(models.Model):
|
||||
_inherit = 'sale.order'
|
||||
|
||||
delivery_time = fields.Integer(
|
||||
string='Delivery Time',
|
||||
default=45,
|
||||
)
|
||||
# Extend default field
|
||||
payment_term_id = fields.Many2one(
|
||||
'account.payment.term',
|
||||
domain=lambda self: [('id', 'in', self._get_payment_terms())]
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def _get_payment_terms(self):
|
||||
ref = self.env.ref
|
||||
terms = (
|
||||
ref('client_contracts.payment_term_prepaid').id,
|
||||
ref('client_contracts.payment_term_postpayment').id,
|
||||
ref('client_contracts.payment_term_partial_2').id,
|
||||
ref('client_contracts.payment_term_partial_3').id,
|
||||
)
|
||||
return terms
|
Loading…
x
Reference in New Issue
Block a user