[FIX] note: fixed note creation.
When creating a new note, a function field requires to browse the note in order to get the stages. However the basic rule for creating a note is to be in the followers. As followers is another field set during the creation, we are not sure uid is already in the followers of the note when reading it. We therefore do it as SUPERUSER_ID, because it is only to have access to some technical data of the note. bzr revid: tde@openerp.com-20131219132839-m0a5rv0znhliqbq1
This commit is contained in:
+4
-3
@@ -84,9 +84,10 @@ class note_note(osv.osv):
|
||||
return ids and ids[0] or False
|
||||
|
||||
def _set_stage_per_user(self, cr, uid, id, name, value, args=None, context=None):
|
||||
note = self.browse(cr, uid, id, context=context)
|
||||
if not value: return False
|
||||
stage_ids = [value] + [stage.id for stage in note.stage_ids if stage.user_id.id != uid ]
|
||||
if not value:
|
||||
return False
|
||||
note = self.browse(cr, SUPERUSER_ID, id, context=context) # do it as SUPERUSER because when creating, followers are not necessariliry set (another function field)
|
||||
stage_ids = [value] + [stage.id for stage in note.stage_ids if stage.user_id.id != uid]
|
||||
return self.write(cr, uid, [id], {'stage_ids': [(6, 0, set(stage_ids))]}, context=context)
|
||||
|
||||
def _get_stage_per_user(self, cr, uid, ids, name, args, context=None):
|
||||
|
||||
Reference in New Issue
Block a user