lims_sale: Add service quantity to LoadAnalysis Wizard

This commit is contained in:
pablopadulles 2023-02-18 11:24:42 -03:00 committed by GitHub
parent f88ff59738
commit c663591c5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -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():

View File

@ -1,5 +1,7 @@
<?xml version="1.0"?>
<form>
<label name="quantity"/>
<field name="quantity"/>
<label name="analysis"/>
<field name="analysis"/>
</form>