Improve extensibility

* Add method to subscribe assigned to user
* Make sequence creation easier to extend
This commit is contained in:
Andhitia Rama
2017-06-27 20:16:16 +07:00
committed by Chandresh Thakkar
parent d19101ebaf
commit e632b4225f

View File

@@ -21,24 +21,33 @@ class MrpProductionRequest(models.Model):
def _get_default_requested_by(self):
return self.env.user
@api.multi
def _subscribe_assigned_user(self, vals):
self.ensure_one()
if vals.get('assigned_to'):
self.message_subscribe_users(user_ids=[self.assigned_to.id])
@api.model
def _create_sequence(self, vals):
if not vals.get('name') or vals.get('name') == '/':
vals['name'] = self.env['ir.sequence'].next_by_code(
'mrp.production.request') or '/'
return vals
@api.model
def create(self, vals):
"""Add sequence if name is not defined and subscribe to the thread
the user assigned to the request."""
if not vals.get('name') or vals.get('name') == '/':
vals['name'] = self.env['ir.sequence'].next_by_code(
'mrp.production.request') or '/'
vals = self._create_sequence(vals)
res = super(MrpProductionRequest, self).create(vals)
if vals.get('assigned_to'):
res.message_subscribe_users(user_ids=[res.assigned_to.id])
res._subscribe_assigned_user(vals)
return res
@api.multi
def write(self, vals):
res = super(MrpProductionRequest, self).write(vals)
for request in self:
if vals.get('assigned_to'):
self.message_subscribe_users(user_ids=[request.assigned_to.id])
request._subscribe_assigned_user(vals)
return res
@api.onchange('product_id')