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.