This commit is contained in:
Camilo Gonzalez 2023-08-21 09:08:53 -05:00
commit 56550df81a
3 changed files with 19 additions and 9 deletions

View File

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

View File

@ -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

View File

@ -7,4 +7,7 @@ this repository contains the full copyright notices and license terms. -->
<newline/>
<label name="operator"/>
<field name="operator"/>
<label name="prospects"/>
<field name="prospects"/>
</form>