From 31fb4211e43b4514df9d395962db29c4b4a28d9f Mon Sep 17 00:00:00 2001 From: camilogs Date: Thu, 24 Aug 2023 15:01:39 -0500 Subject: [PATCH] =?UTF-8?q?feat(AssignProspectsWizard):=20Se=20encuentran?= =?UTF-8?q?=20prospectos=20tambi=C3=A9n=20por=20unidad=20de=20negocio,=20c?= =?UTF-8?q?losed=20#55?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prospect.py | 18 +++++++++++++++--- tests/scenario_sale_opportunity_management.rst | 3 ++- view/assign_start_form.xml | 3 +++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/prospect.py b/prospect.py index 7ae1120..5c33752 100644 --- a/prospect.py +++ b/prospect.py @@ -81,16 +81,27 @@ class AssignOperatorStart(ModelView): 'Inicio de asignación de operador' __name__ = 'sale.prospect.assign.start' - prospects_chunk = fields.Integer('Prospects chunk', required=True) + prospects_chunk = fields.Integer( + 'Prospects chunk', required=True, + states={ + 'readonly': ~Eval('business_unit', False)}) + operator = fields.Many2One('res.user', 'Operator', required=True) prospects = fields.One2Many( 'sale.prospect', None, 'Prospects') + business_unit = fields.Selection( + [('brigade', 'Brigade'), + ('optics', 'Optics'), + ('equipment', 'Equipment')], + 'Business unit' + ) + @classmethod def default_prospects_chunk(cls): return 0 - @fields.depends('prospects_chunk', 'prospects') + @fields.depends('prospects_chunk', 'prospects', 'business_unit') def on_change_prospects_chunk(self): pool = Pool() Prospect = pool.get('sale.prospect') @@ -98,7 +109,8 @@ class AssignOperatorStart(ModelView): if self.prospects_chunk >= 1: self.prospects = [] self.prospects = Prospect.search( - [('state', '=', 'unassigned')], + [('state', '=', 'unassigned'), + ('business_unit', '=', self.business_unit)], limit=self.prospects_chunk) diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index 5969fb5..066ba4a 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -105,7 +105,8 @@ Asignar prospectos a un operario:: >>> user, = User.find([('name', '=', 'Administrator')]) >>> assign = Wizard('sale.prospect.assign', [prospect1, prospect2, prospect3]) - >>> assign.form.prospects_chunk = 2 + >>> assign.form.business_unit = 'brigade' + >>> assign.form.prospects_chunk = 3 >>> assign.form.operator = user >>> assign.form.prospects [proteus.Model.get('sale.prospect')(1), proteus.Model.get('sale.prospect')(2)] diff --git a/view/assign_start_form.xml b/view/assign_start_form.xml index 21329b9..b08bab5 100644 --- a/view/assign_start_form.xml +++ b/view/assign_start_form.xml @@ -4,8 +4,11 @@ this repository contains the full copyright notices and license terms. -->