[FIX] TypeError: unhashable type: 'list'

This commit is contained in:
Bhavesh Odedra
2018-07-19 20:08:43 +05:30
committed by ahenriquez
parent 82cb12c2e1
commit f45ccd1688
3 changed files with 29 additions and 26 deletions

View File

@@ -109,9 +109,9 @@ class RmaOrder(models.Model):
for move in line.move_ids: for move in line.move_ids:
if move.picking_id.location_id == suppliers: if move.picking_id.location_id == suppliers:
picking_ids.append(move.picking_id.id) picking_ids.append(move.picking_id.id)
shipments = list(set(picking_ids)) if picking_ids:
# choose the view_mode accordingly shipments = list(set(picking_ids))
if shipments: # choose the view_mode accordingly
if len(shipments) > 1: if len(shipments) > 1:
result['domain'] = [('id', 'in', shipments)] result['domain'] = [('id', 'in', shipments)]
else: else:
@@ -136,14 +136,15 @@ class RmaOrder(models.Model):
for move in line.move_ids: for move in line.move_ids:
if move.picking_id.location_id != suppliers: if move.picking_id.location_id != suppliers:
picking_ids.append(move.picking_id.id) picking_ids.append(move.picking_id.id)
shipments = list(set(picking_ids)) if picking_ids:
# choose the view_mode accordingly shipments = list(set(picking_ids))
if len(shipments) != 1: # choose the view_mode accordingly
result['domain'] = [('id', 'in', shipments)] if len(shipments) != 1:
else: result['domain'] = [('id', 'in', shipments)]
res = self.env.ref('stock.view_picking_form', False) else:
result['views'] = [(res and res.id or False, 'form')] res = self.env.ref('stock.view_picking_form', False)
result['res_id'] = shipments[0] result['views'] = [(res and res.id or False, 'form')]
result['res_id'] = shipments[0]
return result return result
@api.multi @api.multi

View File

@@ -519,13 +519,14 @@ class RmaOrderLine(models.Model):
('rma_line_id', 'in', self.ids)]) ('rma_line_id', 'in', self.ids)])
picking_ids = moves.mapped('picking_id').filtered( picking_ids = moves.mapped('picking_id').filtered(
lambda p: p.picking_type_code == 'incoming').ids lambda p: p.picking_type_code == 'incoming').ids
# choose the view_mode accordingly if picking_ids:
if len(picking_ids) > 1: # choose the view_mode accordingly
result['domain'] = [('id', 'in', picking_ids)] if len(picking_ids) > 1:
else: result['domain'] = [('id', 'in', picking_ids)]
res = self.env.ref('stock.view_picking_form', False) else:
result['views'] = [(res and res.id or False, 'form')] res = self.env.ref('stock.view_picking_form', False)
result['res_id'] = picking_ids and picking_ids[0] result['views'] = [(res and res.id or False, 'form')]
result['res_id'] = picking_ids and picking_ids[0]
return result return result
@api.multi @api.multi
@@ -536,11 +537,12 @@ class RmaOrderLine(models.Model):
('rma_line_id', 'in', self.ids)]) ('rma_line_id', 'in', self.ids)])
picking_ids = moves.mapped('picking_id').filtered( picking_ids = moves.mapped('picking_id').filtered(
lambda p: p.picking_type_code == 'outgoing').ids lambda p: p.picking_type_code == 'outgoing').ids
# choose the view_mode accordingly if picking_ids:
if len(picking_ids) > 1: # choose the view_mode accordingly
result['domain'] = [('id', 'in', picking_ids)] if len(picking_ids) > 1:
else: result['domain'] = [('id', 'in', picking_ids)]
res = self.env.ref('stock.view_picking_form', False) else:
result['views'] = [(res and res.id or False, 'form')] res = self.env.ref('stock.view_picking_form', False)
result['res_id'] = picking_ids and picking_ids[0] result['views'] = [(res and res.id or False, 'form')]
result['res_id'] = picking_ids and picking_ids[0]
return result return result

View File

@@ -187,7 +187,7 @@ class RmaMakePicking(models.TransientModel):
@api.model @api.model
def _get_action(self, pickings, procurements): def _get_action(self, pickings, procurements):
if pickings: if pickings and procurements:
action = procurements.do_view_pickings() action = procurements.do_view_pickings()
else: else:
action = self.env.ref( action = self.env.ref(