lims_sale: Add service quantity to LoadAnalysis Wizard
This commit is contained in:
parent
f88ff59738
commit
c663591c5e
|
@ -944,6 +944,11 @@ class SaleLoadAnalysisStart(ModelView):
|
|||
|
||||
analysis = fields.Many2One('lims.analysis', 'Set/Group', required=True,
|
||||
domain=[('type', 'in', ['set', 'group'])])
|
||||
quantity = fields.Integer('Quantity', required=True)
|
||||
|
||||
@staticmethod
|
||||
def default_quantity():
|
||||
return 1
|
||||
|
||||
|
||||
class SaleLoadAnalysis(Wizard):
|
||||
|
@ -963,7 +968,7 @@ class SaleLoadAnalysis(Wizard):
|
|||
|
||||
sale_id = Transaction().context['active_id']
|
||||
|
||||
def get_sale_services(analysis, sale_services={}):
|
||||
def get_sale_services(analysis, quantity=1, sale_services={}):
|
||||
if not analysis.included_analysis:
|
||||
return sale_services
|
||||
for ia in analysis.included_analysis:
|
||||
|
@ -973,16 +978,16 @@ class SaleLoadAnalysis(Wizard):
|
|||
if included.id not in sale_services.keys():
|
||||
if included.type != 'set':
|
||||
sale_services[included.id] = {
|
||||
'quantity': 1,
|
||||
'quantity': quantity,
|
||||
'unit': included.product.default_uom.id,
|
||||
'product': included.product.id,
|
||||
'method': ia.method.id if ia.method else None,
|
||||
'description': included.rec_name,
|
||||
}
|
||||
sale_services = get_sale_services(included, sale_services)
|
||||
sale_services = get_sale_services(included, quantity, sale_services)
|
||||
return sale_services
|
||||
|
||||
sale_services = get_sale_services(self.start.analysis)
|
||||
sale_services = get_sale_services(self.start.analysis, self.start.quantity)
|
||||
|
||||
sale_lines = []
|
||||
for service in sale_services.values():
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<form>
|
||||
<label name="quantity"/>
|
||||
<field name="quantity"/>
|
||||
<label name="analysis"/>
|
||||
<field name="analysis"/>
|
||||
</form>
|
||||
|
|
Loading…
Reference in New Issue