fix: Se refactoriza _get_shipment_sale
This commit is contained in:
parent
2c535e8723
commit
e79d6d8c8d
42
sale.py
42
sale.py
@ -105,18 +105,14 @@ class Sale(metaclass=PoolMeta):
|
|||||||
return [(None, '')] + [(m, get_name(m)) for m in models]
|
return [(None, '')] + [(m, get_name(m)) for m in models]
|
||||||
|
|
||||||
def _get_shipment_sale(self, Shipment, key):
|
def _get_shipment_sale(self, Shipment, key):
|
||||||
values = {
|
Shipment = super(Sale, self)._get_shipment_sale(Shipment, key)
|
||||||
'customer': self.shipment_party or self.party,
|
Shipment.sale_type = self.sale_type
|
||||||
'delivery_address': self.shipment_address,
|
Shipment.service_maintenance_initial = \
|
||||||
'company': self.company,
|
True if self.sale_type != 'equipments' else False
|
||||||
'sale_type': self.sale_type,
|
|
||||||
'service_maintenance_initial': True if self.sale_type != 'equipments' else False,
|
|
||||||
}
|
|
||||||
values.update(dict(key))
|
|
||||||
|
|
||||||
return Shipment(**values)
|
return Shipment
|
||||||
|
|
||||||
@classmethod
|
@ classmethod
|
||||||
def set_quote_number(cls, sales):
|
def set_quote_number(cls, sales):
|
||||||
'''
|
'''
|
||||||
Fill the number field with the sale sequence
|
Fill the number field with the sale sequence
|
||||||
@ -135,7 +131,7 @@ class Sale(metaclass=PoolMeta):
|
|||||||
else:
|
else:
|
||||||
raise UserError(gettext('optical_equipment.msg_not_sequence_quote'))
|
raise UserError(gettext('optical_equipment.msg_not_sequence_quote'))
|
||||||
|
|
||||||
@classmethod
|
@ classmethod
|
||||||
def copy(cls, sales, default=None):
|
def copy(cls, sales, default=None):
|
||||||
if default is None:
|
if default is None:
|
||||||
default = {}
|
default = {}
|
||||||
@ -152,15 +148,15 @@ class Sale(metaclass=PoolMeta):
|
|||||||
|
|
||||||
return super(Sale, cls).copy(sales, default=default)
|
return super(Sale, cls).copy(sales, default=default)
|
||||||
|
|
||||||
@classmethod
|
@ classmethod
|
||||||
@ModelView.button_action(
|
@ ModelView.button_action(
|
||||||
'optical_equipment.wizard_print_balance_sale_party')
|
'optical_equipment.wizard_print_balance_sale_party')
|
||||||
def report(cls, sales):
|
def report(cls, sales):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@classmethod
|
@ classmethod
|
||||||
@ModelView.button
|
@ ModelView.button
|
||||||
@Workflow.transition('quotation')
|
@ Workflow.transition('quotation')
|
||||||
def quote(cls, sales):
|
def quote(cls, sales):
|
||||||
pool = Pool()
|
pool = Pool()
|
||||||
AdvancePaymentCondition = pool.get('sale.advance_payment.condition')
|
AdvancePaymentCondition = pool.get('sale.advance_payment.condition')
|
||||||
@ -172,11 +168,11 @@ class Sale(metaclass=PoolMeta):
|
|||||||
sale.set_advance_payment_term()
|
sale.set_advance_payment_term()
|
||||||
cls.save(sales)
|
cls.save(sales)
|
||||||
|
|
||||||
@classmethod
|
@ classmethod
|
||||||
@ModelView.button_action(
|
@ ModelView.button_action(
|
||||||
'optical_equipment.wizard_confirm_sale_date')
|
'optical_equipment.wizard_confirm_sale_date')
|
||||||
@Workflow.transition('confirmed')
|
@ Workflow.transition('confirmed')
|
||||||
@set_employee('confirmed_by')
|
@ set_employee('confirmed_by')
|
||||||
def confirm(cls, sales):
|
def confirm(cls, sales):
|
||||||
pool = Pool()
|
pool = Pool()
|
||||||
Configuration = pool.get('sale.configuration')
|
Configuration = pool.get('sale.configuration')
|
||||||
@ -207,9 +203,9 @@ class Sale(metaclass=PoolMeta):
|
|||||||
sale.save()
|
sale.save()
|
||||||
|
|
||||||
cls.set_number(sales)
|
cls.set_number(sales)
|
||||||
with Transaction().set_context(
|
with transaction.set_context(
|
||||||
queue_name='sale',
|
queue_scheduled_at=config.sale_process_after,
|
||||||
queue_scheduled_at=config.sale_process_after):
|
queue_batch=context.get('queue_batch', True)):
|
||||||
cls.__queue__.process(sales)
|
cls.__queue__.process(sales)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,19 +2,17 @@
|
|||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||||
this repository contains the full copyright notices and license terms. -->
|
this repository contains the full copyright notices and license terms. -->
|
||||||
<data>
|
<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">
|
<xpath expr="//field[@name='warehouse']" position="after">
|
||||||
<label name="payment_term_description"/>
|
<label name="payment_term_description"/>
|
||||||
<field name="payment_term_description" colspan="5"/>
|
<field name="payment_term_description" colspan="5"/>
|
||||||
<newline/>
|
<newline/>
|
||||||
</xpath>
|
</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">
|
<xpath expr="//field[@name='reference']" position="after">
|
||||||
<newline/>
|
<newline/>
|
||||||
|
<label name="quote_number"/>
|
||||||
|
<field name="quote_number"/>
|
||||||
<label name="sale_type"/>
|
<label name="sale_type"/>
|
||||||
<field name="sale_type"/>
|
<field name="sale_type"/>
|
||||||
<label name="maintenance_type"/>
|
<label name="maintenance_type"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user