[FIX] mail: check access rules of related documents when subscribing to it

Fix tests to execute actions with user that are allowed to

bzr revid: mat@openerp.com-20140106141157-0tp2bgw2d40ynrag
This commit is contained in:
Martin Trigaux 2014-01-06 15:11:57 +01:00
parent b1af63310c
commit d106d54ade
3 changed files with 7 additions and 3 deletions

View File

@ -1195,10 +1195,12 @@ class mail_thread(osv.AbstractModel):
if set(partner_ids) == set([user_pid]):
try:
self.check_access_rights(cr, uid, 'read')
self.check_access_rule(cr, uid, ids, 'read')
except (osv.except_osv, orm.except_orm):
return
return False
else:
self.check_access_rights(cr, uid, 'write')
self.check_access_rule(cr, uid, ids, 'write')
existing_pids_dict = {}
fol_ids = mail_followers_obj.search(cr, SUPERUSER_ID, [('res_model', '=', self._name), ('res_id', 'in', ids)])
@ -1243,8 +1245,10 @@ class mail_thread(osv.AbstractModel):
user_pid = self.pool.get('res.users').read(cr, uid, uid, ['partner_id'], context=context)['partner_id'][0]
if set(partner_ids) == set([user_pid]):
self.check_access_rights(cr, uid, 'read')
self.check_access_rule(cr, uid, ids, 'read')
else:
self.check_access_rights(cr, uid, 'write')
self.check_access_rule(cr, uid, ids, 'write')
fol_obj = self.pool['mail.followers']
fol_ids = fol_obj.search(
cr, SUPERUSER_ID, [

View File

@ -277,7 +277,7 @@ class TestPortalProject(common.TransactionCase):
# Data: subscribe Alfred, Chell and Donovan as follower
self.project_project.message_subscribe_users(cr, uid, [pigs_id], [self.user_alfred_id, self.user_chell_id, self.user_donovan_id])
self.project_task.message_subscribe_users(cr, self.user_alfred_id, [self.task_1_id, self.task_3_id], [self.user_chell_id, self.user_alfred_id])
self.project_task.message_subscribe_users(cr, self.user_ernest_id, [self.task_1_id, self.task_3_id], [self.user_chell_id, self.user_alfred_id])
# Do: Alfred reads project -> ok (follower ok followers)
self.project_project.read(cr, self.user_alfred_id, pigs_id, ['name'])

View File

@ -168,7 +168,7 @@ class TestPortalIssueProject(TestPortalProject):
# Data: subscribe Alfred, Chell and Donovan as follower
self.project_project.message_subscribe_users(cr, uid, [pigs_id], [self.user_alfred_id, self.user_chell_id, self.user_donovan_id])
self.project_issue.message_subscribe_users(cr, self.user_alfred_id, [self.issue_1_id, self.issue_3_id], [self.user_chell_id, self.user_alfred_id])
self.project_issue.message_subscribe_users(cr, self.user_ernest_id, [self.issue_1_id, self.issue_3_id], [self.user_chell_id, self.user_alfred_id])
# Do: Alfred reads project -> ok (follower ok followers)
# Test: followed + assigned issues visible