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): def _get_default_requested_by(self):
return self.env.user 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 @api.model
def create(self, vals): def create(self, vals):
"""Add sequence if name is not defined and subscribe to the thread """Add sequence if name is not defined and subscribe to the thread
the user assigned to the request.""" the user assigned to the request."""
if not vals.get('name') or vals.get('name') == '/': vals = self._create_sequence(vals)
vals['name'] = self.env['ir.sequence'].next_by_code(
'mrp.production.request') or '/'
res = super(MrpProductionRequest, self).create(vals) res = super(MrpProductionRequest, self).create(vals)
if vals.get('assigned_to'): res._subscribe_assigned_user(vals)
res.message_subscribe_users(user_ids=[res.assigned_to.id])
return res return res
@api.multi @api.multi
def write(self, vals): def write(self, vals):
res = super(MrpProductionRequest, self).write(vals) res = super(MrpProductionRequest, self).write(vals)
for request in self: for request in self:
if vals.get('assigned_to'): request._subscribe_assigned_user(vals)
self.message_subscribe_users(user_ids=[request.assigned_to.id])
return res return res
@api.onchange('product_id') @api.onchange('product_id')