I was learning to create a custom module to Odoo using Odoo Development Essentials book by Daniel Reis. I set up access rule permissions just like the examples in the book. I wonder what goes wrong on my module?
My ir.access.model.csv content is below:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_todo_task_group_user,todo.task.user,model_todo_task,base.group_user,1,1,1,1
The __openerp__.py looks like below:
# -*- coding: utf-8 -*-
{
'name': "learn_todo",
'summary': """
Short (1 phrase/line) summary of the module's purpose, used as
subtitle on modules listing or apps.openerp.com""",
'description': """
Long description of module's purpose """,
'author': "Your Company",
'website': "http://www.yourcompany.com",
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
# for the full list
'category': 'Uncategorized',
'version': '0.1',
# any module necessary for this one to work correctly
'depends': ['mail'],
# always loaded
'data': [
'templates.xml',
'todo-view.xml',
'security/ir.model.access.csv'
],
# only loaded in demonstration mode
'demo': [
'demo.xml'
]
}
The error trace
Traceback (most recent call last): File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 537, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 574, in dispatch result = self._call_function(**self.params) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 310, in _call_function return checked_call(self.db, *args, **kwargs) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 307, in checked_call return self.endpoint(*a, **kw) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 803, in __call__ return self.method(*args, **kw) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/http.py", line 403, in response_wrap response = f(*args, **kw) File "/Volumes/HFS/projects/odoo/github/odoo/addons/web/controllers/main.py", line 948, in call_button action = self._call_kw(model, method, args, {}) File "/Volumes/HFS/projects/odoo/github/odoo/addons/web/controllers/main.py", line 936, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/api.py", line 250, in wrapper return old_api(self, *args, **kwargs) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/addons/base/module/module.py", line 447, in button_immediate_install return self._button_immediate_function(cr, uid, ids, self.button_install, context=context) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/api.py", line 250, in wrapper return old_api(self, *args, **kwargs) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/addons/base/module/module.py", line 495, in _button_immediate_function registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/registry.py", line 370, in new openerp.modules.load_modules(registry._db, force_demo, status, update_module) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/loading.py", line 355, in load_modules loaded_modules, update_module) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/loading.py", line 255, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/loading.py", line 176, in load_module_graph _load_data(cr, module_name, idref, mode, kind='data') File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/loading.py", line 118, in _load_data tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/tools/convert.py", line 895, in convert_file convert_csv_import(cr, module, pathname, fp.read(), idref, mode, noupdate) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/tools/convert.py", line 960, in convert_csv_import result, rows, warning_msg, dummy = registry[model].import_data(cr, uid, fields, datas,mode, module, noupdate, filename=fname_partial) File "/Volumes/HFS/projects/odoo/github/odoo/openerp/modules/registry.py", line 102, in __getitem__ return self.models[model_name] KeyError: u'learn'
Hello, Load csv file first.
Hi Jignesh, if you mean to put ir.model.access.csv first, it still get the same exception.