diff options
Diffstat (limited to 'addons/website/controllers/main.py')
| -rw-r--r-- | addons/website/controllers/main.py | 16 |
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") |
