From c6f91facbb44336de5d2278983b0a006ed3e014f Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 30 Jul 2014 15:10:22 +0200 Subject: [PATCH] [FIX] website: do not restore page views --- addons/website/controllers/main.py | 11 ++++++++--- addons/website/models/ir_http.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 856ab6ecffc..4f2a2a3da4a 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -141,14 +141,19 @@ class Website(openerp.addons.web.controllers.main.Home): 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) + if view.page: + continue 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) + + if modules_to_update: + module_obj = request.registry['ir.module.module'] + module_ids = module_obj.search(request.cr, request.uid, [('name', 'in', modules_to_update)], context=request.context) + if module_ids: + module_obj.button_immediate_upgrade(request.cr, request.uid, module_ids, context=request.context) return request.redirect(redirect) @http.route('/website/customize_template_toggle', type='json', auth='user', website=True) diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index be6b4982819..a73e33cb824 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -137,7 +137,7 @@ class ir_http(orm.AbstractModel): if 'qweb_exception' in values: view = request.registry.get("ir.ui.view") views = view._views_get(request.cr, request.uid, exception.qweb['template'], request.context) - to_reset = [v for v in views if v.model_data_id.noupdate is True] + to_reset = [v for v in views if v.model_data_id.noupdate is True and not v.page] values['views'] = to_reset elif code == 403: logger.warn("403 Forbidden:\n\n%s", values['traceback'])