OCA / timesheet

Odoo Timesheet Management Addons
GNU Affero General Public License v3.0
125 stars 346 forks source link

[13.0] hr_timesheet_time_sheet: Field res.company.sheet_range with non-str value in selection #402

Closed gjhagens-shrd closed 2 years ago

gjhagens-shrd commented 4 years ago

During install of the hr_timesheet_time_sheet module in Odoo 13 community edition, the stacktrace below is produced. This is related to recent changes in Odoo 13 handling of the Selection field # and #.

Error: Odoo Server Error

Traceback (most recent call last): File "/home/odoo/odoo13/odoo/http.py", line 619, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/odoo/odoo13/odoo/http.py", line 309, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/home/odoo/odoo13/odoo/tools/pycompat.py", line 14, in reraise raise value File "/home/odoo/odoo13/odoo/http.py", line 664, in dispatch result = self._call_function(self.params) File "/home/odoo/odoo13/odoo/http.py", line 345, in _call_function return checked_call(self.db, *args, *kwargs) File "/home/odoo/odoo13/odoo/service/model.py", line 93, in wrapper return f(dbname, args, kwargs) File "/home/odoo/odoo13/odoo/http.py", line 338, in checked_call result = self.endpoint(*a, kw) File "/home/odoo/odoo13/odoo/http.py", line 910, in call return self.method(*args, *kw) File "/home/odoo/odoo13/odoo/http.py", line 510, in response_wrap response = f(args, kw) File "/home/odoo/odoo13/addons/web/controllers/main.py", line 1324, in call_button action = self._call_kw(model, method, args, kwargs) File "/home/odoo/odoo13/addons/web/controllers/main.py", line 1312, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/home/odoo/odoo13/odoo/api.py", line 387, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/home/odoo/odoo13/odoo/api.py", line 374, in _call_kw_multi result = method(recs, *args, *kwargs) File "", line 2, in button_immediate_install File "/home/odoo/odoo13/odoo/addons/base/models/ir_module.py", line 72, in check_and_log return method(self, args, **kwargs) File "/home/odoo/odoo13/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install return self._button_immediate_function(type(self).button_install) File "/home/odoo/odoo13/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function modules.registry.Registry.new(self._cr.dbname, update_module=True) File "/home/odoo/odoo13/odoo/modules/registry.py", line 86, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/home/odoo/odoo13/odoo/modules/loading.py", line 423, in load_modules loaded_modules, update_module, models_to_check) File "/home/odoo/odoo13/odoo/modules/loading.py", line 315, in load_marked_modules perform_checks=perform_checks, models_to_check=models_to_check File "/home/odoo/odoo13/odoo/modules/loading.py", line 201, in load_module_graph registry.setup_models(cr) File "/home/odoo/odoo13/odoo/modules/registry.py", line 252, in setup_models model._setup_base() File "/home/odoo/odoo13/odoo/models.py", line 2640, in _setup_base self._add_field(name, field.new()) File "/home/odoo/odoo13/odoo/models.py", line 375, in _add_field field.setup_base(self, name) File "/home/odoo/odoo13/odoo/fields.py", line 324, in setup_base self._setup_regular_base(model) File "/home/odoo/odoo13/odoo/fields.py", line 2078, in _setup_regular_base "Field %s with non-str value in selection" % self AssertionError: Field res.company.sheet_range with non-str value in selection

astirpe commented 4 years ago

@gjhagens-shrd I guess you upgraded the database from an old version to 13.0. In this case, the conversion of the values of sheet_range field is automatically executed by this OpenUpgrade script within module hr_timesheet_sheet. If you upgraded the database to V13 with a different method, other than OpenUpgrade, you should manually convert the values or create your own script.

gjhagens-shrd commented 4 years ago

@astirpe Thanks for your reply. This however was not the case, the installation was performed on a completely wiped system with a fresh install of Odoo 13 community edition. Are there any manual adjustments that can be done?

astirpe commented 4 years ago

You could check the database directly. The field sheet_range of table res_company shall contain only the following strings: MONTHLY WEEKLY DAILY You can fix the values manually in case they are wrong.

An alternative quick-and-dirty way to fix it could be by deleting field sheet_range from table res_company and update the module again.

gjhagens-shrd commented 4 years ago

Ah, thanks. The funny thing is that the field sheet_range doesn't exist in the table res_company. The quick-and-dirty way therefor doesn't work.

maheshreddygali commented 3 years ago

if anyone knows the solution please let me know..!! i am also facing the same problem during installation..

github-actions[bot] commented 2 years ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.