Merge branch 'development' into 'master'

Development

See merge request tabulasense/client_contracts!8
This commit is contained in:
Иван Широких 2019-12-30 13:59:15 +05:00
commit 195760c150
16 changed files with 970 additions and 433 deletions

View File

@ -17,6 +17,7 @@
"security/ir.model.access.csv",
"views/res_partner_contract.xml",
"views/res_partner_contract_annex.xml",
"views/res_partner_template_print.xml",
"views/res_partner.xml",
"views/sale_order.xml",
"wizard/res_partner_contract_wizard.xml",

View File

@ -12,61 +12,109 @@
# Aliases
self = record
partner = self.partner_id # res.partner
partner_bank = partner.bank_ids[0] # res.partner.bank
seller = self.company_id
seller_bank = seller.bank_ids[0]
# ctx keys must be declared in this xml
partner = self.partner_id # res.partner
partner_bank = partner.bank_ids and partner.bank_ids[0] # res.partner.bank
seller = self.company_id
seller_bank = seller.bank_ids and seller.bank_ids[0]
# Functions
get_date = self.get_date
# Parse date
months = ["",
"января", "февраля", "марта", "апреля",
"мая", "июня", "июля", "августа",
"сентября", "октября", "ноября", "декабря",
]
date = get_date()
dd = date.day
mm = date.month
yyyy = date.year
yy = yyyy % 100
MM = months[mm]
# ctx keys must be decalared in this xml with id equal to "contract_field_{technical_name}"
ctx = {
"contract_number": self.name,
"date_conclusion": self.date_conclusion_fix or self.date_conclusion,
"seller_company_name": seller.name,
"seller_business_address": seller.full_address,
"dd": dd,
"mm": mm,
"MM": MM,
"yy": yy,
"yyyy": yyyy,
"seller_name": seller.name,
"seller_company_form": _(dict(seller._fields['company_form'].selection).get(seller.company_form)),
"seller_representer_name": seller.representative_id.name,
"seller_representer_name_parent": seller.representative_id.name_parent_case,
"seller_representer_name_initials": seller.representative_id.name_initials_case,
"seller_representer_function": seller.representative_id.function,
"seller_representer_function_parent_case": seller.representative_id.function_parent_case,
"seller_inn": seller.inn,
"seller_kpp": seller.kpp,
"seller_bic": False,
"seller_representer_name_parent": seller.representative_id.name_genitive,
"seller_representer_name_initials": seller.representative_id.name_initials,
"seller_representer_document_parent": seller.representative_document,
"seller_inn": seller.vat,
"seller_kpp": seller.iec,
"seller_ogrn": seller.psrn,
"seller_bank": False,
"seller_bank_account": False,
"seller_phone": partner.phone,
"seller_business_address": seller.full_address,
"seller_phone": seller.phone,
"seller_email": seller.email,
"partner_company_name": partner.name,
"partner_name": partner.name,
"partner_inn": partner.vat,
"partner_business_address": partner.full_address,
"partner_representer_name": partner.representative_id.name,
"partner_representer_name_parent": partner.representative_id.name_parent_case,
"partner_representer_name_initials": partner.representative_id.name_initials_case,
"partner_representer_function": partner.representative_id.function,
"partner_representer_function_parent_case": partner.representative_id.function_parent_case,
"partner_inn": partner.inn,
"partner_kpp": partner.kpp,
"partner_bic": False,
"partner_ogrn": partner.psrn,
"partner_bank": False,
"partner_bank_account": False,
"partner_phone": partner.phone,
"partner_email": partner.email,
}
if partner_bank:
ctx.update({
"partner_rs": partner_bank.acc_number,
"partner_ks": partner_bank.bank_id.corr_account,
"partner_bic": partner_bank.bank_id.bic,
"partner_bank": partner_bank.bank_id.name,
"partner_bank_account": partner_bank.acc_number,
})
if seller_bank:
ctx.update({
"seller_rs": seller_bank.acc_number,
"seller_ks": seller_bank.bank_id.corr_account,
"seller_bic": seller_bank.bank_id.bic,
"seller_bank": seller_bank.bank_id.name,
"seller_bank_account": seller_bank.acc_number,
})
# Person
if not partner.is_company:
ctx.update({
"partner_representer_name_initials": partner.name_initials,
"partner_representer_passport_number": partner.passport_number,
"partner_representer_passport_date": partner.passport_date,
"partner_representer_passport_department": partner.passport_department,
})
else:
# Company
ctx.update({
"partner_company_form": _(dict(partner._fields['company_form'].selection).get(partner.company_form)),
"partner_representer_name": partner.representative_id.name,
"partner_representer_name_parent": partner.representative_id.name_genitive,
"partner_representer_name_initials": partner.representative_id.name_initials,
"partner_representer_document_parent": partner.representative_document,
})
if partner.company_form == 'sp':
# Sole Proprietor
ctx.update({
"partner_ip_number": partner.sp_register_number,
"partner_ip_date": partner.sp_register_date,
"partner_ogrnip": partner.psrn_sp,
"partner_representer_passport_number": partner.representative_id.passport_number,
"partner_representer_passport_date": partner.representative_id.passport_date,
"partner_representer_passport_department": partner.representative_id.passport_department,
})
if partner.company_form == 'plc':
# Private Limited Company
ctx.update({
"partner_kpp": partner.iec,
"partner_ogrn": partner.psrn,
})
action = ctx
</field>
</record>
@ -82,46 +130,106 @@ action = ctx
# Aliases
self = record
order = self.order_id
seller = self.contract_id.company_id
partner = self.contract_id.partner_id
# Functions
modf = self.modf
seller_bank = seller.bank_ids and seller.bank_ids[0]
partner_bank = partner.bank_ids and partner.bank_ids[0]
# ctx keys must be decalared in this xml
# Functions
get_date = self.contract_id.get_date
# Parse date
months = ["",
"января", "февраля", "марта", "апреля",
"мая", "июня", "июля", "августа",
"сентября", "октября", "ноября", "декабря",
]
date = get_date()
dd = date.day
mm = date.month
yyyy = date.year
yy = yyyy % 100
MM = months[mm]
# ctx keys must be decalared in this xml with id equal to "contract_field_{technical_name}"
ctx = {
"contract_number": self.contract_id.name,
"amount_whole": 0,
"amount_fractional": 0,
"dd": dd,
"mm": mm,
"MM": MM,
"yy": yy,
"yyyy": yyyy,
"payment_term": False,
"delivery_time": False,
"seller_company_name": seller.name,
"seller_name": seller.name,
"seller_company_form": seller.read(["company_form"])[0]['company_form'],
"seller_representer_name": seller.representative_id.name,
"seller_representer_function": seller.representative_id.function,
"seller_representer_name_parent": seller.representative_id.name_genitive,
"seller_representer_name_initials": seller.representative_id.name_initials,
"partner_company_name": partner.name,
"seller_inn": seller.vat,
"seller_kpp": seller.iec,
"seller_ogrn": seller.psrn,
"seller_business_address": seller.full_address,
"seller_phone": seller.phone,
"seller_email": seller.email,
"partner_name": partner.name,
"partner_representer_name": partner.representative_id.name,
"partner_representer_function": partner.representative_id.function,
"partner_representer_name_initials": partner.representative_id.name_initials,
"partner_inn": partner.vat,
"partner_business_address": partner.full_address,
"partner_phone": partner.phone,
"partner_email": partner.email,
}
if order:
amount = modf(order.amount_total)
fractional, whole = amount
payment_term = order.payment_term_id.name
payment_term = payment_term and payment_term.lower()
delivery_time = order.delivery_time
if partner_bank:
ctx.update({
"amount_whole": whole,
"amount_fractional": fractional,
"partner_rs": partner_bank.acc_number,
"partner_ks": partner_bank.bank_id.corr_account,
"partner_bic": partner_bank.bank_id.bic,
})
if seller_bank:
ctx.update({
"seller_rs": seller_bank.acc_number,
"seller_ks": seller_bank.bank_id.corr_account,
"seller_bic": seller_bank.bank_id.bic,
})
"payment_term": payment_term,
"delivery_time": delivery_time,
# Person
if not partner.is_company:
ctx.update({
"partner_representer_name_initials": partner.name_initials,
"partner_representer_passport_number": partner.passport_number,
"partner_representer_passport_date": partner.passport_date,
"partner_representer_passport_department": partner.passport_department,
})
else:
# Company
ctx.update({
"partner_company_form": partner.read(["company_form"])[0]['company_form'],
"partner_representer_name_parent": partner.representative_id.name_genitive,
"partner_representer_document_parent": partner.representative_document,
})
if partner.company_form == 'sp':
# Sole Proprietor
ctx.update({
"partner_ip_number": partner.sp_register_number,
"partner_ip_date": partner.sp_register_date,
"partner_ogrnip": partner.psrn_sp,
"partner_representer_passport_number": partner.representative_id.passport_number,
"partner_representer_passport_date": partner.representative_id.passport_date,
"partner_representer_passport_department": partner.representative_id.passport_department,
})
if partner.company_form == 'plc':
# Private Limited Company
ctx.update({
"partner_kpp": partner.iec,
"partner_ogrn": partner.psrn,
})
action = ctx
@ -135,12 +243,42 @@ action = ctx
<field name="name">Contract Number</field>
<field name="technical_name">contract_number</field>
<field name="description"></field>
<field name="sequence">1</field>
</record>
<record id="contract_field_contract_conclusion_date" model="res.partner.contract.field">
<field name="name">Conclusion Date</field>
<field name="technical_name">date_conclusion</field>
<field name="description"></field>
<record id="contract_field_dd" model="res.partner.contract.field">
<field name="name">Day</field>
<field name="technical_name">dd</field>
<field name="description">Number</field>
<field name="sequence">8</field>
</record>
<record id="contract_field_mm" model="res.partner.contract.field">
<field name="name">Month</field>
<field name="technical_name">mm</field>
<field name="description">Number</field>
<field name="sequence">16</field>
</record>
<record id="contract_field_MM" model="res.partner.contract.field">
<field name="name">Month</field>
<field name="technical_name">MM</field>
<field name="description">Word</field>
<field name="sequence">24</field>
</record>
<record id="contract_field_yy" model="res.partner.contract.field">
<field name="name">Year</field>
<field name="technical_name">yy</field>
<field name="description">Short</field>
<field name="sequence">40</field>
</record>
<record id="contract_field_yyyy" model="res.partner.contract.field">
<field name="name">Year</field>
<field name="technical_name">yyyy</field>
<field name="description">Full</field>
<field name="sequence">32</field>
</record>
<record id="contract_field_amount_whole" model="res.partner.contract.field">
@ -170,176 +308,357 @@ action = ctx
<!-- Seller -->
<record id="contract_field_seller_company_name" model="res.partner.contract.field">
<field name="name">Seller Company Name</field>
<field name="technical_name">seller_company_name</field>
<field name="description"></field>
<record id="contract_field_seller_name" model="res.partner.contract.field">
<field name="name">Name</field>
<field name="technical_name">seller_name</field>
<field name="description">Seller</field>
<field name="sequence">48</field>
</record>
<record id="contract_field_seller_business_address" model="res.partner.contract.field">
<field name="name">Seller Business Address</field>
<field name="technical_name">seller_business_address</field>
<field name="description"></field>
<record id="contract_field_seller_company_form" model="res.partner.contract.field">
<field name="name">Institutional-Legal Form</field>
<field name="technical_name">seller_company_form</field>
<field name="description">Seller</field>
<field name="sequence">56</field>
</record>
<record id="contract_field_seller_ip_number" model="res.partner.contract.field">
<field name="name">IP Number</field>
<field name="technical_name">seller_ip_number</field>
<field name="description">Seller IP Certificate</field>
<field name="sequence">64</field>
</record>
<record id="contract_field_seller_ip_date" model="res.partner.contract.field">
<field name="name">IP Issued on</field>
<field name="technical_name">seller_ip_date</field>
<field name="description">Seller IP Certificate</field>
<field name="sequence">72</field>
</record>
<record id="contract_field_seller_representer_name" model="res.partner.contract.field">
<field name="name">Seller Representer Name</field>
<field name="name">Name</field>
<field name="technical_name">seller_representer_name</field>
<field name="description"></field>
<field name="description">Seller Representative</field>
<field name="sequence">80</field>
</record>
<record id="contract_field_seller_representer_name_parent" model="res.partner.contract.field">
<field name="name">Seller Representer Parent Name</field>
<field name="name">Name Genitive</field>
<field name="technical_name">seller_representer_name_parent</field>
<field name="description"></field>
<field name="description">Seller Representative</field>
<field name="sequence">88</field>
</record>
<record id="contract_field_seller_representer_name_initials" model="res.partner.contract.field">
<field name="name">Seller Representer Initials Name</field>
<field name="name">Name Initials</field>
<field name="technical_name">seller_representer_name_initials</field>
<field name="description"></field>
<field name="description"></field>
<field name="description">Seller Representative</field>
<field name="sequence">96</field>
</record>
<record id="contract_field_seller_representer_function" model="res.partner.contract.field">
<field name="name">Seller Representer Function</field>
<field name="name">Function</field>
<field name="technical_name">seller_representer_function</field>
<field name="description"></field>
<field name="description">Seller Representative</field>
<field name="sequence">104</field>
</record>
<record id="contract_field_seller_representer_function_parent_case" model="res.partner.contract.field">
<field name="name">Seller Representer Function Parent Case</field>
<field name="technical_name">seller_representer_function_parent_case</field>
<field name="description"></field>
<record id="contract_field_seller_representer_function_parent" model="res.partner.contract.field">
<field name="name">Function Genitive</field>
<field name="technical_name">seller_representer_function_parent</field>
<field name="description">Seller Representative</field>
<field name="sequence">112</field>
</record>
<record id="contract_field_seller_representer_document_parent" model="res.partner.contract.field">
<field name="name">Document Genitive</field>
<field name="technical_name">seller_representer_document_parent</field>
<field name="description">Seller Representative</field>
<field name="sequence">120</field>
</record>
<record id="contract_field_seller_representer_passport_number" model="res.partner.contract.field">
<field name="name">Passport №</field>
<field name="technical_name">seller_representer_passport_number</field>
<field name="description">Seller Representative</field>
<field name="sequence">128</field>
</record>
<record id="contract_field_seller_representer_passport_date" model="res.partner.contract.field">
<field name="name">Passport Issued on</field>
<field name="technical_name">seller_representer_passport_date</field>
<field name="description">Seller Representative</field>
<field name="sequence">136</field>
</record>
<record id="contract_field_seller_representer_passport_department" model="res.partner.contract.field">
<field name="name">Passport Issued by</field>
<field name="technical_name">seller_representer_passport_department</field>
<field name="description">Seller Representative</field>
<field name="sequence">144</field>
</record>
<record id="contract_field_seller_inn" model="res.partner.contract.field">
<field name="name">Seller INN</field>
<field name="name">INN</field>
<field name="technical_name">seller_inn</field>
<field name="description"></field>
<field name="description">Seller</field>
<field name="sequence">152</field>
</record>
<record id="contract_field_seller_ogrn" model="res.partner.contract.field">
<field name="name">PSRN</field>
<field name="technical_name">seller_ogrn</field>
<field name="description">Seller</field>
<field name="sequence">160</field>
</record>
<record id="contract_field_seller_ogrnip" model="res.partner.contract.field">
<field name="name">PSRN-IP</field>
<field name="technical_name">seller_ogrnip</field>
<field name="description">Seller</field>
<field name="sequence">168</field>
</record>
<record id="contract_field_seller_kpp" model="res.partner.contract.field">
<field name="name">Seller KPP</field>
<field name="name">KPP</field>
<field name="technical_name">seller_kpp</field>
<field name="description"></field>
<field name="description">Seller</field>
<field name="sequence">176</field>
</record>
<record id="contract_field_seller_bic" model="res.partner.contract.field">
<field name="name">Seller BIC</field>
<field name="technical_name">seller_bic</field>
<field name="description"></field>
</record>
<record id="contract_field_seller_psrn" model="res.partner.contract.field">
<field name="name">Seller PSRN</field>
<field name="technical_name">seller_ogrn</field>
<field name="description"></field>
<record id="contract_field_seller_okpo" model="res.partner.contract.field">
<field name="name">OKPO</field>
<field name="technical_name">seller_okpo</field>
<field name="description">Seller</field>
<field name="sequence">184</field>
</record>
<record id="contract_field_seller_bank" model="res.partner.contract.field">
<field name="name">Seller Bank Name</field>
<field name="name">Bank Name</field>
<field name="technical_name">seller_bank</field>
<field name="description"></field>
<field name="description">Seller</field>
<field name="sequence">192</field>
</record>
<record id="contract_field_seller_bank_account" model="res.partner.contract.field">
<field name="name">Seller Bank Account</field>
<field name="technical_name">seller_bank_account</field>
<field name="description"></field>
<record id="contract_field_seller_rs" model="res.partner.contract.field">
<field name="name">Bank Payment Account</field>
<field name="technical_name">seller_rs</field>
<field name="description">Seller</field>
<field name="sequence">200</field>
</record>
<record id="contract_field_seller_ks" model="res.partner.contract.field">
<field name="name">Bank Corresponding Account</field>
<field name="technical_name">seller_ks</field>
<field name="description">Seller</field>
<field name="sequence">208</field>
</record>
<record id="contract_field_seller_bic" model="res.partner.contract.field">
<field name="name">BIC</field>
<field name="technical_name">seller_bic</field>
<field name="description">Seller</field>
<field name="sequence">216</field>
</record>
<record id="contract_field_seller_business_address" model="res.partner.contract.field">
<field name="name">Business Address</field>
<field name="technical_name">seller_business_address</field>
<field name="description">Seller</field>
<field name="sequence">224</field>
</record>
<record id="contract_field_seller_phone" model="res.partner.contract.field">
<field name="name">Seller Phone</field>
<field name="name">Phone</field>
<field name="technical_name">seller_phone</field>
<field name="description"></field>
<field name="description">Seller</field>
<field name="sequence">232</field>
</record>
<record id="contract_field_seller_email" model="res.partner.contract.field">
<field name="name">Email</field>
<field name="technical_name">seller_email</field>
<field name="description">Seller</field>
<field name="sequence">240</field>
</record>
<!-- Partner -->
<record id="contract_field_partner_company_name" model="res.partner.contract.field">
<field name="name">Partner Company Name</field>
<field name="technical_name">partner_company_name</field>
<field name="description"></field>
<record id="contract_field_partner_name" model="res.partner.contract.field">
<field name="name">Name</field>
<field name="technical_name">partner_name</field>
<field name="description">Partner</field>
<field name="sequence">248</field>
</record>
<record id="contract_field_partner_business_address" model="res.partner.contract.field">
<field name="name">Partner Business Address</field>
<field name="technical_name">partner_business_address</field>
<field name="description"></field>
<record id="contract_field_partner_company_form" model="res.partner.contract.field">
<field name="name">Institutional-Legal Form</field>
<field name="technical_name">partner_company_form</field>
<field name="description">Partner</field>
<field name="sequence">256</field>
</record>
<record id="contract_field_partner_ip_number" model="res.partner.contract.field">
<field name="name">IP Number</field>
<field name="technical_name">partner_ip_number</field>
<field name="description">Partner IP Certificate</field>
<field name="sequence">264</field>
</record>
<record id="contract_field_partner_ip_date" model="res.partner.contract.field">
<field name="name">IP Issued on</field>
<field name="technical_name">partner_ip_date</field>
<field name="description">Partner IP Certificate</field>
<field name="sequence">272</field>
</record>
<record id="contract_field_partner_representer_name" model="res.partner.contract.field">
<field name="name">Partner Representer Name</field>
<field name="name">Name</field>
<field name="technical_name">partner_representer_name</field>
<field name="description"></field>
<field name="description">Partner Representative</field>
<field name="sequence">280</field>
</record>
<record id="contract_field_partner_representer_name_parent" model="res.partner.contract.field">
<field name="name">Partner Representer Parent Name</field>
<field name="name">Name Genitive</field>
<field name="technical_name">partner_representer_name_parent</field>
<field name="description"></field>
<field name="description">Partner Representative</field>
<field name="sequence">288</field>
</record>
<record id="contract_field_partner_representer_name_initials" model="res.partner.contract.field">
<field name="name">Partner Representer Initials Name</field>
<field name="name">Name Initials</field>
<field name="technical_name">partner_representer_name_initials</field>
<field name="description"></field>
<field name="description">Partner Representative</field>
<field name="sequence">296</field>
</record>
<record id="contract_field_partner_representer_function" model="res.partner.contract.field">
<field name="name">Partner Representer Function</field>
<field name="name">Function</field>
<field name="technical_name">partner_representer_function</field>
<field name="description"></field>
<field name="description">Partner Representative</field>
<field name="sequence">304</field>
</record>
<record id="contract_field_partner_representer_function_parent_case" model="res.partner.contract.field">
<field name="name">Partner Representer Function Parent Case</field>
<field name="technical_name">partner_representer_function_parent_case</field>
<field name="description"></field>
<record id="contract_field_partner_representer_function_parent" model="res.partner.contract.field">
<field name="name">Function Genitive</field>
<field name="technical_name">partner_representer_function_parent</field>
<field name="description">Partner Representative</field>
<field name="sequence">312</field>
</record>
<record id="contract_field_partner_representer_document_parent" model="res.partner.contract.field">
<field name="name">Document Genitive</field>
<field name="technical_name">partner_representer_document_parent</field>
<field name="description">Partner Representative</field>
<field name="sequence">320</field>
</record>
<record id="contract_field_partner_representer_passport_number" model="res.partner.contract.field">
<field name="name">Passport №</field>
<field name="technical_name">partner_representer_passport_number</field>
<field name="description">Partner Representative</field>
<field name="sequence">328</field>
</record>
<record id="contract_field_partner_representer_passport_date" model="res.partner.contract.field">
<field name="name">Passport Issued on</field>
<field name="technical_name">partner_representer_passport_date</field>
<field name="description">Partner Representative</field>
<field name="sequence">336</field>
</record>
<record id="contract_field_partner_representer_passport_department" model="res.partner.contract.field">
<field name="name">Passport Issued by</field>
<field name="technical_name">partner_representer_passport_department</field>
<field name="description">Partner Representative</field>
<field name="sequence">344</field>
</record>
<record id="contract_field_partner_inn" model="res.partner.contract.field">
<field name="name">Partner INN</field>
<field name="name">INN</field>
<field name="technical_name">partner_inn</field>
<field name="description"></field>
<field name="description">Partner</field>
<field name="sequence">352</field>
</record>
<record id="contract_field_partner_ogrn" model="res.partner.contract.field">
<field name="name">PSRN</field>
<field name="technical_name">partner_ogrn</field>
<field name="description">Partner</field>
<field name="sequence">360</field>
</record>
<record id="contract_field_partner_ogrnip" model="res.partner.contract.field">
<field name="name">PSRN-IP</field>
<field name="technical_name">partner_ogrnip</field>
<field name="description">Partner</field>
<field name="sequence">368</field>
</record>
<record id="contract_field_partner_kpp" model="res.partner.contract.field">
<field name="name">Partner KPP</field>
<field name="name">KPP</field>
<field name="technical_name">partner_kpp</field>
<field name="description"></field>
<field name="description">Partner</field>
<field name="sequence">376</field>
</record>
<record id="contract_field_partner_bic" model="res.partner.contract.field">
<field name="name">Partner BIC</field>
<field name="technical_name">partner_bic</field>
<field name="description"></field>
</record>
<record id="contract_field_partner_psrn" model="res.partner.contract.field">
<field name="name">Partner PSRN</field>
<field name="technical_name">partner_ogrn</field>
<field name="description"></field>
<record id="contract_field_partner_okpo" model="res.partner.contract.field">
<field name="name">OKPO</field>
<field name="technical_name">partner_okpo</field>
<field name="description">Partner</field>
<field name="sequence">384</field>
</record>
<record id="contract_field_partner_bank" model="res.partner.contract.field">
<field name="name">Partner Bank Name</field>
<field name="name">Bank</field>
<field name="technical_name">partner_bank</field>
<field name="description"></field>
<field name="description">Partner</field>
<field name="sequence">392</field>
</record>
<record id="contract_field_partner_bank_account" model="res.partner.contract.field">
<field name="name">Partner Bank Account</field>
<field name="technical_name">partner_bank_account</field>
<field name="description"></field>
<record id="contract_field_partner_rs" model="res.partner.contract.field">
<field name="name">Bank Payment Account</field>
<field name="technical_name">partner_rs</field>
<field name="description">Partner</field>
<field name="sequence">400</field>
</record>
<record id="contract_field_partner_ks" model="res.partner.contract.field">
<field name="name">Bank Corresponding Account</field>
<field name="technical_name">partner_ks</field>
<field name="description">Partner</field>
<field name="sequence">408</field>
</record>
<record id="contract_field_partner_bic" model="res.partner.contract.field">
<field name="name">BIC</field>
<field name="technical_name">partner_bic</field>
<field name="description">Partner</field>
<field name="sequence">416</field>
</record>
<record id="contract_field_partner_business_address" model="res.partner.contract.field">
<field name="name">Business Address</field>
<field name="technical_name">partner_business_address</field>
<field name="description">Partner</field>
<field name="sequence">424</field>
</record>
<record id="contract_field_partner_phone" model="res.partner.contract.field">
<field name="name">Partner Phone</field>
<field name="name">Phone</field>
<field name="technical_name">partner_phone</field>
<field name="description"></field>
<field name="description">Partner</field>
<field name="sequence">432</field>
</record>
<record id="contract_field_partner_email" model="res.partner.contract.field">
<field name="name">Email</field>
<field name="technical_name">partner_email</field>
<field name="description">Partner</field>
<field name="sequence">440</field>
</record>
</data>

