[IMP] allow to reset broken views in the 500 error page

bzr revid: fme@openerp.com-20131217134600-v0i170n9gw7752vj
This commit is contained in:
Fabien Meghazi
2013-12-17 14:46:00 +01:00
parent 5d97a99b1a
commit 1434a5aae9
5 changed files with 175 additions and 27 deletions
+16
View File
@@ -99,6 +99,22 @@ class Website(openerp.addons.web.controllers.main.Home):
return request.registry['ir.http']._handle_exception(e, 404)
return request.website.render(page, values)
@website.route('/website/reset_templates', type='http', auth='user', methods=['POST'])
def reset_template(self, templates, redirect='/'):
templates = request.httprequest.form.getlist('templates')
modules_to_update = []
for temp_id in templates:
view = request.registry['ir.ui.view'].browse(request.cr, request.uid, int(temp_id), context=request.context)
view.model_data_id.write({
'noupdate': False
})
if view.model_data_id.module not in modules_to_update:
modules_to_update.append(view.model_data_id.module)
module_obj = request.registry['ir.module.module']
module_ids = module_obj.search(request.cr, request.uid, [('name', 'in', modules_to_update)], context=request.context)
module_obj.button_immediate_upgrade(request.cr, request.uid, module_ids, context=request.context)
return request.redirect(redirect)
@website.route('/website/customize_template_toggle', type='json', auth='user')
def customize_template_set(self, view_id):
view_obj = request.registry.get("ir.ui.view")