[REF] mail.thread API: get_subscribers: propagated chances (in crm_lead, hr_holidays, hr_recruitment, mrp, project, project_issue)

bzr revid: tde@openerp.com-20120511124139-paj05zp4lw6bvcr6
This commit is contained in:
Thibault Delavallée 2012-05-11 14:41:39 +02:00
parent db6471f7e0
commit 35b0b58b3e
6 changed files with 43 additions and 43 deletions

View File

@ -829,13 +829,12 @@ class crm_lead(crm_case, osv.osv):
# OpenChatter methods and notifications
# ----------------------------------------
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(crm_lead, self).message_get_subscribers_ids(cr, uid, ids, context=context)
# add salesman to the subscribers
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(crm_lead, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
return super(crm_lead, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def case_get_note_msg_prefix(self, cr, uid, lead, context=None):
if isinstance(lead, (int, long)):

View File

@ -371,14 +371,15 @@ class hr_holidays(osv.osv):
hr_manager_group = self.pool.get('res.groups').read(cr, uid, [obj_id], ['users'], context=context)[0]
result[obj.id] = hr_manager_group['users']
return result
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(hr_holidays, self).message_get_subscribers_ids(cr, uid, ids, context=context)
# add the employee and its manager if specified to the subscribed users
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(hr_holidays, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.employee_id.parent_id:
sub_ids.append(obj.employee_id.parent_id.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
if obj.employee_id.parent_id and not obj.employee_id.parent_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.employee_id.parent_id.id], context=context)
return super(hr_holidays, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def create_notificate(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):

View File

@ -483,13 +483,13 @@ class hr_applicant(crm.crm_case, osv.osv):
# -------------------------------------------------------
# OpenChatter methods and notifications
# -------------------------------------------------------
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(hr_applicant, self).message_get_subscribers_ids(cr, uid, ids, context=context)
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(hr_applicant, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
return super(hr_applicant, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def get_needaction_user_ids(self, cr, uid, ids, context=None):
result = dict.fromkeys(ids, [])

View File

@ -1041,12 +1041,12 @@ class mrp_production(osv.osv):
result[obj.id] = [obj.user_id.id]
return result
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(mrp_production, self).message_get_subscribers_ids(cr, uid, ids, context=context)
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(mrp_production, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
return super(mrp_production, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def create_send_note(self, cr, uid, ids, context=None):
self.message_append_note(cr, uid, ids, body=_("Manufacturing order has been <b>created</b>."), context=context)

View File

@ -471,12 +471,12 @@ def Project():
result[obj.id] = [obj.user_id.id]
return result
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(project, self).message_get_subscribers_ids(cr, uid, ids, context=context);
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(project, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
return super(project, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def create(self, cr, uid, vals, context=None):
obj_id = super(project, self).create(cr, uid, vals, context=context)
@ -1154,14 +1154,14 @@ class task(osv.osv):
result[obj.id] = [obj.user_id.id]
return result
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(task, self).message_get_subscribers_ids(cr, uid, ids, context=context)
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(task, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
if obj.manager_id:
sub_ids.append(obj.manager_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
if obj.manager_id and not obj.manager_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.manager_id.id], context=context)
return super(task, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def create_send_note(self, cr, uid, ids, context=None):
return self.message_append_note(cr, uid, ids, body=_("Task has been <b>created</b>."), context=context)

View File

@ -475,19 +475,19 @@ class project_issue(crm.crm_case, osv.osv):
if obj.state == 'draft' and obj.user_id:
result[obj.id] = [obj.user_id.id]
return result
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
sub_ids = super(project_issue, self).message_get_subscribers_ids(cr, uid, ids, context=context)
def message_get_subscribers(self, cr, uid, ids, get_ids=False, context=None):
user_ids = super(project_issue, self).message_get_subscribers(cr, uid, ids, True, context=context)
for obj in self.browse(cr, uid, ids, context=context):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return sub_ids
if obj.user_id and not obj.user_id.id in user_ids:
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
return super(project_issue, self).message_get_subscribers(cr, uid, ids, get_ids, context=context)
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
return 'Project issue '
def convert_to_task_send_note(self, cr, uid, ids, context=None):
message = _("Project issue has been <b>converted</b> in to task.")
message = _("Project issue has been <b>converted</b> into task.")
return self.message_append_note(cr, uid, ids, body=message, context=context)
def create_send_note(self, cr, uid, ids, context=None):