View File

@ -6,10 +6,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0-20191106\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-12-25 11:27+0000\n"
"PO-Revision-Date: 2019-12-25 11:27+0000\n"
"Last-Translator: Stepan Savelyev\n"
"Language-Team: RYDLAB\n"
"POT-Creation-Date: 2019-12-28 10:32+0000\n"
"PO-Revision-Date: 2019-12-28 10:32+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@ -47,6 +47,11 @@ msgstr "Оплата в 3 этапа"
msgid "Actual Address"
msgstr "Актуальный адрес"
#. module: client_contracts
#: model:ir.model.fields,help:client_contracts.field_res_users_okpo
msgid "All-Russian Classifier of Enterprises and Organizations"
msgstr "Общероссийский классификатор предприятий и организаций"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_amount_fractional
msgid "Amount Fractional Part"
@ -58,7 +63,7 @@ msgid "Amount Whole Part"
msgstr "Целая часть суммы"
#. module: client_contracts
#: code:addons/client_contracts/wizard/res_partner_contract_wizard.py:145
#: code:addons/client_contracts/wizard/res_partner_contract_wizard.py:139
#: model:ir.ui.menu,name:client_contracts.res_partner_menu_contracts_templates_annex
#, python-format
msgid "Annex"
@ -85,9 +90,45 @@ msgid "Annexes to this contract"
msgstr "Приложения к договору"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_contract_info_inherit_view
msgid "Banks"
msgstr "Банки"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_name
msgid "Attachment Name"
msgstr "Название вложения"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_bic
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_bic
msgid "BIC"
msgstr "БИК"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_bank
msgid "Bank"
msgstr "Банк"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_ks
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_ks
msgid "Bank Corresponding Account"
msgstr "Корр. счёт"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_bank
msgid "Bank Name"
msgstr "Наименование банка"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_rs
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_rs
msgid "Bank Payment Account"
msgstr "Расчётный счёт"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_business_address
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_business_address
msgid "Business Address"
msgstr "Юридический адрес"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_signature
@ -110,9 +151,15 @@ msgstr "Закрыт"
msgid "Company"
msgstr "Компания"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_company_type
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_company_type
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_company_type
msgid "Company Type"
msgstr "Тип компании"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_date_conclusion
#: model:res.partner.contract.field,name:client_contracts.contract_field_contract_conclusion_date
msgid "Conclusion Date"
msgstr "Дата подписания"
@ -122,7 +169,7 @@ msgid "Contact"
msgstr "Контакт"
#. module: client_contracts
#: code:addons/client_contracts/wizard/res_partner_contract_wizard.py:142
#: code:addons/client_contracts/wizard/res_partner_contract_wizard.py:136
#: model:ir.model,name:client_contracts.model_res_partner_contract
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_contract_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient__contract_wizard_id
@ -211,23 +258,25 @@ msgstr "Создать документ"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_create_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_create_uid
msgid "Created by"
msgstr "Создано"
#. module: client_contracts
#: code:addons/client_contracts/models/res_partner_contract.py:40
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_create_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_create_date
#, python-format
msgid "Created on"
msgstr "Создан"
@ -239,13 +288,12 @@ msgstr "Дата подписания"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_date_conclusion
msgid "Date of system conclusion"
msgstr "Дата подписания системой"
msgstr "Дата подписания в системе"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_is_default
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_is_default
msgid "Default Template"
msgstr "Default Template"
#: model:res.partner.contract.field,name:client_contracts.contract_field_dd
msgid "Day"
msgstr "День"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_delivery_time
@ -268,9 +316,22 @@ msgstr "Описание"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_display_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_display_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_display_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_display_name
msgid "Display Name"
msgstr "Отображаемое Имя"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_document_parent
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_document_parent
msgid "Document Genitive"
msgstr "Документ (род.падеж)"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_email
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_email
msgid "Email"
msgstr "Эл. почта"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_contract_field_id
msgid "Field"
@ -286,17 +347,30 @@ msgstr "Поле для ручного редактирования, когда
msgid "Fields"
msgstr "Поля"
#. module: client_contracts
#: model:res.partner.contract.field,description:client_contracts.contract_field_yyyy
msgid "Full"
msgstr "Полный"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_full_address
#: model:ir.model.fields,field_description:client_contracts.field_res_users_full_address
msgid "Full Address"
msgstr "Полный адрес"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_function
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_function
msgid "Function"
msgstr "Должность"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_function_parent_case
#: model:ir.model.fields,field_description:client_contracts.field_res_users_function_parent_case
msgid "Function Parent Case"
msgstr "Должность в родительном падеже"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_function_parent
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_function_parent
msgid "Function Genitive"
msgstr "Должность (род.падеж)"
#. module: client_contracts
#: model:ir.actions.server,name:client_contracts.action_get_annex_context
@ -308,24 +382,62 @@ msgstr "Generate Context for Contract"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_id
msgid "ID"
msgstr "Номер"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_inn
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_inn
msgid "INN"
msgstr "ИНН"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_ip_date
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_ip_date
msgid "IP Issued on"
msgstr "ИП Выдан"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_ip_number
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_ip_number
msgid "IP Number"
msgstr "ИП Серия и номер"
#. module: client_contracts
#: selection:res.partner.template.print,company_type:0
#: selection:res.partner.template.print.annex,company_type:0
#: selection:res.partner.template.print.contract,company_type:0
msgid "Individual"
msgstr "Физическое лицо"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_annex_view
msgid "Info"
msgstr "Информация"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_company_form
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_company_form
msgid "Institutional-Legal Form"
msgstr "Огранизационно-правовая форма"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_kpp
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_kpp
msgid "KPP"
msgstr "КПП"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex___last_update
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract___last_update
msgid "Last Modified on"
@ -336,9 +448,9 @@ msgstr "Последнее изменение"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_write_uid
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_write_uid
msgid "Last Updated by"
msgstr "Последний раз обновлено"
@ -347,9 +459,9 @@ msgstr "Последний раз обновлено"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_write_date
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_write_date
msgid "Last Updated on"
msgstr "Последний раз обновлено"
@ -358,24 +470,38 @@ msgstr "Последний раз обновлено"
msgid "Leave empty for compute"
msgstr "Оставить пустым для автозаполнения..."
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_MM
#: model:res.partner.contract.field,name:client_contracts.contract_field_mm
msgid "Month"
msgstr "Месяц"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_name
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_transient_name
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_name
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_name
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name
msgid "Name"
msgstr "Название"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_name_initials_case
#: model:ir.model.fields,field_description:client_contracts.field_res_users_name_initials_case
msgid "Name Initials Case"
msgstr "Фамилия с инициалами"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_name_parent_case
#: model:ir.model.fields,field_description:client_contracts.field_res_users_name_parent_case
msgid "Name Parent Case"
msgstr "Полное имя в родительном падеже"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name_parent
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name_parent
msgid "Name Genitive"
msgstr "Имя (род.падеж)"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_name_initials_case
#: model:ir.model.fields,field_description:client_contracts.field_res_users_name_initials_case
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name_initials
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name_initials
msgid "Name Initials"
msgstr "Фамилия с инициалами"
#. module: client_contracts
#: model:ir.model.fields,help:client_contracts.field_res_partner_contract_field_technical_name
@ -388,87 +514,99 @@ msgstr "Имя поля, используемое в шаблоне"
msgid "New"
msgstr "Новый"
#. module: client_contracts
#: model:res.partner.contract.field,description:client_contracts.contract_field_dd
#: model:res.partner.contract.field,description:client_contracts.contract_field_mm
msgid "Number"
msgstr "Число"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_users_okpo
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_okpo
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_okpo
msgid "OKPO"
msgstr "ОКПО"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_order_id
msgid "Order"
msgstr "Заказ"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_ogrn
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_ogrn
msgid "PSRN"
msgstr "ОГРН"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_ogrnip
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_ogrnip
msgid "PSRN-IP"
msgstr "ОГРНИП"
#. module: client_contracts
#: model:ir.model.fields,help:client_contracts.field_res_partner_representative_document
#: model:ir.model.fields,help:client_contracts.field_res_users_representative_document
msgid "Parent Case"
msgstr "В родительном падеже"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_partner_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_wizard_partner_id
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_contract_view
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_bank
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_bic
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_business_address
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_company_form
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_email
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_inn
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_kpp
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_ks
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_name
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_ogrn
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_ogrnip
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_okpo
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_phone
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_rs
msgid "Partner"
msgstr "Партнёр"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_bic
msgid "Partner BIC"
msgstr "БИК Партнёра"
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_ip_date
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_ip_number
msgid "Partner IP Certificate"
msgstr "Партнёр; Сертификат о регистрации ИП"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_bank_account
msgid "Partner Bank Account"
msgstr "Расчётный счёт Партнёра"
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_document_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_function
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_function_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_name
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_name_initials
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_name_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_passport_date
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_passport_department
#: model:res.partner.contract.field,description:client_contracts.contract_field_partner_representer_passport_number
msgid "Partner Representative"
msgstr "Представитель Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_bank
msgid "Partner Bank Name"
msgstr "Наименование банка Партнёра"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_passport_department
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_passport_department
msgid "Passport Issued by"
msgstr "Паспорт выдан"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_business_address
msgid "Partner Business Address"
msgstr "Юридический адрёс Партнёра"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_passport_date
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_passport_date
msgid "Passport Issued on"
msgstr "Паспорт выдан"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_company_name
msgid "Partner Company Name"
msgstr "Наименование компании Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_inn
msgid "Partner INN"
msgstr "ИНН Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_kpp
msgid "Partner KPP"
msgstr "КПП Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_psrn
msgid "Partner PSRN"
msgstr "ОГРН Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_phone
msgid "Partner Phone"
msgstr "Телефон Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_function
msgid "Partner Representer Function"
msgstr "Должность представителя Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_function_parent_case
msgid "Partner Representer Function Parent Case"
msgstr "Должность представителя Партнёра в родительном падеже"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name_initials
msgid "Partner Representer Initials Name"
msgstr "Фамилия с инициалами представителя Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name
msgid "Partner Representer Name"
msgstr "Полное имя представителя Партнёра"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_name_parent
msgid "Partner Representer Parent Name"
msgstr "Полное имя в родительном падеже Партнёра"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_representer_passport_number
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_passport_number
msgid "Passport №"
msgstr "Паспорт №"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_payment_term
@ -507,8 +645,14 @@ msgid "Person, who represents company"
msgstr "Представитель компании"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_prepaid_expence
msgid "Prepaid Expence"
#: model:res.partner.contract.field,name:client_contracts.contract_field_partner_phone
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_phone
msgid "Phone"
msgstr "Телефон"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_annex_prepaid_expense
msgid "Prepaid Expense"
msgstr "Аванс"
#. module: client_contracts
@ -518,17 +662,22 @@ msgid "Print"
msgstr "Печать"
#. module: client_contracts
#: code:addons/client_contracts/models/res_partner_contract.py:91
#: code:addons/client_contracts/models/res_partner_contract.py:95
#, python-format
msgid "Print Form of Contract"
msgstr "Форма печати договора"
#. module: client_contracts
#: code:addons/client_contracts/models/res_partner_contract_annex.py:61
#: code:addons/client_contracts/models/res_partner_contract_annex.py:63
#, python-format
msgid "Print Form of Contract Annex"
msgstr "Форма печати приложения к договору"
#. module: client_contracts
#: model:ir.model,name:client_contracts.model_res_partner_template_print
msgid "Print Template"
msgstr "Шаблон печати"
#. module: client_contracts
#: model:ir.model,name:client_contracts.model_res_partner_template_print_contract
msgid "Print Template Contract"
@ -549,6 +698,13 @@ msgstr "Шаблон-Вложение договора"
msgid "Print Template of Contract Annex"
msgstr "Шаблон-Вложение приложения к договору"
#. module: client_contracts
#: selection:res.partner.template.print,company_type:0
#: selection:res.partner.template.print.annex,company_type:0
#: selection:res.partner.template.print.contract,company_type:0
msgid "Private Limited Company"
msgstr "Общество с ограниченной ответственностью"
#. module: client_contracts
#: model:ir.model,name:client_contracts.model_sale_order
msgid "Quotation"
@ -565,6 +721,12 @@ msgstr "Возобновлено"
msgid "Representative"
msgstr "Представитель"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_representative_document
#: model:ir.model.fields,field_description:client_contracts.field_res_users_representative_document
msgid "Representative acts on the basis of"
msgstr "Представитель действует на основании"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_contract_view
msgid "Requisites"
@ -577,78 +739,51 @@ msgstr "Поиск договора"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_contract_view
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_bank
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_bic
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_business_address
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_company_form
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_email
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_inn
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_kpp
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_ks
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_name
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_ogrn
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_ogrnip
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_okpo
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_phone
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_rs
msgid "Seller"
msgstr "Продавец"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_bic
msgid "Seller BIC"
msgstr "БИК Продавца"
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_ip_date
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_ip_number
msgid "Seller IP Certificate"
msgstr "Продавец; Сертификат о регистрации ИП"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_bank_account
msgid "Seller Bank Account"
msgstr "Расчётный счёт Продавца"
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_document_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_function
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_function_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_name
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_name_initials
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_name_parent
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_passport_date
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_passport_department
#: model:res.partner.contract.field,description:client_contracts.contract_field_seller_representer_passport_number
msgid "Seller Representative"
msgstr "Представитель Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_bank
msgid "Seller Bank Name"
msgstr "Наименование банка Продавца"
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_field_sequence
msgid "Sequence"
msgstr "Нумерация"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_business_address
msgid "Seller Business Address"
msgstr "Юридический адрес Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_company_name
msgid "Seller Company Name"
msgstr "Наименование компании Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_inn
msgid "Seller INN"
msgstr "ИНН Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_kpp
msgid "Seller KPP"
msgstr "КПП Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_psrn
msgid "Seller PSRN"
msgstr "ОГРН Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_phone
msgid "Seller Phone"
msgstr "Телефон Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_function
msgid "Seller Representer Function"
msgstr "Должность представителя Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_function_parent_case
msgid "Seller Representer Function Parent Case"
msgstr "Должность представителя Продавца в родительном падеже"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name_initials
msgid "Seller Representer Initials Name"
msgstr "Фамилия с инициалами представителя Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name
msgid "Seller Representer Name"
msgstr "Полное имя представителя Продавца"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_seller_representer_name_parent
msgid "Seller Representer Parent Name"
msgstr "Полное имя в родительном падеже Продавца"
#: model:res.partner.contract.field,description:client_contracts.contract_field_yy
msgid "Short"
msgstr "Сокращенно"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_contract_form
@ -660,6 +795,13 @@ msgstr "Подписано"
msgid "Signed"
msgstr "Подписан"
#. module: client_contracts
#: selection:res.partner.template.print,company_type:0
#: selection:res.partner.template.print.annex,company_type:0
#: selection:res.partner.template.print.contract,company_type:0
msgid "Sole Proprietor"
msgstr "Индивидуальный предприниматель"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_contract_state
msgid "Status"
@ -676,12 +818,29 @@ msgstr "Ссылка"
msgid "Technical Name"
msgstr "Техническое название"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_annex_view
#: model:ir.ui.view,arch_db:client_contracts.res_partner_wizard_print_contract_view
msgid "Template"
msgstr "Шаблон"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_template_print_annex_view_form
msgid "Template Annex"
msgstr "Шаблон приложения"
#. module: client_contracts
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_annex_attachment_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_attachment_id
#: model:ir.model.fields,field_description:client_contracts.field_res_partner_template_print_contract_attachment_id
msgid "Template Attachment"
msgstr "Вложение-шаблон"
#. module: client_contracts
#: model:ir.ui.view,arch_db:client_contracts.res_partner_template_print_contract_view_form
msgid "Template Contract"
msgstr "Шаблон договора"
#. module: client_contracts
#: model:ir.ui.menu,name:client_contracts.res_partner_menu_contracts_templates
msgid "Templates"
@ -697,6 +856,17 @@ msgstr "Номер приложения"
msgid "Value"
msgstr "Значение"
#. module: client_contracts
#: model:res.partner.contract.field,description:client_contracts.contract_field_MM
msgid "Word"
msgstr "Слово"
#. module: client_contracts
#: model:res.partner.contract.field,name:client_contracts.contract_field_yy
#: model:res.partner.contract.field,name:client_contracts.contract_field_yyyy
msgid "Year"
msgstr "Год"
#. module: client_contracts
#: model:ir.model,name:client_contracts.model_res_partner_contract_annex_line
msgid "res.partner.contract.annex.line"

