Tuesday, May 19, 2020
27 changes · master
Enhancements to existing features
The website editor’s snippet options now load and respond faster by optimizing how page elements are selected behind the scenes. This reduces slowdowns in complex editor layouts and removes an unused legacy option with no expected user-facing loss.
Original PR description
Because of cross-browser compatibility concerns, jQuery's selector engine makes using :has selector relatively slow. This is usually acceptable, but in the case of snippet options, some options also need to use :has in their data-target selector, and nested :has selectors' performance degrade exponentially with the level of nesting. Additionaly, jQuery evaluates complex selectors right-to-left, which makes the :not operator quite inefficient. Because of that, this commit removes :has and :not from the conditions that were added at the end of the data-selector, and speeds up the selector by a factor of ~15-40 Lastly, the addDropSelector options was actually unused, and a leftover from the editor revert, as such it has been removed.
Bar and line charts in reporting views can now sort their x-axis categories by the selected measure, either ascending or descending. This makes it easier for users to spot top or bottom performers directly in visual reports without manually interpreting alphabetic or sequence-based ordering.
Original PR description
PURPOSE
Currently, reporting views such as the bar and line charts have their x-axis
sorted either alphabetically or according to a sequence. When reporting, the
user would be interested in sorting the x-axis values by their measure.
SPECIFICATIONS
added 'ascending' and 'descending' options in graph view for bar and line chart
options are separated from the graph switcher by thin vertical line for clarity.
LINKS
PR https://github.com/odoo/odoo/pull/49970
Task 2070103
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prWhen someone replies to a marketing email through an alias that creates a lead or similar record, the original campaign tracking details are now copied to the new record. This helps teams keep accurate campaign attribution for opportunities generated from mailing replies.
Original PR description
In order to set utm informations during lead/opportunity creation, "message_new" has been overridden. The campaign is extracted from the trace associated to the message. Source is set to Mailing Campaing and Medium is set to Email. Task Id : 2210334 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
This change helps preserve invoice records by preventing users from deleting PDF attachments once an invoice has been posted. It reduces the risk of losing digitized invoice documents and supports better accounting record retention.
Original PR description
**Description of the issue/feature this PR addresses:** With Odoo is now easy to add PDF on invoice (`account.move`). The issue is an employee can delete the PDF linked to the `account.move` by mistake. It is especially an issue if you have digitalized all invoices in Odoo. This PR prevent to unlink PDF if the `account.move` is posted. @odony @qdp-odoo @alexis-via -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When a business user creates a new model in Studio with a responsible person field, Odoo now automatically uses the avatar-style user display. This makes responsible users easier to recognize visually and gives quick access to messaging from the avatar.
Original PR description
**PURPOSE** The following task introduces a new 'many2one_avatar_user' widget that displays the user's picture in front of his name, and allows to message him by clicking on this avatar : 2195254 The purpose of the current task is to set this new widget as default when creating a model with the 'responsible' feature enabled through studio **LINK** task id : 2244910
The optional fields menu is now disabled while users edit list views in Odoo Studio. This reduces confusion by preventing users from opening a dropdown that is not relevant during Studio customization.
Original PR description
Purpose: Disable the optional fields dropdown icon when editing with studio. Task: 2201732
The Helpdesk search view layout has been refined to make finding and filtering tickets easier. This should help support teams navigate ticket lists more efficiently with a clearer search experience.
Original PR description
TaskID: 2260763
Resolved issues and error corrections
The sale order confirmation email preview now aligns the quantity column correctly when products are listed. This makes customer-facing order emails clearer and more professional.
Original PR description
Issue - Install "Sales" and "eCommerce" - Activate debug mode - Go to Settings->Technical->Email->Templates - Search and open "Sales Order: Confirmation Email" record - Click on stat-button "Preview" - Select a "Sale Order" sample with product(s) The quantity column label is not in the right place/column. Cause Each row of the table is a table. Solution Add same fixed column size css on each table. opw-2242914
Code cleanup and technical improvements
Odoo’s automated cleanup process has been reorganized so each cleanup task runs independently, reducing the chance that one failure stops all maintenance work. This improves system reliability for background housekeeping across areas such as messaging, events, live chat, point of sale payments, coupons, and wishlists.
Original PR description
Miscellaneous changes
- Install Sales and Accounting - Go to Sales > Orders > Quotations - Create a new quotation - Add a product and in Order Line form, select a tax - Save the Order Line - Save the quotation - Go back to quotation list - Select (checkbox) the created quotation - Select "Export" in Action menu - In export wizard, choose "Excel" format and add field "Tax amount by group" - Validate with "EXPORT TO FILE" An error is triggered. The issue comes from the fact that the value of "amount_by_gr
Original PR description
- Install Sales and Accounting - Go to Sales > Orders > Quotations - Create a new quotation - Add a product and in Order Line form, select a tax - Save the Order Line - Save the quotation - Go back to quotation list - Select (checkbox) the created quotation - Select "Export" in Action menu - In export wizard, choose "Excel" format and add field "Tax amount by group" - Validate with "EXPORT TO FILE" An error is triggered. The issue comes from the fact that the value of "amount_by_group" is an array of tuples and "xlwt" cannot write that type of value. opw-2255054 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#51425 Forward-Port-Of: odoo/odoo#51302
The ir.autovacuum model purpose is to run several garbage collecting operations like removing files from the filestore when no attachment references them anymore. The precedent strategy to register new garbage collection tasks was to override the `power_on` method and to imperatively execute a vacuum cleaning method on a given model. All calls were executed in a single SQL transaction without any error handling, meaning a single fail during any call resulted in a complete failure of the entire vacuum cleaning chain. We introduce a new `@autovacuum` api decorator, its purpose it to register garbage collecting methods that will be safely executed in their own transaction by the vacuum cleaner. In order to ensure this new strategy is used, we deprecate `power_on` extensions. Task: 2154079
- Install Website and Email Marketing - Go to Settings - Click on "Manage Languages" and activate French - Click on "Activate and Translate" and check the websites to translate - Go to Preferences and set user language to "French" - Go to Website > Configuration > Settings and make sure that French is in the languages list and that it is default - Go to Email Marketing - Create a new mailing - Make sure that current user is in the Recipients list - Send the mailing (it will be schedu
Original PR description
- Install Website and Email Marketing - Go to Settings - Click on "Manage Languages" and activate French - Click on "Activate and Translate" and check the websites to translate - Go to Preferences…
- Install Website and Email Marketing - Go to Settings - Click on "Manage Languages" and activate French - Click on "Activate and Translate" and check the websites to translate - Go to Preferences and set user language to "French" - Go to Website > Configuration > Settings and make sure that French is in the languages list and that it is default - Go to Email Marketing - Create a new mailing - Make sure that current user is in the Recipients list - Send the mailing (it will be scheduled) - In debug mode, go to Settings > Technical > Scheduled actions to run the action manually - Check the received mail and click on the "unsubscribe" link On the unsubscribe page there is text that is not translated. Some of the translations on this page is done in JS. But the translations are not available at that moment. The translations have to be loaded manually before letting the JS doing its work. opw-2251235 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#51440
Before this commit, the Notification is used but in Chrome Mobile we can't use it outside a ServiceWorker. After this commit, if the Notification Object produce an error it will fallback to the old method do_notify() Steps to reproduce: * Open a Odoo instance with Chrome Mobile (e.g. with Demo user) * In Chrome Mobile, accept to receive the "Native Browser Notification" * Put Chrome Mobile in the background of Android (don't close it) * Open another instance of the same Odoo somewher
Original PR description
Before this commit, the Notification is used but in Chrome Mobile we can't use it outside a ServiceWorker. After this commit, if the Notification Object produce an error it will fallback to the old method do_notify() Steps to reproduce: * Open a Odoo instance with Chrome Mobile (e.g. with Demo user) * In Chrome Mobile, accept to receive the "Native Browser Notification" * Put Chrome Mobile in the background of Android (don't close it) * Open another instance of the same Odoo somewhere else with another user (e.g. Admin) * From Admin, send a direct message to Demo * Resume Chrome Mobile to the foreground the you will see the traceback (BUG) GitHub issue: odoo/odoo#34714 Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=481856 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#50324
The methods `get_work_hours_count` and `_attendance_intervals` raise a traceback if `self` does not contain a single calendar record. This commit adds an explicit check for this requirement. Related PR odoo/enterprise#10593 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51227
Original PR description
The methods `get_work_hours_count` and `_attendance_intervals` raise a traceback if `self` does not contain a single calendar record. This commit adds an explicit check for this requirement. Related PR odoo/enterprise#10593 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51227
Fixes odoo/odoo#50975 Forward-Port-Of: odoo/odoo#51436 Forward-Port-Of: odoo/odoo#51049
Original PR description
Fixes odoo/odoo#50975 Forward-Port-Of: odoo/odoo#51436 Forward-Port-Of: odoo/odoo#51049
Forward-Port-Of: odoo/odoo#51503
Original PR description
Forward-Port-Of: odoo/odoo#51503
Technically removing the entire thing if it's not one of the special cases is a form of cleanup I guess, but that seems a bit brutal and counter-productive. So that function should *probably* return the input value if it's not a type which requires special processing. Seems like this issue got surfaced by #51298 but was rarely hit before (?) so it looks to have stayed under the radar somehow... either that or people worked around it without telling me. Forward-Port-Of: odoo/odoo#51512
Original PR description
Technically removing the entire thing if it's not one of the special cases is a form of cleanup I guess, but that seems a bit brutal and counter-productive. So that function should *probably* return the input value if it's not a type which requires special processing. Seems like this issue got surfaced by #51298 but was rarely hit before (?) so it looks to have stayed under the radar somehow... either that or people worked around it without telling me. Forward-Port-Of: odoo/odoo#51512
If we try to load a csv file with opening values for the unaffected earnings account, there will be errors because when trying to balance the move, we filter the lines on that account and we don't expect there to be multiple lines 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#48954
Original PR description
If we try to load a csv file with opening values for the unaffected earnings account, there will be errors because when trying to balance the move, we filter the lines on that account and we don't expect there to be multiple lines 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#48954
When you are trying to encode quantity between 0 and 1, you are now blocked, because a line is created with a quantity of 1 and you try to decrease it. So we are now allowing to decrease the quantity to 0 on a line when we are on the last line and if this line has a quantity of 1. We are still not allowed to remove lines. TASK-ID: 2230922 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confir
Original PR description
When you are trying to encode quantity between 0 and 1, you are now blocked, because a line is created with a quantity of 1 and you try to decrease it. So we are now allowing to decrease the quantity to 0 on a line when we are on the last line and if this line has a quantity of 1. We are still not allowed to remove lines. TASK-ID: 2230922 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#51405 Forward-Port-Of: odoo/odoo#51377
When there is a: `groups="..."` on a qweb view, when you edit the view with the editor then save all groups will be removed since they are processed (so either we don't see `groups` in the rendered view, or we don't see the element itself). With this change, the "where should this element be saved when edited" branding will be distributed to elements with `groups` attribute. opw-2253576 Forward-Port-Of: odoo/odoo#51516 Forward-Port-Of: odoo/odoo#51489
Original PR description
When there is a: `groups="..."` on a qweb view, when you edit the view with the editor then save all groups will be removed since they are processed (so either we don't see `groups` in the rendered view, or we don't see the element itself). With this change, the "where should this element be saved when edited" branding will be distributed to elements with `groups` attribute. opw-2253576 Forward-Port-Of: odoo/odoo#51516 Forward-Port-Of: odoo/odoo#51489
When a theme module is updated the changes made on a view are considered as user changes, prenventing the view from being updated in the future. Fixed by comparing the arch being written with the arch of the original view. If it is the same the record should not be noupdate. Introduced by: https://github.com/odoo/odoo/commit/4acf177b4c55f3a16362cbeafea3d332ef4fe819 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#5154
Original PR description
When a theme module is updated the changes made on a view are considered as user changes, prenventing the view from being updated in the future. Fixed by comparing the arch being written with the arch of the original view. If it is the same the record should not be noupdate. Introduced by: https://github.com/odoo/odoo/commit/4acf177b4c55f3a16362cbeafea3d332ef4fe819 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51547 Forward-Port-Of: odoo/odoo#51431
Description of the issue/feature this PR addresses: Fix de '$' symbol for CLP to before Current behavior before PR: The symbol is after the amount Desired behavior after PR is merged: Symbol before the amount, as is usually used in the country -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51549
Original PR description
Description of the issue/feature this PR addresses: Fix de '$' symbol for CLP to before Current behavior before PR: The symbol is after the amount Desired behavior after PR is merged: Symbol before the amount, as is usually used in the country -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51549
In revision https://github.com/odoo/odoo/commit/d81e1b7341a515a9deceb5b20c350d5ecd5c3762#diff-f4faa075b03b31c962d50b453a3a0728L296 The server action `website.ir_actions_server_website_dashboard` has been moved from the menu `menu_dashboard` to the menu `menu_website_dashboard` To ease the upgrade of `menu_dashboard` and automatically remove the server action from this menu this revision forces to empty the action of `menu_dashboard`. Forward-Port-Of: odoo/odoo#51552
Original PR description
In revision https://github.com/odoo/odoo/commit/d81e1b7341a515a9deceb5b20c350d5ecd5c3762#diff-f4faa075b03b31c962d50b453a3a0728L296 The server action `website.ir_actions_server_website_dashboard` has been moved from the menu `menu_dashboard` to the menu `menu_website_dashboard` To ease the upgrade of `menu_dashboard` and automatically remove the server action from this menu this revision forces to empty the action of `menu_dashboard`. Forward-Port-Of: odoo/odoo#51552
Before, we where saving this information only when the invoice was properly validated in AFIP or has been validates with observations. Now we are saving this info when the invoice is been rejected by AFIP, which is really good because let us to interpret errores related to electronic invoice validation task 246 Forward-Port-Of: odoo/enterprise#10448
Original PR description
Before, we where saving this information only when the invoice was properly validated in AFIP or has been validates with observations. Now we are saving this info when the invoice is been rejected by AFIP, which is really good because let us to interpret errores related to electronic invoice validation task 246 Forward-Port-Of: odoo/enterprise#10448
- Go to Planning - Go to Configuration > Roles - Create a new role ("TEST_ROLE") - Go to Configuration > Shift Templates - Create a new shift template with the following data: * Role: "TEST_ROLE" * Start hour: 06:20 * Duration (hours): 7:24 - Go to My Planning > Calendar and switch to gantt view - Add a new shift - In the wizard select the Planning Template created for "TEST_ROLE". The options must look like "6:20 AM - 1:44 PM TEST_ROLE" Once the Planning Template selected, t
Original PR description
- Go to Planning - Go to Configuration > Roles - Create a new role ("TEST_ROLE") - Go to Configuration > Shift Templates - Create a new shift template with the following data: * Role: "TEST_ROLE" *…
- Go to Planning
- Go to Configuration > Roles
- Create a new role ("TEST_ROLE")
- Go to Configuration > Shift Templates
- Create a new shift template with the following data:
* Role: "TEST_ROLE"
* Start hour: 06:20
* Duration (hours): 7:24
- Go to My Planning > Calendar and switch to gantt view
- Add a new shift
- In the wizard select the Planning Template created for "TEST_ROLE".
The options must look like "6:20 AM - 1:44 PM TEST_ROLE"
Once the Planning Template selected, the Start date and End date are automatically set,
but there are offset by one minute compared to the time configured in the template.
An onchange is executed when template is selected to compute Start and End date.
The onchange method performs float operations to compute the Start date that result on
a one minute difference.
As the time is diplayed correctly for the name of the template, the same operations are used
to retrieve the hours and minutes of the Start date.
opw-2253554
Forward-Port-Of: odoo/enterprise#10639Closes #31359 Purpose ======= Looks like it was introduced at 6ee7c68 That way, the filter https://github.com/odoo/odoo/blob/198ab837e466f3155ea1c3b35811b981b1c1e537/addons/hr_payroll/views/res_config_settings_views.xml#L7 is brokeN As there is a mismatch with the categories, and as we don't want to display other modules than the localiations only, we could replace the context, and use a domain like [('name', '=like', 'l10n____hr_payroll')] Taskid: 2257510 X-original-commit: 7ee
Original PR description
Closes #31359
Purpose
=======
Looks like it was introduced at 6ee7c68
That way, the filter https://github.com/odoo/odoo/blob/198ab837e466f3155ea1c3b35811b981b1c1e537/addons/hr_payroll/views/res_config_settings_views.xml#L7 is brokeN
As there is a mismatch with the categories, and as we don't want to display other modules than the localiations only, we could replace the context, and use a domain like [('name', '=like', 'l10n____hr_payroll')]
Taskid: 2257510
X-original-commit: 7ee567f
Forward-Port-Of: odoo/enterprise#10617Since commit 78db78e: - Create a new planning slot - Set start and end to different days - Remove the default employee - Remove the default company => Traceback: it can't compute the number of allocated hours because there is no calendar defined. Related PR: odoo/odoo#51227 Forward-Port-Of: odoo/enterprise#10593
Original PR description
Since commit 78db78e: - Create a new planning slot - Set start and end to different days - Remove the default employee - Remove the default company => Traceback: it can't compute the number of allocated hours because there is no calendar defined. Related PR: odoo/odoo#51227 Forward-Port-Of: odoo/enterprise#10593
Before this commit, when selecting French as language, the names of the reports 'Bilan' and 'Profits et Pertes' were inversed. Now, the names are correct. opw-2256048 Forward-Port-Of: odoo/enterprise#10645
Original PR description
Before this commit, when selecting French as language, the names of the reports 'Bilan' and 'Profits et Pertes' were inversed. Now, the names are correct. opw-2256048 Forward-Port-Of: odoo/enterprise#10645