Friday, November 26, 2021
29 changes · master
Enhancements to existing features
The employee timesheet cost field label has been shortened from “Timesheet Cost” to “Cost.” This makes the employee form wording cleaner and easier to read without changing any underlying functionality.
Original PR description
hr_timesheet: rename the string of timesheet_cost field in employee - The string of timesheet_cost field is cost instead of Timesheet Cost. task-2531442 closes odoo/odoo#79016
The Documents app test coverage was adjusted so access rights are checked before confirming follower display behavior. This helps ensure follower information is shown correctly and consistently for users with the right permissions.
Original PR description
Checking access rights and returning true in testcase to display followers correctly.
Users can now control the order of lines in a subscription. This makes subscription details easier to organize and present in the preferred sequence.
Original PR description
Before this commit you cannot order line in subscription. @tde-banana-odoo
Resolved issues and error corrections
The French localization setup removes obsolete negative tax groups that should not be used. This restores a prior cleanup so taxes remain assigned to the correct standard tax groups, reducing confusion in accounting configuration.
Original PR description
These negative tax groups were removed in a previous commit: 1687248 The message of the previous commit was: Remove the negative tax groups from account_data. The negative tax groups have no application. The taxes that were in the negative tax groups are reassigned to their positive counterparts. The previous commit was accidentally overwritten in a forward-port: odoo#77295 closes odoo#76586
Documentation and clarification updates
This update records the corporate contributor agreement signature for Strong Blue Conseil & Telecom. It supports Odoo's legal compliance process by documenting the company's authorization to contribute to the project.
Original PR description
CLA signature for Strong Blue Conseil & Telecom
Miscellaneous changes
When editing the billing address of an existing portal partner P, the salesperson of P was changed by the default website salesperson opw:2649732 Forward-Port-Of: odoo/odoo#80349
Original PR description
When editing the billing address of an existing portal partner P, the salesperson of P was changed by the default website salesperson opw:2649732 Forward-Port-Of: odoo/odoo#80349
Blog post cover titles now use the main page heading format, helping search engines better identify the post title. This small change improves SEO clarity while keeping the visual style consistent for related blog covers.
Original PR description
SEO issue: blog post doesn't have `<h1>` for post title. The goal of this PR is to change "first cover" title to `<h1>`. "Next blog" cover title will have a h1 style too. task-2454130
The currency.compute method is deprecated. We use _convert instead 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#80336
Original PR description
The currency.compute method is deprecated. We use _convert instead 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#80336
Before this fix, all moves of type “entry“ were considered as misc operations in regard to repartition tags and the tax report. And only moves of type “out_refund” and “in_refund” were considered refunds. Now reverse entries with sale/purchase taxes get their tags set accordingly to repartition lines. ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 0 1000 21% -03 451000 T.V.A. à payer
Original PR description
Before this fix, all moves of type “entry“ were considered as misc operations in regard to repartition tags and the tax report. And only moves of type “out_refund” and “in_refund” were considered…
Before this fix, all moves of type “entry“ were considered as misc operations in regard to repartition tags and the tax report. And only moves of type “out_refund” and “in_refund” were considered refunds. Now reverse entries with sale/purchase taxes get their tags set accordingly to repartition lines. ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 0 1000 21% -03 451000 T.V.A. à payer 0 210 -54 400000 Clients 1210 0 ``` Was reversed to: ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 1000 0 21% -03 451000 T.V.A. à payer 210 0 -54 400000 Clients 0 1210 ``` Is now reversed to: ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 1000 0 21% +49 451000 T.V.A. à payer 210 0 +64 400000 Clients 0 1210 ``` Task: 2687215 Forward-Port-Of: odoo/odoo#80058 Forward-Port-Of: odoo/odoo#79556
Instead of "saving" the state into the DOM (which is lost at next render) save the state of each button in JS. task-2308951 Forward-Port-Of: odoo/odoo#80334
Original PR description
Instead of "saving" the state into the DOM (which is lost at next render) save the state of each button in JS. task-2308951 Forward-Port-Of: odoo/odoo#80334
remove useless console.log -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80414
Original PR description
remove useless console.log -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80414
Previously, when underconsumption occured, we split the move (in post_inventory). And if backorder, the moves not done would be linked to the new backorder MO (when backorder MO is created). After 8883c06ada8a7c1debabce39e8f7fea321c70b23, we create backorder MOs before _post_inventory, making it so the moves not done will not be linked to the backorder MOs and reserved qtys are not released. To fix, we set cancel_backorder to be true to cancel all the leftover moves and release the reserv
Original PR description
Previously, when underconsumption occured, we split the move (in post_inventory). And if backorder, the moves not done would be linked to the new backorder MO (when backorder MO is created). After 8883c06ada8a7c1debabce39e8f7fea321c70b23, we create backorder MOs before _post_inventory, making it so the moves not done will not be linked to the backorder MOs and reserved qtys are not released. To fix, we set cancel_backorder to be true to cancel all the leftover moves and release the reserved qty. Task-2697611 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#80271
Before this commit the trigram search would fail if it encounters a (SQL) NULL text from the database. This is because when word_similarity() receives NULL as a parameter it returns NULL, and NULL not being a number cannot be compared with the similarity threshold. After this commit the trigram search will exclude matches returning a NULL similarity. opw-2680659 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged:
Original PR description
Before this commit the trigram search would fail if it encounters a (SQL) NULL text from the database. This is because when word_similarity() receives NULL as a parameter it returns NULL, and NULL not being a number cannot be compared with the similarity threshold. After this commit the trigram search will exclude matches returning a NULL similarity. opw-2680659 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#80050
Issue: The way we generate the dayNamesMin is not compatible with the chineese translation provided by "moment.js". This is because the dayNamesShort contains an extra character in front 週 (week). Because of that the names of the days on the small calendar are all the character 週 (week). Solution: There is a variable (weekdaysMin) which is unused and contain a shorter version of the days this variable is consitent in the other languages so it should have no side effect and will fix th
Original PR description
Issue: The way we generate the dayNamesMin is not compatible with the chineese translation provided by "moment.js". This is because the dayNamesShort contains an extra character in front 週 (week). Because of that the names of the days on the small calendar are all the character 週 (week). Solution: There is a variable (weekdaysMin) which is unused and contain a shorter version of the days this variable is consitent in the other languages so it should have no side effect and will fix the chinese translation as it only contains one character. Introduced by: 1fc33a63beb20d134081c93852e62f5fe0ff67d4 task-2692910 **  ** -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80363
Issue: 1- Website editor > Set shape on image 2- Crop > shape is reapplied on the croped image 3- Change another option (e.g. image width) 4- Undo > image will be shown cropped but without any shape applied on it. In the current code we apply shapes on cropped images using the event listener 'ImageOptimize > _onImageCropped', so in 'ImageTools', the 'crop()' option method will record the "crop" action but the step where the shape is added is lost. (see `SnippetOptionWidget` > `_onU
Original PR description
Issue: 1- Website editor > Set shape on image 2- Crop > shape is reapplied on the croped image 3- Change another option (e.g. image width) 4- Undo > image will be shown cropped but without any shape applied on it. In the current code we apply shapes on cropped images using the event listener 'ImageOptimize > _onImageCropped', so in 'ImageTools', the 'crop()' option method will record the "crop" action but the step where the shape is added is lost. (see `SnippetOptionWidget` > `_onUserValueUpdate`). The goal of this PR is to move the shapes related logic to a "mixin" (for all widgets handeling image shapes), so we can simply use its methods to apply shapes when the 'crop()' method is called. This way, the step to record will be a "cropped image with a shape on it" instead of just a "cropped image". task-2628964 Forward-Port-Of: odoo/odoo#76100
Current behavior before PR: When trying to select emoji on log note before record creation, it shows traceback. Desired behavior after PR is merged: Hiding the emoji button when the record is under creation. Task-2664700 Forward-Port-Of: odoo/odoo#79554
Original PR description
Current behavior before PR: When trying to select emoji on log note before record creation, it shows traceback. Desired behavior after PR is merged: Hiding the emoji button when the record is under creation. Task-2664700 Forward-Port-Of: odoo/odoo#79554
**Current behavior before PR:** Currently, in Discuss, the chat activates the drop zone when try to drag and drop any user's avatar (or any text). The same thing happens if we do it in the chat window or chatter. **Desired behavior after PR is merged:** The chat will not be activated drop zone if the drag is not actually a file/a document. Task-2590510 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#7346
Original PR description
**Current behavior before PR:** Currently, in Discuss, the chat activates the drop zone when try to drag and drop any user's avatar (or any text). The same thing happens if we do it in the chat window or chatter. **Desired behavior after PR is merged:** The chat will not be activated drop zone if the drag is not actually a file/a document. Task-2590510 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#73466
This pull request contains 3 commits that fix some behaviours that appeared in 15.0: ### Commit 1 : [FIX] website: restore scrollbar for some menus After [1], the dropdown menu of the main navbar for certains menus (e.g customize on /shop) didn't have scrollbars anymore, making it hard to navigate on smaller resolution devices. This commit restores that. [1] : 1971bf39810468b2b67e2ecd3c86c663d5cffcfd --- ### Commit 2 : [FIX] website: always display build my website button Thi
Original PR description
This pull request contains 3 commits that fix some behaviours that appeared in 15.0: ### Commit 1 : [FIX] website: restore scrollbar for some menus After [1], the dropdown menu of the main navbar for…
This pull request contains 3 commits that fix some behaviours that appeared in 15.0: ### Commit 1 : [FIX] website: restore scrollbar for some menus After [1], the dropdown menu of the main navbar for certains menus (e.g customize on /shop) didn't have scrollbars anymore, making it hard to navigate on smaller resolution devices. This commit restores that. [1] : 1971bf39810468b2b67e2ecd3c86c663d5cffcfd --- ### Commit 2 : [FIX] website: always display build my website button This commit moves the position of the build my website button in the configurator so that it's always visible, even with low resolution displays and mobile phones --- ### Commit 3 : [FIX] web_editor: fix gradient slider infinite resize and safari support Prior to this commit, if three colors were selected for a gradient and the user would click on the third color, if that color had a value of 100%, in certain condition the picker would resize infinitely. Also prior to this commit, the color picker slider was not supported well under safari This commit fixes the SCSS rules in order to fix those behaviours. task-2670809 Forward-Port-Of: odoo/odoo#78694
Prevent calling _get_sequence_format_param() with None as parameter in _is_end_of_seq_chain() when sequence is empty. Would cause an error when deleting an invoice with an empty sequence. Task: 2697771 Forward-Port-Of: odoo/odoo#80235
Original PR description
Prevent calling _get_sequence_format_param() with None as parameter in _is_end_of_seq_chain() when sequence is empty. Would cause an error when deleting an invoice with an empty sequence. Task: 2697771 Forward-Port-Of: odoo/odoo#80235
**Steps to follow** - Share a project task -> The invitation message is duplicated **Cause of the issue** `partners` can be empty -> `not partners` is then falsy **Solution** Check the default parameter with `is None` opw-2698724 Forward-Port-Of: odoo/odoo#80422
Original PR description
**Steps to follow** - Share a project task -> The invitation message is duplicated **Cause of the issue** `partners` can be empty -> `not partners` is then falsy **Solution** Check the default parameter with `is None` opw-2698724 Forward-Port-Of: odoo/odoo#80422
Same as 5dde19c92ecee, sudo is not enough but the report needs to rendered with the user 1. The access token proves the user has the access, the fact that he is a portal, employee or public should not change the result Forward-Port-Of: odoo/odoo#80485 Forward-Port-Of: odoo/odoo#80465
Original PR description
Same as 5dde19c92ecee, sudo is not enough but the report needs to rendered with the user 1. The access token proves the user has the access, the fact that he is a portal, employee or public should not change the result Forward-Port-Of: odoo/odoo#80485 Forward-Port-Of: odoo/odoo#80465
Some bank create ofx file with a the sort account number (not the full IBAN). The import wizard doesn't find the journal. - create a journal with IBAN bank account (like FR76XXXX68655578980XXX) - Try to import an ofx file formated like that: ``` <OFX> <BANKMSGSRSV1> <STMTTRNRS> <TRNUID> 66046425880 <STATUS> <CODE> 0 <SEVERITY>INFO </STATUS>
Original PR description
Some bank create ofx file with a the sort account number (not the full IBAN). The import wizard doesn't find the journal. - create a journal with IBAN bank account (like FR76XXXX68655578980XXX) - Try…
Some bank create ofx file with a the sort account number (not the full IBAN). The import wizard doesn't find the journal.
- create a journal with IBAN bank account (like FR76XXXX68655578980XXX)
- Try to import an ofx file formated like that:
```
<OFX>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>
66046425880
<STATUS>
<CODE>
0
<SEVERITY>INFO
</STATUS>
<STMTRS>
<CURDEF>
EUR
<BANKACCTFROM>
<BANKID>
16336
<BRANCHID>
09811
<ACCTID>
68655578980
<ACCTTYPE>CHECKING
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>
20210416000000
<DTEND>
```
Odoo use ACCTID to get the account number. But ACCTID != IBAN
- the journal is not found
@oco-odoo
Co-Authored-By: oco-odoo <oco@odoo.com>
Forward-Port-Of: odoo/enterprise#22539What are the steps to reproduce this behavior? - Create a shift >> Enable the shift to be recurring and Until >> Set End Date to any date >> Publish Then click on the shift >> Change the end date to either before or after What is the behavior that is occurring? - You're provided with a traceback and the shift end date is not changed. What is the expected behavior for this flow? - There shouldn't be a traceback and the shift end date to be adjusted. opw-2692187 Forward-Port-Of: od
Original PR description
What are the steps to reproduce this behavior? - Create a shift >> Enable the shift to be recurring and Until >> Set End Date to any date >> Publish Then click on the shift >> Change the end date to either before or after What is the behavior that is occurring? - You're provided with a traceback and the shift end date is not changed. What is the expected behavior for this flow? - There shouldn't be a traceback and the shift end date to be adjusted. opw-2692187 Forward-Port-Of: odoo/enterprise#22461
1. Enter a bank statement line and reconcile the line using “Manual Operations” with a sales tax (included) component. 2. Run the Tax Report and the tax value is correct under the tax code specified. 3. Open the audit report. The base amount is zero for this transaction. This occur because the value of the base amount is not sent with other line values to the backend opw-2638224 Forward-Port-Of: odoo/enterprise#22331
Original PR description
1. Enter a bank statement line and reconcile the line using “Manual Operations” with a sales tax (included) component. 2. Run the Tax Report and the tax value is correct under the tax code specified. 3. Open the audit report. The base amount is zero for this transaction. This occur because the value of the base amount is not sent with other line values to the backend opw-2638224 Forward-Port-Of: odoo/enterprise#22331
Prevent pypdf2 from crashing when merging some pdf pages with sign pages as some PDF generators are building PDF streams with invalid numbers Here are some tickets related to that problem : -->[2680714](https://www.odoo.com/web#id=2680714&action=3530&model=project.task&view_type=form&cids=1&menu_id=4720) -->[2568744](https://www.odoo.com/web#id=2568744&model=project.task&view_type=form&cids=1&menu_id=5195) -->[2673998](https://www.odoo.com/web#id=2673998&cids=1&model=project.task&view_ty
Original PR description
Prevent pypdf2 from crashing when merging some pdf pages with sign pages as some PDF generators are building PDF streams with invalid numbers Here are some tickets related to that problem : -->[2680714](https://www.odoo.com/web#id=2680714&action=3530&model=project.task&view_type=form&cids=1&menu_id=4720) -->[2568744](https://www.odoo.com/web#id=2568744&model=project.task&view_type=form&cids=1&menu_id=5195) -->[2673998](https://www.odoo.com/web#id=2673998&cids=1&model=project.task&view_type=form) The problem still exists in 15.0 so this PR should be forwardported. Forward-Port-Of: odoo/enterprise#22314
Before this entries (move of type 'entry') on sale journal would have their amount inversed incorectly. An entry on a sale journal : ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 0 1000 21% -03 451000 T.V.A. à payer 0 210 -54 400000 Clients 1210 0 ``` Would have had negative amounts on lines 03 and 53 before this fix. Task: 2687215 Fo
Original PR description
Before this entries (move of type 'entry') on sale journal would have their amount inversed incorectly. An entry on a sale journal : ``` Account D C Tax Tax Grids 700000 Ventes en Belgique (marchandises) 0 1000 21% -03 451000 T.V.A. à payer 0 210 -54 400000 Clients 1210 0 ``` Would have had negative amounts on lines 03 and 53 before this fix. Task: 2687215 Forward-Port-Of: odoo/enterprise#22509 Forward-Port-Of: odoo/enterprise#22216
A typo causing an error in the rule 'Expat End of Service Benefit'. The rule 'Social Insurance Contribution' was in the category deduction but that causes it to be removed from net salary. It is now in the category 'company contribution'. Remove the no update to allow easy update in the future in case of changes (like a law change) Forward-Port-Of: odoo/enterprise#22513
Original PR description
A typo causing an error in the rule 'Expat End of Service Benefit'. The rule 'Social Insurance Contribution' was in the category deduction but that causes it to be removed from net salary. It is now in the category 'company contribution'. Remove the no update to allow easy update in the future in case of changes (like a law change) Forward-Port-Of: odoo/enterprise#22513
Forward-Port-Of: odoo/enterprise#22469
Original PR description
Forward-Port-Of: odoo/enterprise#22469
Adapt tour triggers to avoid unwanted race conditions. Scanning the last product of a picking then checking the Validate button could be done so quickly the button is not yet highlighted. Forward-Port-Of: odoo/enterprise#22481
Original PR description
Adapt tour triggers to avoid unwanted race conditions. Scanning the last product of a picking then checking the Validate button could be done so quickly the button is not yet highlighted. Forward-Port-Of: odoo/enterprise#22481