View File

@ -4,9 +4,9 @@ from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
name_parent_case = fields.Char(string="Name Parent Case",)
name_initials_case = fields.Char(string="Name Initials Case",)
function_parent_case = fields.Char(string="Function Parent Case",)
name_genitive = fields.Char(string="Name Genitive",)
name_initials = fields.Char(string="Name Initials",)
function_genitive = fields.Char(string="Function Genitive",)
client_contract_ids = fields.One2many(
"res.partner.contract", "partner_id", string="Contracts",
)
@ -20,6 +20,9 @@ class ResPartner(models.Model):
representative_id = fields.Many2one(
"res.partner", string="Representative", help="Person, who represents company"
)
representative_document = fields.Char(
string="Representative acts on the basis of", help="Parent Case",
)
signature = fields.Binary(string="Client signature")
@api.depends("street", "street2", "city", "state_id", "zip", "country_id")

View File

@ -1,6 +1,9 @@
import datetime
from odoo import _, api, fields, models
from odoo.tools.misc import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
from ..utils import MODULE_NAME
class PartnerContract(models.Model):
@ -34,6 +37,7 @@ class PartnerContract(models.Model):
return datetime.datetime.now().timestamp()
name = fields.Char(string="Contract number", default=_get_default_name,)
create_date = fields.Datetime(string="Created on")
create_date_ts = fields.Char(default=_get_default_create_date_ts)
date_conclusion = fields.Date(string="Date of system conclusion",)
date_conclusion_fix = fields.Date(
@ -86,7 +90,7 @@ class PartnerContract(models.Model):
@api.multi
def action_print_form(self):
view = self.env.ref("client_contracts.res_partner_wizard_print_contract_view")
view = self.env.ref("{}.res_partner_wizard_print_contract_view".format(MODULE_NAME))
return {
"name": _("Print Form of Contract"),
"type": "ir.actions.act_window",
@ -97,22 +101,45 @@ class PartnerContract(models.Model):
"context": {"self_id": self.id},
}
def get_date(self):
"""Uses in xml action (data/fields_default)
class PrintTemplateContract(models.Model):
_name = "res.partner.template.print.contract"
_description = "Print Template Contract"
Returns:
datetime.datetime -- date_conclusion_fix or date_conclusion or create_date
"""
date = self.date_conclusion_fix or self.date_conclusion
if date:
date = datetime.datetime.strptime(date, DEFAULT_SERVER_DATE_FORMAT)
else:
date = self.create_date
date = datetime.datetime.strptime(date, DEFAULT_SERVER_DATETIME_FORMAT)
return date
class PrintTemplate(models.Model):
_name = "res.partner.template.print"
_description = "Print Template"
name = fields.Char(related="attachment_id.name",)
attachment_id = fields.Many2one(
"ir.attachment", string="Template Attachment", required=True,
)
is_default = fields.Boolean(string="Default Template", default=False,)
company_type = fields.Selection(
selection=[
("person", "Individual"),
("sp", "Sole Proprietor"),
("plc", "Private Limited Company"),
]
)
class PrintTemplateContract(models.Model):
_name = "res.partner.template.print.contract"
_inherit = "res.partner.template.print"
_description = "Print Template Contract"
class PrintTemplateAnnex(models.Model):
_name = "res.partner.template.print.annex"
_inherit = "res.partner.template.print"
_description = "Print Template Contract Annex"
attachment_id = fields.Many2one(
"ir.attachment", string="Template Attachment", required=True,
)
is_default = fields.Boolean(string="Default Template", default=False,)

View File

@ -2,6 +2,8 @@ import math
from odoo import _, api, fields, models
from ..utils import MODULE_NAME
class ContractOrderAnnex(models.Model):
_name = "res.partner.contract.annex"
@ -15,7 +17,7 @@ class ContractOrderAnnex(models.Model):
date_conclusion = fields.Date(
string="Conclusion Date", default=fields.Date.today(),
)
prepaid_expence = fields.Float(string="Prepaid Expence", default=0)
prepaid_expense = fields.Float(string="Prepaid Expense", default=0)
delivery_time = fields.Integer(related="order_id.delivery_time", readonly=True,)
payment_term = fields.Many2one(
"account.payment.term", related="order_id.payment_term_id", readonly=True,
@ -56,7 +58,7 @@ class ContractOrderAnnex(models.Model):
@api.multi
def action_print_form(self):
view = self.env.ref("client_contracts.res_partner_wizard_print_annex_view")
view = self.env.ref("{}.res_partner_wizard_print_annex_view".format(MODULE_NAME))
return {
"name": _("Print Form of Contract Annex"),
"type": "ir.actions.act_window",

View File

@ -10,3 +10,4 @@ class ContractField(models.Model):
string="Technical Name", help="Name uses in template", required=True,
)
description = fields.Char(string="Description", translate=True, default="",)
sequence = fields.Integer(string="Sequence",)

View File

@ -1,5 +1,7 @@
from odoo import api, fields, models
from ..utils import MODULE_NAME
class SaleOrder(models.Model):
_inherit = "sale.order"
@ -18,9 +20,12 @@ class SaleOrder(models.Model):
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,
ref("{}.{}".format(MODULE_NAME, external_id)).id
for external_id in (
"payment_term_prepaid",
"payment_term_postpayment",
"payment_term_partial_2",
"payment_term_partial_3",
)
return terms
)
return list(terms)

View File

@ -1,7 +1,8 @@
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_contracts_contracts,access_contracts_contracts,model_res_partner_contract,base.group_user,1,1,1,1
access_contracts_field,access_contracts_field,model_res_partner_contract_field,base.group_user,1,1,1,1
access_contracts_field,access_contracts_field,model_res_partner_contract_field,base.group_user,1,0,0,0
access_contracts_field_transient,access_contracts_field_transient,model_res_partner_contract_field_transient,base.group_user,1,1,1,1
access_contracts_field_contract_annex,access_contracts_field_contract_annex,model_res_partner_contract_annex,base.group_user,1,1,1,1
access_contract_document_template,access_contract_document_template,model_res_partner_template_print_contract,base.group_user,1,1,1,1
access_contract_annex_template,access_contract_annex_template,model_res_partner_template_print_annex,base.group_user,1,1,1,1
access_contract_document_template,access_contract_document_template,model_res_partner_template_print_contract,base.group_user,1,0,0,0
access_contract_annex_template,access_contract_annex_template,model_res_partner_template_print_annex,base.group_user,1,0,0,0

1 id name model_id/id group_id/id perm_read perm_write perm_create perm_unlink
2 access_contracts_contracts access_contracts_contracts model_res_partner_contract base.group_user 1 1 1 1
3 access_contracts_field access_contracts_field model_res_partner_contract_field base.group_user 1 1 0 1 0 1 0
4 access_contracts_field_contract_annex access_contracts_field_transient access_contracts_field_contract_annex access_contracts_field_transient model_res_partner_contract_annex model_res_partner_contract_field_transient base.group_user 1 1 1 1
5 access_contracts_field_contract_annex access_contracts_field_contract_annex model_res_partner_contract_annex base.group_user 1 1 1 1
6 access_contract_document_template access_contract_document_template model_res_partner_template_print_contract base.group_user 1 1 0 1 0 1 0
7 access_contract_annex_template access_contract_annex_template model_res_partner_template_print_annex base.group_user 1 1 0 1 0 1 0
8

View File

@ -0,0 +1 @@
MODULE_NAME = __package__.split('.')[-2]

View File

@ -34,44 +34,24 @@
<field name="inherit_id" ref="base.view_partner_form" />
<field name="priority" eval="25"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='type']" position="before">
<field name="name" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
<field name="name_parent_case" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
<field name="name_initials_case" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
<field name="name_genitive" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
<field name="name_initials" attrs="{'invisible': [('company_type', '=', 'company')]}"/>
</xpath>
<xpath expr="//field[@name='category_id']" position="after">
<field name="representative_id" domain="[('company_type', '=', 'person')]" attrs="{'invisible': [('company_type', '!=', 'company')]}"/>
<field name="representative_document" attrs="{'invisible': [('company_type', '!=', 'company')]}"/>
<field name="signature" widget="image"/>
</xpath>
<xpath expr="//page[@name='internal_notes']" position="before">
<page string="Banks" name="banks">
<group>
<field name="bank_ids" attrs="{'invisible': [('company_type', '=', 'person')]}">
<tree>
<field name="acc_number"/>
<field name="bank_id"/>
</tree>
</field>
</group>
</page>
</xpath>
<!-- <xpath expr="//field[@name='vat']" position="before">
<field name="street_actual"/>
</xpath> -->
<xpath expr="//field[@name='function']" position="after">
<field name="function_parent_case" attrs="{'invisible': [('is_company','=', True)]}"/>
<field name="function_genitive" attrs="{'invisible': [('is_company','=', True)]}"/>
</xpath>
</field>
</record>
@ -81,11 +61,13 @@
<field name="inherit_id" ref="base.view_partner_form" />
<field name="priority" eval="25"/>
<field name="arch" type="xml">
<button name="toggle_active" position="before">
<button class="oe_inline oe_stat_button" type="action" name="%(res_partner_contract_partner_action)d" attrs="{'invisible': [('customer', '=', False)]}" icon="fa-pencil-square-o">
<field string="Contracts" name="contract_count" widget="statinfo"/>
</button>
</button>
</field>
</record>

