Hi guys
I want to start my very own first custom addon.
I need a button next to 'Create', 'Import' in Project > Tasks (In Progress stage) that exports all the In-Progress tasks as a txt file.
My model looks like this at the moment:
models.py
from odoo import models, fields, apiclass export_tasks(models.Model):_name = 'export_tasks.PS'_inherit = "project.task"export_dropdown = fields.Many2one('Model_name')
views.xml
but I am stuck and getting this error:
Traceback (most recent call last):
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 650, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 692, in dispatch
result = self._call_function(**self.params)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 335, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 936, in __call__
return self.method(*args, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-51>", line 2, in button_immediate_upgrade
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 71, in check_and_log
return method(self, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 603, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 542, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 376, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 153, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name})
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/registry.py", line 306, in init_models
model._auto_init()
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/models.py", line 2179, in _auto_init
raise_on_invalid_object_name(self._name)
File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/models.py", line 97, in raise_on_invalid_object_name
raise ValueError(msg)
ValueError: The _name attribute export_tasks.PS is not valid.It is worth mentioning that I am not creating a new addon per se but extending functionality to the Project app. You may be asking oh but you can export by selecting tasks and select Action > Export! Sure, but it takes a few more steps and it kind of breaks for me and it is not a txt file, so that's why I do this myself.
Thanks guys!
I dont have enough karma points to comment to answers
Yes, my __init__.py has these two lines:
from . import controllers
from . import models
as well as in the models folder
Odoo Customization Tips: https://learnopenerp.tumblr.com/