[ADD] tree view of transient fields in contract view is editable, fields are filled, passport series inside res_partner view
This commit is contained in:
parent
18b5cef827
commit
c13a240770
@ -6,44 +6,64 @@
|
|||||||
<record id="action_get_context" model="ir.actions.server">
|
<record id="action_get_context" model="ir.actions.server">
|
||||||
<field name="name">Generate Context for Contract</field>
|
<field name="name">Generate Context for Contract</field>
|
||||||
<field name="model_id" ref="client_contracts.model_res_partner_contract_wizard"/>
|
<field name="model_id" ref="client_contracts.model_res_partner_contract_wizard"/>
|
||||||
|
<field name="binding_model_id" ref="client_contracts.model_res_partner_contract_wizard" />
|
||||||
<field name="state">code</field>
|
<field name="state">code</field>
|
||||||
<field name="code">
|
<field name="code">
|
||||||
self = records
|
|
||||||
|
# Aliases
|
||||||
|
self = record
|
||||||
|
partner = self.partner_id
|
||||||
|
seller = self.company_id
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
modf = self.modf
|
||||||
|
|
||||||
# ctx keys must be decalared in this xml
|
# ctx keys must be decalared in this xml
|
||||||
ctx = {
|
ctx = {
|
||||||
"contract_number":"--1",
|
"contract_number": self.contract_id.name,
|
||||||
"amount_whole":"",
|
"amount_whole": 0.0,
|
||||||
"amount_fractional":"",
|
"amount_fractional": 0.0,
|
||||||
|
|
||||||
"seller_company_name":"Test Company Name",
|
"seller_company_name": partner.name,
|
||||||
"seller_business_address":"",
|
"seller_business_address": partner.full_adress,
|
||||||
"seller_representer_name":"",
|
"seller_representer_name": partner.representative_id.name,
|
||||||
"seller_representer_name_parent": "",
|
"seller_representer_name_parent": "",
|
||||||
"seller_representer_name_initials": "",
|
"seller_representer_name_initials": "",
|
||||||
"seller_representer_function":"",
|
"seller_representer_function": partner.function,
|
||||||
"seller_inn":"",
|
"seller_inn": partner.inn,
|
||||||
"seller_kpp":"",
|
"seller_kpp": partner.kpp,
|
||||||
"seller_bic":"",
|
"seller_bic": partner.bank_account.bank_bic,
|
||||||
"seller_ogrn": "",
|
"seller_ogrn": "",
|
||||||
"seller_bank":"",
|
"seller_bank": partner.bank_account.bank_id.name, # Зачем нам bank_account, если есть bank_ids
|
||||||
"seller_bank_account":"",
|
"seller_bank_account": partner.bank_account.acc_number, # Расчётный счёт
|
||||||
"seller_phone":"",
|
"seller_phone": partner.phone,
|
||||||
|
|
||||||
"partner_company_name":"",
|
"partner_company_name": seller.name,
|
||||||
"partner_business_address":"",
|
"partner_business_address": seller.full_adress,
|
||||||
"partner_representer_name":"",
|
"partner_representer_name": seller.representative_id.name,
|
||||||
"partner_representer_name_parent": "",
|
"partner_representer_name_parent": "",
|
||||||
"partner_representer_name_initials": "",
|
"partner_representer_name_initials": "",
|
||||||
"partner_representer_function":"",
|
"partner_representer_function": seller.function,
|
||||||
"partner_inn":"",
|
"partner_inn": seller.inn,
|
||||||
"partner_kpp":"",
|
"partner_kpp": seller.kpp,
|
||||||
"partner_bic":"",
|
"partner_bic": seller.bank_account.bank_bic,
|
||||||
"partner_ogrn": "",
|
"partner_ogrn": "",
|
||||||
"partner_bank":"",
|
"partner_bank": seller.bank_account.bank_id.name,
|
||||||
"partner_bank_account":"",
|
"partner_bank_account": seller.bank_account.acc_number,
|
||||||
"partner_phone":"",
|
"partner_phone": seller.phone,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.order_id:
|
||||||
|
order = self.order_id
|
||||||
|
|
||||||
|
amount = modf(order.amount_total)
|
||||||
|
fractional, whole = amount
|
||||||
|
|
||||||
|
ctx.update({
|
||||||
|
"amount_whole": whole,
|
||||||
|
"amount_fractional": fractional,
|
||||||
|
})
|
||||||
|
|
||||||
action = ctx
|
action = ctx
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -518,7 +518,9 @@ class ContractWizard(models.TransientModel):
|
|||||||
])
|
])
|
||||||
|
|
||||||
contract_context_values = self.env.ref(
|
contract_context_values = self.env.ref(
|
||||||
'client_contracts.action_get_context').run()
|
'client_contracts.action_get_context').with_context({
|
||||||
|
"onchange_self": self,
|
||||||
|
}).run()
|
||||||
|
|
||||||
self.transient_field_ids = [ # one2many
|
self.transient_field_ids = [ # one2many
|
||||||
(
|
(
|
||||||
@ -531,6 +533,7 @@ class ContractWizard(models.TransientModel):
|
|||||||
) for field, value in contract_context_values.items()
|
) for field, value in contract_context_values.items()
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@api.multi
|
||||||
def get_docx_contract(self):
|
def get_docx_contract(self):
|
||||||
template = self.template.attachment_id
|
template = self.template.attachment_id
|
||||||
if not template:
|
if not template:
|
||||||
@ -542,7 +545,7 @@ class ContractWizard(models.TransientModel):
|
|||||||
transient_field.technical_name: transient_field.value
|
transient_field.technical_name: transient_field.value
|
||||||
for transient_field
|
for transient_field
|
||||||
in self.transient_field_ids
|
in self.transient_field_ids
|
||||||
if transient_field.technical_name
|
if transient_field.technical_name and transient_field.value
|
||||||
}
|
}
|
||||||
|
|
||||||
binary_data = get_document_from_values_stream(
|
binary_data = get_document_from_values_stream(
|
||||||
@ -570,6 +573,12 @@ class ContractWizard(models.TransientModel):
|
|||||||
|
|
||||||
return document_as_attachment
|
return document_as_attachment
|
||||||
|
|
||||||
|
def modf(self, arg):
|
||||||
|
"""Math.modf function for using in XML ir.action.server code
|
||||||
|
Uses in data/fields_default.xml
|
||||||
|
"""
|
||||||
|
return math.modf(arg)
|
||||||
|
|
||||||
|
|
||||||
class AnnexLine(models.TransientModel):
|
class AnnexLine(models.TransientModel):
|
||||||
_name = 'res.partner.contract.annex.line'
|
_name = 'res.partner.contract.annex.line'
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
</field>
|
</field>
|
||||||
<group string="Contract values">
|
<group string="Contract values">
|
||||||
<field name="transient_field_ids">
|
<field name="transient_field_ids">
|
||||||
<tree>
|
<tree editable="1">
|
||||||
<field name="technical_name"/>
|
<field name="technical_name"/>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="value"/>
|
<field name="value"/>
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="function"/>
|
<field name="function"/>
|
||||||
<field name="representative_id" domain="[('id', 'in', child_ids)]" attrs="{'invisible': [('company_type', '!=', 'company')]}"/>
|
<field name="representative_id" domain="[('id', 'in', child_ids)]" attrs="{'invisible': [('company_type', '!=', 'company')]}"/>
|
||||||
<!-- <field name="passport_series" attrs="{'invisible': [('company_type', '=', 'company')]}"/> -->
|
<field name="passport_series" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
|
||||||
<field name="passport_number" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
|
<field name="passport_number" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
|
||||||
<field name="bank_account"/>
|
<field name="bank_account"/>
|
||||||
<field name="signature" widget="image"/>
|
<field name="signature" widget="image"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user