View File

@ -20,7 +20,7 @@
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<form string="Contract">
<header attrs="{'invisible': [('create_date', '=', False)]}">
<header attrs="{'invisible': [('id', '=', False)]}">
<button name="action_sign" type="object" string="Sign" states="draft" class="oe_highlight"/>
<button name="action_close" type="object" string="Close" states="sign" class="oe_highlight"/>
<button name="action_renew" type="object" string="Renew" states="close"/>
@ -33,14 +33,14 @@
<group string="Contract parameters" name="single_params">
<field name="name" readonly="1"/>
<field name="partner_id" readonly="1"/>
<field name="create_date" readonly="1" attrs="{'invisible': [('create_date', '=', False)]}"/>
<field name="date_conclusion" readonly="1" attrs="{'invisible': ['|', ('create_date', '=', False), ('date_conclusion', '=', False)]}"/>
<field name="date_conclusion_fix" attrs="{'invisible': [('create_date', '=', False)]}"/>
<field name="create_date" readonly="1" attrs="{'invisible': [('id', '=', False)]}"/>
<field name="date_conclusion" readonly="1" attrs="{'invisible': ['|', ('id', '=', False), ('date_conclusion', '=', False)]}"/>
<field name="date_conclusion_fix" attrs="{'invisible': [('id', '=', False)]}"/>
<!-- Uses to generate number of Annex -->
<field name="contract_annex_number" invisible="1"/>
</group>
<group string="Annexed orders" name="annexes" attrs="{'invisible': [('create_date', '=', False)]}">
<group string="Annexed orders" name="annexes" attrs="{'invisible': [('id', '=', False)]}">
<field name="contract_annex_ids">
<field name="name"/>
</field>

