From dcd88381ee2b5ed0fccb1835d33d773fcb6a1b6b Mon Sep 17 00:00:00 2001 From: sinergia Date: Mon, 14 Aug 2023 14:15:09 -0500 Subject: [PATCH] fix: se limpia la casa --- sale.py | 67 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/sale.py b/sale.py index 7ef3bcb..bbe0a81 100644 --- a/sale.py +++ b/sale.py @@ -14,25 +14,24 @@ from trytond.i18n import gettext from trytond.exceptions import UserError from trytond.modules.currency.fields import Monetary -from trytond.exceptions import UserError __all__ = ['Sale', 'SalePaymentForm', 'WizardSalePayment', - 'WizardSaleReconcile'] + 'WizardSaleReconcile'] class Sale(metaclass=PoolMeta): __name__ = 'sale.sale' payments = fields.One2Many('account.statement.line', 'sale', 'Payments') paid_amount = fields.Function(fields.Numeric('Paid Amount', readonly=True), - 'get_paid_amount') + 'get_paid_amount') residual_amount = fields.Function(fields.Numeric('Residual Amount'), - 'get_residual_amount', searcher='search_residual_amount') + 'get_residual_amount', + searcher='search_residual_amount') sale_device = fields.Many2One('sale.device', 'Sale Device', - domain=[('shop', '=', Eval('shop'))], - depends=['shop'], states={ - 'readonly': Eval('state') != 'draft', - } - ) + domain=[('shop', '=', Eval('shop'))], + depends=['shop'], states={ + 'readonly': Eval('state') != 'draft', + }) @classmethod def __setup__(cls): @@ -68,7 +67,7 @@ class Sale(metaclass=PoolMeta): to_post = set() for sale in sales: grouping = getattr(sale.party, 'sale_invoice_grouping_method', - False) + False) if getattr(sale, 'invoices', None) and not grouping: for invoice in sale.invoices: if not invoice.state == 'draft': @@ -98,7 +97,7 @@ class Sale(metaclass=PoolMeta): if not sale.invoices and sale.invoice_method == 'order': raise UserError(gettext( 'sale_payment.not_customer_invoice', - reference=sale.reference)) + reference=sale.reference)) to_post = cls.set_invoices_to_be_posted(sales) if to_post: @@ -143,7 +142,7 @@ class Sale(metaclass=PoolMeta): @classmethod def get_residual_amount(cls, sales, name): return {s.id: s.total_amount - s.paid_amount if s.state != 'cancelled' - else Decimal(0) for s in sales} + else Decimal(0) for s in sales} @classmethod def search_residual_amount(cls, name, clause): @@ -163,16 +162,16 @@ class Sale(metaclass=PoolMeta): ).select( sale.id, where=((sale.total_amount_cache != None) & - (sale.state.in_([ - 'draft', - 'quotation', - 'confirmed', - 'processing', - 'done']))), + (sale.state.in_([ + 'draft', + 'quotation', + 'confirmed', + 'processing', + 'done']))), group_by=(sale.id), having=(Operator(sale.total_amount_cache - - Sum(Coalesce(payline.amount, 0)), value) - )) + Sum(Coalesce(payline.amount, 0)), value) + )) return [('id', 'in', query)] @classmethod @@ -192,14 +191,14 @@ class SalePaymentForm(ModelView): 'Sale Payment Form' __name__ = 'sale.payment.form' journal = fields.Many2One('account.statement.journal', 'Statement Journal', - domain=[ - ('id', 'in', Eval('journals', [])), - ], - depends=['journals'], required=True) + domain=[ + ('id', 'in', Eval('journals', [])), + ], + depends=['journals'], required=True) journals = fields.One2Many('account.statement.journal', None, - 'Allowed Statement Journals') + 'Allowed Statement Journals') payment_amount = Monetary('Payment amount', required=True, - currency='currency', digits='currency') + currency='currency', digits='currency') party = fields.Many2One('party.party', 'Party', readonly=True) currency = fields.Many2One('currency.currency', 'Currency', readonly=True) @@ -208,10 +207,10 @@ class WizardSalePayment(Wizard): 'Wizard Sale Payment' __name__ = 'sale.payment' start = StateView('sale.payment.form', - 'sale_payment.sale_payment_view_form', [ - Button('Cancel', 'end', 'tryton-cancel'), - Button('Pay', 'pay_', 'tryton-ok', default=True), - ]) + 'sale_payment.sale_payment_view_form', [ + Button('Cancel', 'end', 'tryton-cancel'), + Button('Pay', 'pay_', 'tryton-ok', default=True), + ]) pay_ = StateTransition() def default_start(self, fields): @@ -225,10 +224,10 @@ class WizardSalePayment(Wizard): raise UserError(gettext('sale_payment.not_sale_device')) return { 'journal': sale_device.journal.id - if sale_device.journal else None, + if sale_device.journal else None, 'journals': [j.id for j in sale_device.journals], 'payment_amount': sale.total_amount - sale.paid_amount - if sale.paid_amount else sale.total_amount, + if sale.paid_amount else sale.total_amount, 'currency': sale.currency and sale.currency.id, 'party': sale.party.id, } @@ -247,7 +246,7 @@ class WizardSalePayment(Wizard): ], order=[('date', 'DESC')]) if not statements: raise UserError(gettext('sale_payment.not_draft_statement', - journal=form.journal.name)) + journal=form.journal.name)) if not sale.number: Sale.set_number([sale]) @@ -258,7 +257,7 @@ class WizardSalePayment(Wizard): if not account: raise UserError(gettext( 'sale_payment.party_without_account_receivable', - party=sale.party.name)) + party=sale.party.name)) if form.payment_amount: return StatementLine(