From a9eba4dc405a0d1f76e04ce0ba2d26fe5057fa80 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 28 May 2014 19:16:50 +0200 Subject: [PATCH] Detect if controller name correspond to a model name --- openerp/cli/scaffold.py | 2 ++ openerp/cli/scaffold/controllers.jinja2 | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/openerp/cli/scaffold.py b/openerp/cli/scaffold.py index 4fdd5a32137..8d580eba0b4 100644 --- a/openerp/cli/scaffold.py +++ b/openerp/cli/scaffold.py @@ -68,6 +68,8 @@ class Scaffold(Command): if os.path.exists(controller_file): die("Controller `%s` already exists !" % controller_file) self.add_init_import(module('__init__.py'), 'controllers') + # Check if the controller name correspond to a model and expose result to templates + args.has_model = self.has_import(module('models', '__init__.py'), controller_module) self.add_init_import(module('controllers', '__init__.py'), controller_module) self.dump('controllers.jinja2', module('controllers', controller_file), config=args) diff --git a/openerp/cli/scaffold/controllers.jinja2 b/openerp/cli/scaffold/controllers.jinja2 index db08e62c375..78099b1f939 100644 --- a/openerp/cli/scaffold/controllers.jinja2 +++ b/openerp/cli/scaffold/controllers.jinja2 @@ -6,8 +6,8 @@ class {{ config.controller }}(main.Home): @http.route('/{{ config.module }}/{{ config.controller }}', auth='public') def index(self): return "Hello, world!" -{% if config.model %} - @http.route('/{{ config.module }}/{{ config.controller }}/{{ config.model }}/'], type='http', auth='public') - def {{ config.model }}(self, {{ config.model }}, **kw): - return "Hello, %r!" % {{ config.model }} +{% if config.has_model %} + @http.route('/{{ config.module }}/{{ config.controller }}/'], type='http', auth='public') + def {{ config.controller }}(self, {{ config.controller }}, **kw): + return "Hello, %r!" % {{ config.controller }} {% endif %}