View File

@ -15,8 +15,8 @@
<field name="contract_id" attrs="{'invisible': [('contract_id', '=', False)]}"/>
<field name="order_id"/>
<field name="date_conclusion"/>
<field name="payment_term"/>
<field name="delivery_time"/>
<field name="payment_term" invisible="1"/>
<field name="delivery_time" invisible="1"/>
</group>
<group>
<button name="action_print_form" type="object" string="Print" attrs="{'invisible': [('contract_id', '=', False)]}"/>

View File

@ -0,0 +1,40 @@
<?xml version='1.0' encoding='utf-8'?>
<odoo>
<data>
<!-- res.partner.template.print.contract form view -->
<record id="res_partner_template_print_contract_view_form" model="ir.ui.view">
<field name="name">res.partner.template.print.contract.view.form</field>
<field name="model">res.partner.template.print.contract</field>
<field name="arch" type="xml">
<form string="Template Contract">
<sheet>
<group>
<field name="name"/>
<field name="attachment_id"/>
<field name="company_type"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- res.partner.template.print.annex form view -->
<record id="res_partner_template_print_annex_view_form" model="ir.ui.view">
<field name="name">res.partner.template.print.annex.view.form</field>
<field name="model">res.partner.template.print.annex</field>
<field name="arch" type="xml">
<form string="Template Annex">
<sheet>
<group>
<field name="name"/>
<field name="attachment_id"/>
<field name="company_type"/>
</group>
</sheet>
</form>
</field>
</record>
</data>
</odoo>

