Tuesday, September 21, 2021
17 changes · master
Enhancements to existing features
The appraisal process now includes a dedicated 360 Feedback survey and uses it by default when requesting feedback. This helps gather more structured input from multiple perspectives during employee reviews.
Original PR description
Define new '360 Feedback' survey and make it default when asking for feedback. task - 2643216
Resolved issues and error corrections
Fleet demo data now shows the Summer Tires service type only once and presents service types alphabetically. This makes sample fleet records easier to browse and avoids duplicate entries that could confuse users evaluating or demonstrating the app.
Original PR description
Description of the issue/feature this PR addresses: In fleet, the demo data for service type have two entries for summer tires The service types are sorted by alphabetical orders instead of id Current behavior before PR: The summer tires service type is appearing twice in the demo data The service types are sorted by id Desired behavior after PR is merged: The summer tires service type is unique in the list The services types are sorted by alphabetical order task-2641484 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Since [1] if neither website_blog nor website_sale was installed, upon selecting a dynamic snippet, an error was raised. It therefore prevented deleting the unusable snippet. After this commit the error is avoided by coping with the fact that it is possible that no template is installed. [1] https://github.com/odoo/odoo/commit/ef531afe39f9a586f4eac381651aa32eaec8b098 Related to #75662 task-2651978 Description of the issue/feature this PR addresses: Current behavior before PR
Original PR description
Since [1] if neither website_blog nor website_sale was installed, upon selecting a dynamic snippet, an error was raised. It therefore prevented deleting the unusable snippet. After this commit the error is avoided by coping with the fact that it is possible that no template is installed. [1] https://github.com/odoo/odoo/commit/ef531afe39f9a586f4eac381651aa32eaec8b098 Related to #75662 task-2651978 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76828
Opening pivot records from an existing spreadsheet and then returning no longer creates an unwanted new sheet. This keeps spreadsheets stable and avoids confusing duplicate content for users working with pivot data.
Original PR description
Steps to reproduce: - Insert a pivot in an existing spreadsheet - See pivots records - Go back to the spreadsheet => A new sheet is incorrectly added in the spreadsheet
The widget many2onebutton doesn't exist anymore. As the web client fallbacked on the default many2one widget. The behavior was the intended one but with a warning in the logs. This commit uses the proper widget to avoid the unintentional warning Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo
Original PR description
The widget many2onebutton doesn't exist anymore. As the web client fallbacked on the default many2one widget. The behavior was the intended one but with a warning in the logs. This commit uses the proper widget to avoid the unintentional warning Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76811
It's possible for a payment.acquirer to charge tokens when it's disabled via the subscription app (_cron_recurring_create_invoice()). Before this patch it would use the production endpoint. It's unexpected and can cause accidental charges in a database meant for testing. opw-2637659 Forward-Port-Of: odoo/odoo#75958
Original PR description
It's possible for a payment.acquirer to charge tokens when it's disabled via the subscription app (_cron_recurring_create_invoice()). Before this patch it would use the production endpoint. It's unexpected and can cause accidental charges in a database meant for testing. opw-2637659 Forward-Port-Of: odoo/odoo#75958
Usecase: - 2 warehouses 1 and 2 - Create a route with a rule from inter-warehouse to WH2 - Create a picking type for WH1 for stock to inter-warehouse - Create a planned transfer with 2 stock.move in the wH1 new picking type -* Go back to inventory overview - Click on process on the picking type WH1 -> inter-warehouse -* Process the picking created before - Go to WH2 delivery You see 2 pickings for each stock.move despite they share the same data (procurement group, source and dest l
Original PR description
Usecase: - 2 warehouses 1 and 2 - Create a route with a rule from inter-warehouse to WH2 - Create a picking type for WH1 for stock to inter-warehouse - Create a planned transfer with 2 stock.move in the wH1 new picking type -* Go back to inventory overview - Click on process on the picking type WH1 -> inter-warehouse -* Process the picking created before - Go to WH2 delivery You see 2 pickings for each stock.move despite they share the same data (procurement group, source and dest locations) If you don't do the steps bewteen *, you only have 1 picking. It's due to the context of the views that is propagate to the new picking created by push rules. opw-2533718 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76526 Forward-Port-Of: odoo/odoo#76438
``` ceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries registry = Registry.new(dbname, update_module=update_module) File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 89, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/home/odoo/src/odoo/14.0/odoo/modules/loading.py", line 474, in load_modules migrations.migrate_module(package, 'end') File "/home/
Original PR description
``` ceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries registry = Registry.new(dbname, update_module=update_module) File…
```
ceback (most recent call last):
File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/14.0/odoo/modules/loading.py", line 474, in load_modules
migrations.migrate_module(package, 'end')
File "/home/odoo/src/odoo/14.0/odoo/modules/migration.py", line 180, in migrate_module
migrate(self.cr, installed_version)
File "/tmp/tmpgxy7cwao/migrations/account/saas~13.4.1.1/end-09-payment-refactoring.py", line 618, in migrate
util.iter_browse(env["account.move"].with_context(**ctx), ids, chunk_size=1024).action_post()
File "/tmp/tmpgxy7cwao/migrations/util/orm.py", line 169, in caller
return [getattr(chnk, attr)(*args, **kwargs) for chnk in chain(it, self._end())]
File "/tmp/tmpgxy7cwao/migrations/util/orm.py", line 169, in <listcomp>
return [getattr(chnk, attr)(*args, **kwargs) for chnk in chain(it, self._end())]
File "/home/odoo/src/odoo/14.0/addons/sale/models/account_move.py", line 14, in action_post
res = super(AccountMove, self).action_post()
File "/home/odoo/src/odoo/14.0/addons/account/models/account_move.py", line 2649, in action_post
self._post(soft=False)
File "/home/odoo/src/odoo/14.0/addons/sale/models/account_invoice.py", line 81, in _post
posted = super()._post(soft)
File "/home/odoo/src/odoo/14.0/addons/purchase_stock/models/account_invoice.py", line 188, in _post
return super()._post(soft)
File "/home/odoo/src/odoo/14.0/addons/l10n_in/models/account_invoice.py", line 108, in _post
elif self.journal_id.type == 'purchase':
File "/home/odoo/src/odoo/14.0/odoo/fields.py", line 963, in __get__
record.ensure_one()
File "/home/odoo/src/odoo/14.0/odoo/models.py", line 4993, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: account.journal(4, 3, 59, 99, 18, 11, 8, 77, 10, 72, 21, 66, 92, 88, 74)
```
upg-30689
Forward-Port-Of: odoo/odoo#76845The "Open in new window" checkbox was always initialized as false, even if the link would open in a new window - both in the link tools and dialog. task-2172311 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76846
Original PR description
The "Open in new window" checkbox was always initialized as false, even if the link would open in a new window - both in the link tools and dialog. task-2172311 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76846
Even though onRemove cannot be async itself (yet?), it is however still called via a trigger_up of `call_for_each_child_snippet` so that each part of the snippet being removed has their onRemove called. Doing that way, some SnippetEditor instances may have to be created and it can be an async operation... the problem is that our code was only awaiting the first of those instanciations instead of all of them. Forward-Port-Of: odoo/odoo#76853 Forward-Port-Of: odoo/odoo#76829
Original PR description
Even though onRemove cannot be async itself (yet?), it is however still called via a trigger_up of `call_for_each_child_snippet` so that each part of the snippet being removed has their onRemove called. Doing that way, some SnippetEditor instances may have to be created and it can be an async operation... the problem is that our code was only awaiting the first of those instanciations instead of all of them. Forward-Port-Of: odoo/odoo#76853 Forward-Port-Of: odoo/odoo#76829
Forward-Port-Of: odoo/odoo#76867
Original PR description
Forward-Port-Of: odoo/odoo#76867
In order to prevent holes in the sequence, a constraint is checking that only the last number of the chain is removed. This commit extends that to a batch of records by checking that: * the last number of the sequence is part of the batch * the batch is sequential (there are no holes in it) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76480
Original PR description
In order to prevent holes in the sequence, a constraint is checking that only the last number of the chain is removed. This commit extends that to a batch of records by checking that: * the last number of the sequence is part of the batch * the batch is sequential (there are no holes in it) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76480
On the employee view there is a possibility to open a list of all the employees managed by the current employee however the action contains the key 'res_id' which makes both create and open action invalid. (the manager is opened either way instead of the right action) The action now also has a proper name instead of displaying `unnamed`, aswell as containing the context necessary to default the manager as expected. and the triple dots displayed when there are too many employees has been
Original PR description
On the employee view there is a possibility to open a list of all the employees managed by the current employee however the action contains the key 'res_id' which makes both create and open action invalid. (the manager is opened either way instead of the right action) The action now also has a proper name instead of displaying `unnamed`, aswell as containing the context necessary to default the manager as expected. and the triple dots displayed when there are too many employees has been replaced with `See All`. TaskId-2648133 Forward-Port-Of: odoo/odoo#76843 Forward-Port-Of: odoo/odoo#76730
the popover is moved from 'body' to '.o_sign_template' in task 2645074. The offset should be adject to 159px - height(navbar) - height(control_panel) = 159px - 45px - 85px = 29px before this commit: after task 2645074 PR https://github.com/odoo/enterprise/pull/20828 commit 512a1f4609516e5c46e222d6ced166b1158defb5 the popover of sign items will be created lower than expected. Forward-Port-Of: odoo/enterprise#21025 Forward-Port-Of: odoo/enterprise#21000
Original PR description
the popover is moved from 'body' to '.o_sign_template' in task 2645074. The offset should be adject to 159px - height(navbar) - height(control_panel) = 159px - 45px - 85px = 29px before this commit: after task 2645074 PR https://github.com/odoo/enterprise/pull/20828 commit 512a1f4609516e5c46e222d6ced166b1158defb5 the popover of sign items will be created lower than expected. Forward-Port-Of: odoo/enterprise#21025 Forward-Port-Of: odoo/enterprise#21000
The tour checking the contract salary in test_l10n_be_hr_payroll_account fails since 14.4 due to the order of the values for the mobile advantage not being correct. This commit sets the sequence explicitely on the advantage values in order to make sure the order is the correct one. TaskId-2651830 Forward-Port-Of: odoo/enterprise#21015
Original PR description
The tour checking the contract salary in test_l10n_be_hr_payroll_account fails since 14.4 due to the order of the values for the mobile advantage not being correct. This commit sets the sequence explicitely on the advantage values in order to make sure the order is the correct one. TaskId-2651830 Forward-Port-Of: odoo/enterprise#21015
*web_cohort,web_dashboard,website_sale_dashboard Forward-Port-Of: odoo/enterprise#20995
Original PR description
*web_cohort,web_dashboard,website_sale_dashboard Forward-Port-Of: odoo/enterprise#20995
…ct on 2+ lines Have an invoice with lines: - productA, quantity 2, price 100 - productA, quantity 1, price 70 Confirm and send CFDI document for validation User will get an error during validation " Message: El atributo cce11:ComercioExterior:Mercancias:ValorDolares de cada mercancía registrada debe ser mayor o igual que el límite inferior y menor o igual que el límtie superior o uno, cuando la normatividad lo permita y exista el atributo cce11:ComercioExterior:Mercancias:Mercan
Original PR description
…ct on 2+ lines Have an invoice with lines: - productA, quantity 2, price 100 - productA, quantity 1, price 70 Confirm and send CFDI document for validation User will get an error during validation " Message: El atributo cce11:ComercioExterior:Mercancias:ValorDolares de cada mercancía registrada debe ser mayor o igual que el límite inferior y menor o igual que el límtie superior o uno, cuando la normatividad lo permita y exista el atributo cce11:ComercioExterior:Mercancias:Mercancia:CantidadAduana. " This occur because the productA must be present only once in the document, so the system send the aggregate quantity but with the price_unit of the first line, so the amounts does not match when the unit prices of the invoice lines are different opw-2523701 Forward-Port-Of: odoo/enterprise#20456 Forward-Port-Of: odoo/enterprise#20348