From f0a5e30b3830efd40576122fcb4039ef9297670e Mon Sep 17 00:00:00 2001 From: camilogs Date: Mon, 21 Aug 2023 09:05:48 -0500 Subject: [PATCH] =?UTF-8?q?feat(Wizard=20de=20asignaci=C3=B3n=20de=20prosp?= =?UTF-8?q?ectos):=20Se=20agrega=20campo=20para=20visualizaci=C3=B3n=20de?= =?UTF-8?q?=20terceros=20encontrados=20seg=C3=BAn=20el=20chunk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prospect.py | 23 +++++++++++-------- .../scenario_sale_opportunity_management.rst | 2 ++ view/assign_start_form.xml | 3 +++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/prospect.py b/prospect.py index ef3d76a..52c95b4 100644 --- a/prospect.py +++ b/prospect.py @@ -75,7 +75,19 @@ class AssignOperatorStart(ModelView): __name__ = 'sale.prospect.assign.start' prospects_chunk = fields.Integer('Prospects chunk') - operator = fields.Many2One('res.user', 'Operator') + operator = fields.Many2One('res.user', 'Operator', required=True) + prospects = fields.One2Many( + 'sale.prospect', None, 'Prospects') + + @fields.depends('prospects_chunk', 'prospects') + def on_change_prospects_chunk(self): + pool = Pool() + Prospect = pool.get('sale.prospect') + + self.prospects = [] + self.prospects = Prospect.search( + [('state', '=', 'unassigned')], + limit=self.prospects_chunk) class AssignOperator(Wizard): @@ -91,14 +103,7 @@ class AssignOperator(Wizard): assign = StateTransition() def transition_assign(self): - pool = Pool() - Prospect = pool.get('sale.prospect') - - prospects = Prospect.search( - [('state', '=', 'unassigned')], - limit=self.start.prospects_chunk) - - for prospect in prospects: + for prospect in self.start.prospects: prospect.assigned_operator = self.start.operator prospect.state = 'assigned' prospect.save() diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index de8c06e..4cb1b62 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -91,6 +91,8 @@ Asignar operario a un prospecto:: >>> assign = Wizard('sale.prospect.assign', [prospect1, prospect2]) >>> assign.form.prospects_chunk = 2 >>> assign.form.operator = user + >>> assign.form.prospects + [proteus.Model.get('sale.prospect')(1), proteus.Model.get('sale.prospect')(2)] >>> assign.execute('assign') >>> prospect1.assigned_operator.name diff --git a/view/assign_start_form.xml b/view/assign_start_form.xml index ce83300..857fa8c 100644 --- a/view/assign_start_form.xml +++ b/view/assign_start_form.xml @@ -7,4 +7,7 @@ this repository contains the full copyright notices and license terms. -->