new problems debug
This commit is contained in:
parent
60d415192b
commit
9289cb6ea2
@ -1,11 +1,12 @@
|
||||
import math
|
||||
import logging
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
|
||||
from ..utils import MODULE_NAME
|
||||
|
||||
# from ..utils.misc import Extension, IDocument
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class ContractOrderAnnex(models.Model): # , IDocument, Extension):
|
||||
_name = "res.partner.contract.annex"
|
||||
@ -141,6 +142,7 @@ class ContractOrderAnnex(models.Model): # , IDocument, Extension):
|
||||
|
||||
@api.model
|
||||
def create(self, values):
|
||||
_logger.debug("\n\n Values: %s\n\n", values)
|
||||
record = super().create(values)
|
||||
# Fill annex_id to domain it in future
|
||||
record.order_id.contract_annex_id = record.id
|
||||
|
312
utils/contract_context_values.py
Normal file
312
utils/contract_context_values.py
Normal file
@ -0,0 +1,312 @@
|
||||
# Aliases
|
||||
self = record # res.partner.contract
|
||||
|
||||
partner = self.partner_id # res.partner
|
||||
seller = self.company_id
|
||||
|
||||
# Functions
|
||||
_ = self._
|
||||
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]
|
||||
|
||||
dd = dd if dd // 10 else '0{}'.format(dd)
|
||||
mm = mm if mm // 10 else '0{}'.format(mm)
|
||||
|
||||
# ctx keys must be decalared in this xml with id equal to "contract_field_{technical_name}"
|
||||
ctx = {
|
||||
"contract_number": self.name,
|
||||
|
||||
"dd": dd,
|
||||
"mm": mm,
|
||||
"MM": MM,
|
||||
"yy": yy,
|
||||
"yyyy": yyyy,
|
||||
|
||||
"seller_name": seller.name_write,
|
||||
"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_function": seller.representative_id.function,
|
||||
"seller_representer_function_parent": seller.representative_id.function_genitive,
|
||||
"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_whatsapp": seller.whatsapp,
|
||||
"seller_telegram": seller.telegram,
|
||||
"seller_email": seller.email,
|
||||
|
||||
"partner_name": partner.name_write,
|
||||
"partner_inn": partner.vat,
|
||||
"partner_business_address": partner.full_address,
|
||||
"partner_phone": partner.phone,
|
||||
"partner_whatsapp": partner.whatsapp,
|
||||
"partner_telegram": partner.telegram,
|
||||
"partner_email": partner.email,
|
||||
}
|
||||
|
||||
seller_bank = seller.bank_ids and seller.bank_ids[0]
|
||||
if seller_bank:
|
||||
bank = seller_bank.bank_id
|
||||
bank_name = bank and bank.name or ""
|
||||
bank_city = "г. {city}".format(city=bank.city) if bank and bank.city else ""
|
||||
seller_bank_name = "{} {}".format(bank_name, bank_city).strip()
|
||||
|
||||
ctx.update({
|
||||
"seller_bank": seller_bank_name,
|
||||
"seller_rs": seller_bank.acc_number,
|
||||
"seller_ks": bank.corr_account,
|
||||
"seller_bic": bank.bic,
|
||||
})
|
||||
|
||||
partner_bank = partner.bank_ids and partner.bank_ids[0]
|
||||
if partner_bank:
|
||||
bank = partner_bank.bank_id
|
||||
bank_name = bank and bank.name or ""
|
||||
bank_city = "г. {city}".format(city=bank.city) if bank and bank.city else ""
|
||||
partner_bank_name = "{} {}".format(bank_name, bank_city).strip()
|
||||
|
||||
ctx.update({
|
||||
"partner_bank": partner_bank_name,
|
||||
"partner_rs": partner_bank.acc_number,
|
||||
"partner_ks": bank.corr_account,
|
||||
"partner_bic": bank.bic,
|
||||
})
|
||||
|
||||
# Person
|
||||
if not partner.is_company:
|
||||
ctx.update({
|
||||
"partner_representer_name": partner.name_write,
|
||||
"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,
|
||||
"partner_representer_passport_department_code": partner.passport_department_code,
|
||||
})
|
||||
if not partner.name_write:
|
||||
ctx.update({
|
||||
"partner_name": partner.name,
|
||||
"partner_representer_name": partner.name,
|
||||
})
|
||||
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_function": partner.representative_id.function,
|
||||
"partner_representer_function_parent": partner.representative_id.function_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,
|
||||
"partner_representer_passport_department_code": partner.representative_id.passport_department_code,
|
||||
})
|
||||
if partner.company_form == 'plc':
|
||||
# Private Limited Company
|
||||
ctx.update({
|
||||
"partner_kpp": partner.iec,
|
||||
"partner_ogrn": partner.psrn,
|
||||
})
|
||||
|
||||
action = ctx
|
||||
< / field >
|
||||
< / record >
|
||||
|
||||
< !-- Action -->
|
||||
< record
|
||||
id = "action_get_annex_context"
|
||||
model = "ir.actions.server" >
|
||||
< field
|
||||
name = "name" > Generate
|
||||
Context
|
||||
for Annex </ field >
|
||||
< field
|
||||
name = "model_id"
|
||||
ref = "client_contracts.model_res_partner_contract_wizard" / >
|
||||
< field
|
||||
name = "binding_model_id"
|
||||
ref = "client_contracts.model_res_partner_contract_wizard" / >
|
||||
< field
|
||||
name = "state" > code < / field >
|
||||
< field
|
||||
name = "code" >
|
||||
|
||||
# Aliases
|
||||
self = record # res.partner.contract.annex
|
||||
|
||||
seller = self.company_id
|
||||
partner = self.partner_id
|
||||
|
||||
# Functions
|
||||
_ = self.contract_id._
|
||||
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]
|
||||
|
||||
dd = dd if dd // 10 else '0{}'.format(dd)
|
||||
mm = mm if mm // 10 else '0{}'.format(mm)
|
||||
|
||||
order_date = self.order_id.date_order
|
||||
|
||||
# ctx keys must be decalared in this xml with id equal to "contract_field_{technical_name}"
|
||||
ctx = {
|
||||
"contract_number": self.contract_id.name,
|
||||
|
||||
"annex_name": self.name,
|
||||
"annex_number": self.counter,
|
||||
|
||||
"order_name": self.order_id.name,
|
||||
"order_date": "{} {} {}".format(order_date.day, months[order_date.month], order_date.year),
|
||||
|
||||
"design_cost": self.to_fixed(self.design_cost),
|
||||
"design_period": self.design_period,
|
||||
"design_doc_cost": self.to_fixed(self.design_doc_cost),
|
||||
"design_doc_period": self.design_doc_period,
|
||||
"delivery_address": self.delivery_address,
|
||||
"delivery_period": self.delivery_period,
|
||||
"installation_address": self.installation_address,
|
||||
"installation_cost": self.to_fixed(self.installation_cost),
|
||||
"installation_period": self.installation_period,
|
||||
"total_cost": self.to_fixed(self.total_cost),
|
||||
|
||||
"payment_part_one": self.payment_part_one,
|
||||
"payment_part_two": self.payment_part_two,
|
||||
"payment_part_three": self.payment_part_three,
|
||||
"delivery_period": self.delivery_period,
|
||||
|
||||
"dd": dd,
|
||||
"mm": mm,
|
||||
"MM": MM,
|
||||
"yy": yy,
|
||||
"yyyy": yyyy,
|
||||
|
||||
"seller_name": seller.name_write,
|
||||
"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_function": seller.representative_id.function,
|
||||
"seller_representer_function_parent": seller.representative_id.function_genitive,
|
||||
|
||||
"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_write,
|
||||
"partner_representer_name": partner.representative_id.name,
|
||||
"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,
|
||||
}
|
||||
|
||||
seller_bank = seller.bank_ids and seller.bank_ids[0]
|
||||
if seller_bank:
|
||||
bank = seller_bank.bank_id
|
||||
bank_name = bank and bank.name or ""
|
||||
bank_city = "г. {city}".format(city=bank.city) if bank and bank.city else ""
|
||||
seller_bank_name = "{} {}".format(bank_name, bank_city).strip()
|
||||
|
||||
ctx.update({
|
||||
"seller_bank": seller_bank_name,
|
||||
"seller_rs": seller_bank.acc_number,
|
||||
"seller_ks": bank.corr_account,
|
||||
"seller_bic": bank.bic,
|
||||
})
|
||||
|
||||
partner_bank = partner.bank_ids and partner.bank_ids[0]
|
||||
if partner_bank:
|
||||
bank = partner_bank.bank_id
|
||||
bank_name = bank and bank.name or ""
|
||||
bank_city = "г. {city}".format(city=bank.city) if bank and bank.city else ""
|
||||
partner_bank_name = "{} {}".format(bank_name, bank_city).strip()
|
||||
|
||||
ctx.update({
|
||||
"partner_bank": partner_bank_name,
|
||||
"partner_rs": partner_bank.acc_number,
|
||||
"partner_ks": bank.corr_account,
|
||||
"partner_bic": bank.bic,
|
||||
})
|
||||
|
||||
# Person
|
||||
if not partner.is_company:
|
||||
ctx.update({
|
||||
"partner_representer_name": partner.name_write,
|
||||
"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,
|
||||
})
|
||||
if not partner.name_write:
|
||||
ctx.update({
|
||||
"partner_name": partner.name,
|
||||
"partner_representer_name": partner.name,
|
||||
})
|
||||
else:
|
||||
# Company
|
||||
ctx.update({
|
||||
"partner_company_form": _(dict(partner._fields['company_form'].selection).get(partner.company_form)),
|
||||
"partner_representer_name_parent": partner.representative_id.name_genitive,
|
||||
"partner_representer_document_parent": partner.representative_document,
|
||||
"partner_representer_function": partner.representative_id.function,
|
||||
"partner_representer_function_parent": partner.representative_id.function_genitive,
|
||||
})
|
||||
|
||||
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
|
@ -10,11 +10,12 @@
|
||||
|
||||
<group string="Template">
|
||||
<field name="document_template"></field>
|
||||
<field name="target"/>
|
||||
</group>
|
||||
|
||||
<group invisible="1">
|
||||
<!-- Need for generate a document -->
|
||||
<field name="target"/>
|
||||
|
||||
<field name="partner_id"/>
|
||||
<field name="company_id"/>
|
||||
</group>
|
||||
|
Loading…
x
Reference in New Issue
Block a user