fix: Se refactoriza _get_shipment_sale

This commit is contained in:
sinergia 2023-11-13 10:36:39 -05:00
parent 2c535e8723
commit e79d6d8c8d
2 changed files with 23 additions and 29 deletions

42
sale.py
View File

@ -105,18 +105,14 @@ class Sale(metaclass=PoolMeta):
return [(None, '')] + [(m, get_name(m)) for m in models]
def _get_shipment_sale(self, Shipment, key):
values = {
'customer': self.shipment_party or self.party,
'delivery_address': self.shipment_address,
'company': self.company,
'sale_type': self.sale_type,
'service_maintenance_initial': True if self.sale_type != 'equipments' else False,
}
values.update(dict(key))
Shipment = super(Sale, self)._get_shipment_sale(Shipment, key)
Shipment.sale_type = self.sale_type
Shipment.service_maintenance_initial = \
True if self.sale_type != 'equipments' else False
return Shipment(**values)
return Shipment
@classmethod
@ classmethod
def set_quote_number(cls, sales):
'''
Fill the number field with the sale sequence
@ -135,7 +131,7 @@ class Sale(metaclass=PoolMeta):
else:
raise UserError(gettext('optical_equipment.msg_not_sequence_quote'))
@classmethod
@ classmethod
def copy(cls, sales, default=None):
if default is None:
default = {}
@ -152,15 +148,15 @@ class Sale(metaclass=PoolMeta):
return super(Sale, cls).copy(sales, default=default)
@classmethod
@ModelView.button_action(
@ classmethod
@ ModelView.button_action(
'optical_equipment.wizard_print_balance_sale_party')
def report(cls, sales):
pass
@classmethod
@ModelView.button
@Workflow.transition('quotation')
@ classmethod
@ ModelView.button
@ Workflow.transition('quotation')
def quote(cls, sales):
pool = Pool()
AdvancePaymentCondition = pool.get('sale.advance_payment.condition')
@ -172,11 +168,11 @@ class Sale(metaclass=PoolMeta):
sale.set_advance_payment_term()
cls.save(sales)
@classmethod
@ModelView.button_action(
@ classmethod
@ ModelView.button_action(
'optical_equipment.wizard_confirm_sale_date')
@Workflow.transition('confirmed')
@set_employee('confirmed_by')
@ Workflow.transition('confirmed')
@ set_employee('confirmed_by')
def confirm(cls, sales):
pool = Pool()
Configuration = pool.get('sale.configuration')
@ -207,9 +203,9 @@ class Sale(metaclass=PoolMeta):
sale.save()
cls.set_number(sales)
with Transaction().set_context(
queue_name='sale',
queue_scheduled_at=config.sale_process_after):
with transaction.set_context(
queue_scheduled_at=config.sale_process_after,
queue_batch=context.get('queue_batch', True)):
cls.__queue__.process(sales)

View File

@ -2,19 +2,17 @@
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//label[@name='payment_term']" position="replace"></xpath>
<xpath expr="//field[@name='payment_term']" position="replace"></xpath>
<xpath expr="//field[@name='warehouse']" position="after">
<label name="payment_term_description"/>
<field name="payment_term_description" colspan="5"/>
<newline/>
</xpath>
<xpath expr="//label[@name='payment_term']" position="replace"></xpath>
<xpath expr="//field[@name='payment_term']" position="replace"></xpath>
<xpath expr="//label[@name='number']" position="before">
<label name="quote_number"/>
<field name="quote_number"/>
</xpath>
<xpath expr="//field[@name='reference']" position="after">
<newline/>
<label name="quote_number"/>
<field name="quote_number"/>
<label name="sale_type"/>
<field name="sale_type"/>
<label name="maintenance_type"/>