View File

@ -5,6 +5,7 @@ import logging
from odoo import _, api, fields, models
from odoo.exceptions import UserError
from ..utils import MODULE_NAME
from ..utils.docxtpl import get_document_from_values_stream
_logger = logging.getLogger(__name__)
@ -13,20 +14,6 @@ _logger = logging.getLogger(__name__)
class ContractWizard(models.TransientModel):
_name = "res.partner.contract.wizard"
def _get_default_template_contract(self):
return (
self.env["res.partner.template.print.contract"]
.search([("is_default", "=", True)], limit=1)
.id
)
def _get_default_template_annex(self):
return (
self.env["res.partner.template.print.annex"]
.search([("is_default", "=", True)], limit=1)
.id
)
def _get_default_partner(self):
current_id = self.env.context.get("active_id")
return self.env["res.partner.contract"].browse(current_id).partner_id.id
@ -41,14 +28,10 @@ class ContractWizard(models.TransientModel):
company_id = fields.Many2one("res.partner", string="Company")
partner_id = fields.Many2one("res.partner", string="Partner")
print_template_contract = fields.Many2one(
"res.partner.template.print.contract",
string="Print Template of Contract",
default=_get_default_template_contract,
"res.partner.template.print.contract", string="Print Template of Contract",
)
print_template_annex = fields.Many2one(
"res.partner.template.print.annex",
string="Print Template of Contract Annex",
default=_get_default_template_annex,
"res.partner.template.print.annex", string="Print Template of Contract Annex",
)
transient_field_ids = fields.One2many(
@ -94,8 +77,8 @@ class ContractWizard(models.TransientModel):
self.partner_id = partner_id
model_to_action = {
"res.partner.contract": "client_contracts.action_get_contract_context",
"res.partner.contract.annex": "client_contracts.action_get_annex_context",
"res.partner.contract": "{}.action_get_contract_context".format(MODULE_NAME),
"res.partner.contract.annex": "{}.action_get_annex_context".format(MODULE_NAME),
}
action = model_to_action[active_model]
@ -115,9 +98,20 @@ class ContractWizard(models.TransientModel):
.id,
0,
)
for field, value in sorted(contract_context_values.items())
for field, value in sorted(contract_context_values.items(), key=lambda tpl: self.env.ref("{}.contract_field_{}".format(MODULE_NAME, tpl[0])).sequence)
]
# Set up template domain
company_type = (
self.partner_id.company_form if self.partner_id.is_company else "person"
)
return {
"domain": {
"print_template_contract": [("company_type", "=", company_type)],
"print_template_annex": [("company_type", "=", company_type)],
}
}
@api.multi
def get_docx_contract(self):
template = self._get_template()

