diff --git a/__manifest__.py b/__manifest__.py index accd7ce..95d8003 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -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", diff --git a/data/fields_default.xml b/data/fields_default.xml index 10af36a..4446eba 100644 --- a/data/fields_default.xml +++ b/data/fields_default.xml @@ -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, - "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_ogrn": seller.psrn, - "seller_bank": False, - "seller_bank_account": False, - "seller_phone": partner.phone, - "partner_company_name": partner.name, + "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_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_business_address": seller.full_address, + "seller_phone": seller.phone, + "seller_email": seller.email, + + "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 @@ -82,47 +130,107 @@ 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, - - "payment_term": payment_term, - "delivery_time": delivery_time, + "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, + }) + + +# 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 Contract Number contract_number + 1 - - Conclusion Date - date_conclusion - + + Day + dd + Number + 8 + + + + Month + mm + Number + 16 + + + + Month + MM + Word + 24 + + + + Year + yy + Short + 40 + + + + Year + yyyy + Full + 32 @@ -170,176 +308,357 @@ action = ctx - - Seller Company Name - seller_company_name - + + Name + seller_name + Seller + 48 - - Seller Business Address - seller_business_address - + + Institutional-Legal Form + seller_company_form + Seller + 56 + + + + IP Number + seller_ip_number + Seller IP Certificate + 64 + + + + IP Issued on + seller_ip_date + Seller IP Certificate + 72 - Seller Representer Name + Name seller_representer_name - + Seller Representative + 80 - Seller Representer Parent Name + Name Genitive seller_representer_name_parent - + Seller Representative + 88 - Seller Representer Initials Name + Name Initials seller_representer_name_initials - - + Seller Representative + 96 - Seller Representer Function + Function seller_representer_function - + Seller Representative + 104 - - Seller Representer Function Parent Case - seller_representer_function_parent_case - + + Function Genitive + seller_representer_function_parent + Seller Representative + 112 + + + + Document Genitive + seller_representer_document_parent + Seller Representative + 120 + + + + Passport № + seller_representer_passport_number + Seller Representative + 128 + + + + Passport Issued on + seller_representer_passport_date + Seller Representative + 136 + + + + Passport Issued by + seller_representer_passport_department + Seller Representative + 144 - Seller INN + INN seller_inn - + Seller + 152 + + + + PSRN + seller_ogrn + Seller + 160 + + + + PSRN-IP + seller_ogrnip + Seller + 168 - Seller KPP + KPP seller_kpp - + Seller + 176 - - Seller BIC - seller_bic - - - - - Seller PSRN - seller_ogrn - + + OKPO + seller_okpo + Seller + 184 - Seller Bank Name + Bank Name seller_bank - + Seller + 192 - - Seller Bank Account - seller_bank_account - + + Bank Payment Account + seller_rs + Seller + 200 + + + + Bank Corresponding Account + seller_ks + Seller + 208 + + + + BIC + seller_bic + Seller + 216 + + + + Business Address + seller_business_address + Seller + 224 - Seller Phone + Phone seller_phone - + Seller + 232 + + + + Email + seller_email + Seller + 240 - - Partner Company Name - partner_company_name - + + Name + partner_name + Partner + 248 - - Partner Business Address - partner_business_address - + + Institutional-Legal Form + partner_company_form + Partner + 256 + + + + IP Number + partner_ip_number + Partner IP Certificate + 264 + + + + IP Issued on + partner_ip_date + Partner IP Certificate + 272 - Partner Representer Name + Name partner_representer_name - + Partner Representative + 280 - Partner Representer Parent Name + Name Genitive partner_representer_name_parent - + Partner Representative + 288 - Partner Representer Initials Name + Name Initials partner_representer_name_initials - + Partner Representative + 296 - Partner Representer Function + Function partner_representer_function - + Partner Representative + 304 - - Partner Representer Function Parent Case - partner_representer_function_parent_case - + + Function Genitive + partner_representer_function_parent + Partner Representative + 312 + + + + Document Genitive + partner_representer_document_parent + Partner Representative + 320 + + + + Passport № + partner_representer_passport_number + Partner Representative + 328 + + + + Passport Issued on + partner_representer_passport_date + Partner Representative + 336 + + + + Passport Issued by + partner_representer_passport_department + Partner Representative + 344 - Partner INN + INN partner_inn - + Partner + 352 + + + + PSRN + partner_ogrn + Partner + 360 + + + + PSRN-IP + partner_ogrnip + Partner + 368 - Partner KPP + KPP partner_kpp - + Partner + 376 - - Partner BIC - partner_bic - - - - - Partner PSRN - partner_ogrn - + + OKPO + partner_okpo + Partner + 384 - Partner Bank Name + Bank partner_bank - + Partner + 392 - - Partner Bank Account - partner_bank_account - + + Bank Payment Account + partner_rs + Partner + 400 + + + + Bank Corresponding Account + partner_ks + Partner + 408 + + + + BIC + partner_bic + Partner + 416 + + + + Business Address + partner_business_address + Partner + 424 - Partner Phone + Phone partner_phone - + Partner + 432 + + + + Email + partner_email + Partner + 440 diff --git a/i18n/ru.po b/i18n/ru.po index 1db272c..b48285f 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -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" diff --git a/models/res_partner.py b/models/res_partner.py index 8170d81..6ed46e7 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -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") diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index f35c6c8..3afef6d 100644 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -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,) diff --git a/models/res_partner_contract_annex.py b/models/res_partner_contract_annex.py index 4fd0dc7..6aa8b38 100644 --- a/models/res_partner_contract_annex.py +++ b/models/res_partner_contract_annex.py @@ -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", diff --git a/models/res_partner_contract_field.py b/models/res_partner_contract_field.py index 7a8dbcc..d251f24 100644 --- a/models/res_partner_contract_field.py +++ b/models/res_partner_contract_field.py @@ -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",) diff --git a/models/sale_order.py b/models/sale_order.py index ecee665..ecf4788 100644 --- a/models/sale_order.py +++ b/models/sale_order.py @@ -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) diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 764c070..12e0fba 100755 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -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 diff --git a/utils/__init__.py b/utils/__init__.py index e69de29..5b306d3 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -0,0 +1 @@ +MODULE_NAME = __package__.split('.')[-2] diff --git a/views/res_partner.xml b/views/res_partner.xml index f6f45a1..43a0884 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -34,44 +34,24 @@ + - - - - + + + - + + - - - - - - - - - - - - - - - - - - - + + @@ -81,11 +61,13 @@ + + diff --git a/views/res_partner_contract.xml b/views/res_partner_contract.xml index c3f98f6..143ba07 100644 --- a/views/res_partner_contract.xml +++ b/views/res_partner_contract.xml @@ -20,7 +20,7 @@ res.partner.contract
-
+