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 %}