View File

@ -8,27 +8,24 @@
<form>
<group>
<group string="Template">
<field name="print_template_contract"></field>
</group>
<group name="requisites" string="Requisites">
<field name="target"/>
<field name="partner_id" string="Partner" readonly="1"/>
<field name="company_id" string="Seller" readonly="1"/>
</group>
<!-- <group name="terms" string="Delivery and payment terms">
<field name="payment_terms"/>
<field name="delivery_terms"/>
</group> -->
<group string="Contract values" colspan="4">
<field name="transient_field_ids">
<tree editable="1" create="0" delete="0">
<field name="name"/>
<field name="value"/>
<field name="description" invisible="1"/>
<field name="description"/>
<field name="technical_name" invisible="1"/>
</tree>
</field>
</group>
</group>
<button string="Create a document" type="object" name="get_docx_contract" />
@ -45,17 +42,12 @@
<form>
<group>
<group string="Template">
<field name="print_template_annex"></field>
</group>
<group name="info" string="Info">
<field name="target"/>
</group>
<!-- <group name="terms" string="Delivery and payment terms">
<field name="payment_terms"/>
<field name="delivery_terms"/>
</group> -->
<!-- <group name="order" string="Order Info">
<field name="order_id"/>
</group> -->
<group string="Annex values" colspan="4">
<field name="transient_field_ids">
<tree editable="1" create="0" delete="0">
@ -66,7 +58,6 @@
</tree>
</field>
</group>
</group>
<button string="Create a document" type="object" name="get_docx_contract" />