Skip to content
Snippets Groups Projects
Commit 774f3d8b authored by Olivier Laurent's avatar Olivier Laurent
Browse files

[FIX] base: res.widget.user: (transparently) prevent adding the same widget to the same user twice

bzr revid: olt@tinyerp.com-20101202114435-ofym2ntp3pf5ikx2
parent 2fb88d7d
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@
##############################################################################
from osv import fields,osv
class res_widget(osv.osv):
_name = "res.widget"
_rec_name = "title"
......@@ -27,8 +29,10 @@ class res_widget(osv.osv):
'title' : fields.char('Title', size=64, required=True, translate=True),
'content': fields.text('Content', required=True),
}
res_widget()
class res_widget_user(osv.osv):
_name="res.widget.user"
_order = "sequence"
......@@ -37,8 +41,18 @@ class res_widget_user(osv.osv):
'user_id': fields.many2one('res.users','User', select=1),
'widget_id': fields.many2one('res.widget','Widget',required=True),
}
def create(self, cr, uid, vals, context=None):
existing = self.search(cr, uid, [('user_id', '=', vals.get('user_id')), ('widget_id', '=', vals.get('widget_id'))], context=context)
if existing:
res = existing[0]
else:
res = super(res_widget_user, self).create(cr, uid, vals, context=context)
return res
res_widget_user()
class res_widget_wizard(osv.osv_memory):
_name = "res.widget.wizard"
_description = "Add a widget for User"
......@@ -58,4 +72,6 @@ class res_widget_wizard(osv.osv_memory):
self.pool.get('res.widget.user').create(
cr, uid, {'user_id':uid, 'widget_id':wiz_id}, context=context)
return {'type': 'ir.actions.act_window_close'}
res_widget_wizard()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment