From ed4f1c97a143568b25bb9e1cf6445f40abfda5c7 Mon Sep 17 00:00:00 2001 From: Oscar Alvarez Date: Wed, 23 Dec 2020 09:31:58 -0500 Subject: [PATCH] Minor fixes --- .gitignore | 29 ++++++++++++++++ contract.py | 99 ++++++++++++++++++++++++++--------------------------- tryton.cfg | 2 +- 3 files changed, 79 insertions(+), 51 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..63d810d --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +/build +/dist +*egg-info + + +/node_modules + +# testing +/coverage + +# production +/build + +# misc + +.DS_Store + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +package-lock* + +/__pycache__ +/app/__pycache__ +/app/commons/__pycache__ diff --git a/contract.py b/contract.py index 06e743a..d5e02b0 100644 --- a/contract.py +++ b/contract.py @@ -52,6 +52,7 @@ TYPE_INVOICE = [ ('92', 'Nota Débito Eléctronica'), ] + class TypeContract(ModelSQL, ModelView): "Type Sale Contract" __name__ = 'sale.contract.type' @@ -76,26 +77,26 @@ class SaleContract(Workflow, ModelSQL, ModelView): _rec_name = 'number' number = fields.Char('Number', readonly=True) party = fields.Many2One('party.party', 'Party', required=True, - select=True, states= STATES) + select=True, states= STATES) contract_date = fields.Date('Contract Date', required=True, states=STATES) date = fields.Date('Date') payment_term = fields.Many2One('account.invoice.payment_term', - 'Payment Term', required=True, states=STATES) + 'Payment Term', required=True, states=STATES) lines = fields.One2Many('sale.contract.line', 'contract', 'Lines', - states={ - 'readonly': Eval('state') == 'finished', - # 'required': Eval('state') == 'finished', - }, depends=['state']) + states={ + 'readonly': Eval('state') == 'finished', + # 'required': Eval('state') == 'finished', + }, depends=['state']) company = fields.Many2One('company.company', 'Company', required=True, states=STATES) type = fields.Many2One('sale.contract.type', 'Type', states=STATES, required=True) state = fields.Selection([ - ('draft', 'Draft'), - ('confirmed', 'Confirmed'), - ('finished', 'Finished'), - ('canceled', 'Canceled'), - ], 'State', readonly=True, select=True) + ('draft', 'Draft'), + ('confirmed', 'Confirmed'), + ('finished', 'Finished'), + ('canceled', 'Canceled'), + ], 'State', readonly=True, select=True) state_string = state.translated('state') total_amount = fields.Numeric('Total Amount', digits=(16, 2), required=True, states={ @@ -135,39 +136,39 @@ class SaleContract(Workflow, ModelSQL, ModelView): super(SaleContract, cls).__setup__() cls._order.insert(0, ('date', 'DESC')) cls._error_messages.update({ - 'payment_term_missing': 'The payterm is missing!', - 'sequence_missing': 'The sequence is missing!', - 'lines_processed': ('Sale Contract "%s" can not deleted ' - 'because has lines processed'), - 'delete_cancel': ('Sale Contract "%s" must be canceled before ' - 'deletion.'), - 'sales_pending': ('You can not to finish contract because ' - 'has sales pending!'), - }) + 'payment_term_missing': 'The payterm is missing!', + 'sequence_missing': 'The sequence is missing!', + 'lines_processed': ('Sale Contract "%s" can not deleted ' + 'because has lines processed'), + 'delete_cancel': ('Sale Contract "%s" must be canceled before ' + 'deletion.'), + 'sales_pending': ('You can not to finish contract because ' + 'has sales pending!'), + }) cls._transitions |= set(( - ('draft', 'confirmed'), - ('draft', 'canceled'), - ('confirmed', 'draft'), - ('canceled', 'draft'), - ('confirmed', 'finished'), - ('finished', 'confirmed'), - )) + ('draft', 'confirmed'), + ('draft', 'canceled'), + ('confirmed', 'draft'), + ('canceled', 'draft'), + ('confirmed', 'finished'), + ('finished', 'confirmed'), + )) cls._buttons.update({ - 'create_lines': { - 'invisible': Eval('state') != 'confirmed', - }, - 'cancel': { - 'invisible': Eval('state') != 'draft', - }, - 'draft': { - 'invisible': ~Eval('state').in_(['canceled', 'confirmed']), - }, - 'confirm': { - 'invisible': Eval('state').in_(['canceled', 'confirmed']), - }, - 'finish': { - 'invisible': Eval('state') != 'confirmed', - }, + 'create_lines': { + 'invisible': Eval('state') != 'confirmed', + }, + 'cancel': { + 'invisible': Eval('state') != 'draft', + }, + 'draft': { + 'invisible': ~Eval('state').in_(['canceled', 'confirmed']), + }, + 'confirm': { + 'invisible': Eval('state').in_(['canceled', 'confirmed']), + }, + 'finish': { + 'invisible': Eval('state') != 'confirmed', + }, }) @staticmethod @@ -479,7 +480,6 @@ class ContractProductLine(ModelSQL, ModelView): ], 'Type', select=True, required=True ) - @fields.depends('product') def on_change_with_unit_price(self): if self.product: @@ -558,10 +558,10 @@ class SaleContractByMonthReport(Report): period = Period(data['period']) records = SaleContract.search([ - ('company', '=', data['company']), - ('contract_date', '>=', period.start_date), - ('contract_date', '<=', period.end_date), - ('state', 'in', ['confirmed', 'finished']), + ('company', '=', data['company']), + ('contract_date', '>=', period.start_date), + ('contract_date', '<=', period.end_date), + ('state', 'in', ['confirmed', 'finished']), ]) total_amount = [] @@ -587,7 +587,6 @@ class CreateInvoicesFromContractStart(ModelView): ]) invoice_type = fields.Selection(TYPE_INVOICE, 'Type Invoice') - @staticmethod def default_company(): return Transaction().context.get('company') @@ -616,7 +615,6 @@ class CreateInvoicesFromContract(Wizard): def transition_accept(self): pool = Pool() Contract = pool.get('sale.contract') - Sale = pool.get('sale.sale') Line = Pool().get('sale.contract.line') lines = Line.search([ ('contract.state', '=', 'confirmed'), @@ -665,7 +663,7 @@ class CreateInvoicesFromContract(Wizard): for contract in contracts: contract.validate_contract() day_ = date_.day - if contract.start_date > date_: + if contract.start_date > date_: day_ = contract.start_date.day lines_to_create.append({ 'contract': contract.id, @@ -684,6 +682,7 @@ class CreateInvoicesFromContract(Wizard): contract_line._process_sale(self.start.invoice_type, self.start.period) return 'end' + class SaleContractFromPartyStart(ModelView): 'Create Sale Contract From Parties Start' __name__ = 'sale.create_contract_from_party.start' diff --git a/tryton.cfg b/tryton.cfg index efdf8a4..d021bca 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=5.0.0 +version=5.0.1 depends: party company