diff --git a/models/contract_wizard.py b/models/contract_wizard.py index 8319c1d..c67ada8 100644 --- a/models/contract_wizard.py +++ b/models/contract_wizard.py @@ -253,260 +253,12 @@ class ContractWizard(models.TransientModel): string="Contract Fields", ) - @api.depends('contract_id') - def _compute_context_name(self): - self._context_name = self.contract_id.name - - @api.depends('contract_id') - def _compute_context_date(self): - contract_date = datetime.strptime(self.contract_id.date, '%Y-%m-%d') - self._context_date = contract_date.strftime('%d %B %Y') - - @api.depends('partner_id') - def _compute_context_partner_contract_name(self): - self._context_partner_contract_name = self.partner_id.name - - @api.depends('partner_id') - def _compute_context_partner_adress(self): - self._compute_context_partner_adress = self.partner_id.full_adress - - @api.depends('partner_id') - def _compute_context_partner_representer_contract_name(self): - partner_representer_contract_name = '' - if self.partner_id.representative_id: - partner_representer_contract_name = self.partner_id.representative_id.name - self._context_partner_representer_contract_name = partner_representer_contract_name - - @api.depends('partner_id') - def _compute_context_partner_inn(self): - self._context_partner_inn = self.partner_id.inn - - @api.depends('partner_id') - def _compute_context_partner_kpp(self): - self._context_partner_kpp = self.partner_id.kpp - - @api.depends('partner_id') - def _compute_context_partner_rs(self): - self._context_partner_rs = self.partner_id.bank_account.acc_number - - @api.depends('partner_id') - def _compute_context_partner_bik(self): - self._context_partner_bik = self.partner_id.bank_account.bank_id.bic - - @api.depends('partner_id') - def _compute_context_partner_bank(self): - self._context_partner_bank = self.partner_id.bank_account.bank_id.name - - @api.depends('partner_id') - def _compute_context_partner_phone(self): - self._context_partner_phone = self.partner_id.phone - - @api.depends('partner_id') - def _compute_context_partner_representer_name(self): - self._context_partner_representer_name = self.partner_id.representative_id.name - - @api.depends('company_id') - def _compute_context_seller_contract_name(self): - self._context_seller_contract_name = self.company_id.name - - @api.depends('company_id') - def _compute_context_seller_adress(self): - self._context_seller_adress = self.company_id.full_adress - - @api.depends('company_id') - def _compute_context_seller_representer_contract_job_name(self): - seller_represent_job_function = '' - if self.company_id.representative_id: - seller_represent_job_function = self.company_id.representative_id.function - self._context_seller_representer_contract_job_name = seller_represent_job_function - - @api.depends('company_id') - def _compute_context_seller_representer_contract_name(self): - seller_represent_contract_name = '' - if self.company_id.representative_id: - seller_represent_contract_name = self.company_id.representative_id.name - self._context_seller_representer_contract_name = seller_represent_contract_name - - @api.depends('company_id') - def _compute_context_seller_inn(self): - self._context_seller_inn = self.company_id.inn - - @api.depends('company_id') - def _compute_context_seller_kpp(self): - self._context_seller_kpp = self.company_id.kpp - - @api.depends('company_id') - def _compute_context_seller_rs(self): - self._context_seller_rs = self.company_id.bank_account.acc_number - - @api.depends('company_id') - def _compute_context_seller_bik(self): - self._context_seller_bik = self.company_id.bank_account.bank_id.bic - - @api.depends('company_id') - def _compute_context_seller_bank(self): - self._context_seller_bank = self.company_id.bank_account.bank_id.name - - @api.depends('company_id') - def _compute_context_seller_phone(self): - self._context_seller_phone = self.company_id.phone - - @api.depends('company_id') - def _compute_context_seller_representer_job_name(self): - # TODO: lite refactor - if self.company_id.representative_id: - seller_represent_job_name = self.company_id.representative_id.function - else: - seller_represent_job_name = '' - self._context_seller_representer_job_name = seller_represent_job_name - - @api.depends('company_id') - def _compute_context_seller_representer_name(self): - # TODO: lite refactor - if self.company_id.representative_id: - seller_represent_name = self.company_id.representative_id.name - else: - seller_represent_name = '' - self._context_seller_representer_name = seller_represent_name - - @api.depends('order_id') - def _compute_context_summ_rub(self): - # TODO: lite refactor - if self.order_id: - amount = math.modf(self.order_id.amount_total) - else: - amount = math.modf(0.0) - self._context_summ_rub = str(int(amount[1])) - - @api.depends('order_id') - def _compute_context_summ_rub_word(self): - # TODO: lite refactor - if self.order_id: - amount = math.modf(self.order_id.amount_total) - else: - amount = math.modf(0.0) - self._context_summ_rub_word = numeral.in_words(int(amount[1])) - - @api.depends('order_id') - def _compute_context_summ_kop(self): - # TODO: lite refactor - if self.order_id: - amount = math.modf(self.order_id.amount_total) - self._context_summ_kop = str(int(amount[0])) - else: - self._context_summ_kop = '0' - - @api.depends('order_id') - def _compute_context_summ_word(self): - self._context_summ_word = numeral.rubles(self.order_id.amount_total) - - @api.depends('delivery_terms') - def _compute_context_delivery_term(self): - self._context_delivery_term = self.delivery_terms - - @api.depends('delivery_terms') - def _compute_context_delivery_term_word(self): - self._context_delivery_term_word = numeral.in_words( - self.delivery_terms) - - @api.depends('payment_terms') - def _compute_context_payment_term(self): - self._context_payment_term = self.payment_terms - - @api.depends('payment_terms') - def _compute_context_payment_term_word(self): - self._context_payment_term_word = numeral.in_words(self.payment_terms) - - @api.onchange('partner_id') - def _compute_partner_passport_data(self): - return self.partner_id.passport_series + self.partner_id.passport_number - @api.onchange('partner_id') def _set_order_domain(self): current_id = self.env.context.get('active_ids') domain = [('contract_id', '=', current_id)] return {'domain': {'order_id': domain}} - def _generate_context(self): - contract_date = datetime.strptime(self.contract_id.date, '%Y-%m-%d') - - partner_representer_contract_name = '' - - seller_represent_contract_name = '' - seller_represent_contract_job_name = '' - seller_represent_name = '' - seller_represent_job_name = '' - - if self.partner_id.representative_id: - partner_representer_contract_name = self.partner_id.representative_id.name - - if self.company_id.representative_id: - seller_represent_contract_name = self.company_id.representative_id.name - seller_represent_contract_job_name = self.company_id.representative_id.function - seller_represent_name = self.company_id.representative_id.name - seller_represent_job_name = self.company_id.representative_id.function - - amount = math.modf(self.order_id.amount_total) - - order_goods = [] - counter = 1 - for line in self.order_id.order_line: - order_line_values = { - 'label': counter, - 'description': line.name, - 'count': line.product_qty, - 'mesure': line.product_uom.name, - 'price': line.price_unit, - 'amount': line.price_total - } - order_goods.append(order_line_values) - counter += 1 - - annex_terms = '' - counter = 1 - for line in self.annex_lines: - annex_terms = annex_terms + \ - '{}) {}\n'.format(counter, line.description) - counter += 1 - - context = { - 'name': self.contract_id.name, - 'current_date': contract_date.strftime('%d %b %Y'), - - 'partner_company_name': self.partner_id.name, - 'partner_business_address': self.partner_id.full_adress, - 'partner_representer_name': partner_representer_contract_name, - 'partner_inn': self.partner_id.inn, - 'partner_kpp': self.partner_id.kpp, - 'partner_bank_account': self.partner_id.bank_account.acc_number, - 'partner_bik': self.partner_id.bank_account.bank_id.bic, - 'partner_bank': self.partner_id.bank_account.bank_id.name, - 'partner_passport_data': self.partner_id.passport_series + self.partner_id.passport_number, - 'partner_phone': self.partner_id.phone, - - 'seller_company_name': self.company_id.name, - 'seller_business_address': self.company_id.full_adress, - 'seller_representer_function': seller_represent_contract_job_name, - 'seller_representer_name': seller_represent_contract_name, - 'seller_inn': self.company_id.inn, - 'seller_kpp': self.company_id.kpp, - 'seller_bank_account': self.company_id.bank_account.acc_number, - 'seller_bik': self.company_id.bank_account.bank_id.bic, - 'seller_bank': self.company_id.bank_account.bank_id.name, - 'seller_phone': self.company_id.phone, - - 'summ_rub': int(amount[1]), - 'summ_rub_word': numeral.in_words(int(amount[1])), - 'summ_kop': int(amount[0]), - 'delivery_term': self.delivery_terms, - 'delivery_term_word': numeral.in_words(self.delivery_terms), - 'payment_term': self.payment_terms, - 'payment_term_word': numeral.in_words(self.payment_terms), - 'annex_terms': annex_terms, - 'order_goods': order_goods, - } - return context - @api.onchange('partner_id') def _onchange_partner_id(self): """Creates transient fields for generate contract template