[ADD] Add custom views management (add, undo) in View controller

bzr revid: fme@openerp.com-20110601134514-dv91qpjl50ptf161
This commit is contained in:
Fabien Meghazi 2011-06-01 15:45:14 +02:00
parent b681b0ec75
commit dac344cf31
1 changed files with 21 additions and 0 deletions

View File

@ -456,6 +456,8 @@ class DataGroup(openerpweb.Controller):
dict(request.context, group_by=group_by_fields))
class View(openerpweb.Controller):
_cp_path = "/base/view"
def fields_view_get(self, request, model, view_id, view_type,
transform=True, toolbar=False, submenu=False):
Model = request.session.model(model)
@ -471,6 +473,25 @@ class View(openerpweb.Controller):
fvg['arch'] = Xml2Json.convert_element(xml)
return fvg
@openerpweb.jsonrequest
def add_custom(self, request, view_id, arch):
CustomView = request.session.model('ir.ui.view.custom')
CustomView.create({
'user_id': request.session._uid,
'ref_id': view_id,
'arch': arch
})
return {'result': True}
@openerpweb.jsonrequest
def undo_custom(self, request, view_id):
CustomView = request.session.model('ir.ui.view.custom')
vcustom = CustomView.search([('user_id', '=', request.session._uid), ('ref_id' ,'=', view_id)])
if vcustom:
CustomView.unlink([vcustom[0]])
return {'result': True}
return {'result': False}
def normalize_attrs(self, elem, context):
""" Normalize @attrs, @invisible, @required, @readonly and @states, so
the client only has to deal with @attrs.