summaryrefslogtreecommitdiff
path: root/addons/website/controllers
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2013-12-17 14:46:00 +0100
committerFabien Meghazi <fme@openerp.com>2013-12-17 14:46:00 +0100
commit1434a5aae91b207cb4e7fe64c8ec45dd00a10a72 (patch)
treea925511f67d765ea8cbfeec94eea4b00933c5955 /addons/website/controllers
parent5d97a99b1a6d5ae422539fdd91c0f6344c410fa8 (diff)
[IMP] allow to reset broken views in the 500 error page
bzr revid: fme@openerp.com-20131217134600-v0i170n9gw7752vj
Diffstat (limited to 'addons/website/controllers')
-rw-r--r--addons/website/controllers/main.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index 0171429dd1b..01acd1f6ba7 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -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")