Friday, June 25, 2021
38 changes · master
Enhancements to existing features
This update refreshes outdated links that pointed to old Odoo.com pages across documentation and app metadata. It helps users and prospects reach the correct product and information pages without broken or outdated navigation.
Original PR description
Some URLs in the software were still pointing to the old pages on Odoo's website. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The task portal now offers clearer navigation with more sorting, grouping, and search options, along with refreshed labels and styling. Customers and employees can find and review tasks more easily, while parent task pages are simplified by removing detailed timesheet lines for subtasks.
Original PR description
Generic UX improvements for the task portal. Added new sort by, group by and searches options in the tasks portal. Some options have been renamed, the style has been slightly revised. The timesheet details of each sub-task from the parent form view has also been removed. task-2508883 See upgrade https://github.com/odoo/upgrade/pull/2580 Related PR: https://github.com/odoo/odoo/pull/71753 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes the website editor easier to use by showing editing tools only when they are relevant and making the add-field action in forms more visible. It reduces confusion for users building website pages and forms by hiding options that do not apply in certain contexts.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The recruitment job overview now separates total applications from new applications. This helps hiring teams quickly see overall interest in a role while making the action button focus on newly received candidates that need attention.
Original PR description
- Display the total number of applications (including refused) - Show the number of new applications on the button instead of total TaskID: 2574370 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
Businesses can now better customize document layouts with custom backgrounds, report footers, and company details. This helps make invoices and reports more aligned with company branding and local document requirements.
Original PR description
Description of the issue/feature this PR addresses: - Improves layout designer to allow custom backgrounds. - Adds custom report footer and company details task-2355704 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update standardizes how internal messaging and related modules share code, making names explicit and easier for developers to verify. It reduces repetition and lowers the chance of import mistakes, improving maintainability without changing user-facing behavior.
Original PR description
* = hr, hr_holidays, im_livechat, sms, snailmail, website_livechat,
website_slides
Exporting directly on the line of the class or variable definition is less lines
of code and less repetition (and risk or mistake).
Exporting with a name instead of default allows to catch typos more easily when
importing and ensures the same name is used for consistency (and ease of grep).The resume and skills widgets no longer show an extra three-dot menu when Studio is installed. This prevents visual overlap with the add button, making the interface cleaner and easier for users to interact with.
Original PR description
When studio is installed, the List view renderer will always render a threedot menu to promote studio, but since resume and skill widget extend that view it also gets rendered on top of the add button. This change completely removes the optional dropdown menu from those two widgets. Task ID: 2578126
The color picker now keeps its color squares on one line on smaller screens by tightening the spacing between them. This makes color selection clearer and avoids awkward wrapping in the interface.
Original PR description
PURPOSE On smaller screens, one of the colors is sent to the line below while they could all fit on the same line SPEC It would be great to "align" the first color to the left so that all square can fit. TaskId: 2454346 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Sign app now shows and uses the right email address when a document is resent, including updates made before a signer has completed the document. It also logs resend and email-update activity, improves automatic resending after email changes, prevents old emailed links from staying valid in that case, and avoids confusing errors when someone uses an invalid link.
Original PR description
1.For each sign request item,
If the signer has signed the document, the Email is the email address the signer used to sign the docuemnt.
If the signer has not signed the the document, the Email is the email address of the contact.
2.Add Resend action to the Activity Log after resending a document
taskid: 2512637This update standardizes how several Odoo Enterprise modules share internal code, making names more consistent and easier for developers to check. It should not change what users see, but it reduces the chance of maintenance mistakes in future updates.
Original PR description
* = approvals, documents, sign, voip, web_studio Exporting directly on the line of the class or variable definition is less lines of code and less repetition (and risk or mistake). Exporting with a name instead of default allows to catch typos more easily when importing and ensures the same name is used for consistency (and ease of grep).
This update refreshes links across several Odoo Enterprise apps so they point to the correct pages on Odoo.com after website changes. It helps users and administrators reach the right product, documentation, and informational pages without broken or outdated links.
Referral users can now dismiss dashboard alerts, making the referral page easier to manage. Referrers also receive clearer email updates about points gained and total points, and HR teams can send referral alert emails to internal users in bulk.
Original PR description
Allows users to dismiss alerts on the referral dashboard. Adds new text containing gained points and total points in the referrer's email when an applicant moves from one stage to another. Adds a wizard to mass mail internal user when creating a referral alert. Task ID: 2415337
Resolved issues and error corrections
Automated web-based tests now update the system's base web address when they start, so tests use the correct server even when multiple test instances run on different ports. This reduces false test failures and the risk of tests accidentally contacting the wrong instance, improving reliability for development and quality assurance.
Original PR description
While HttpCase did set `web.base.url` before starting a browser, in the non-browser test cases (or cases which would mix browser and non-browser) it would not do so. This is an issue when installing the database with one http-port and running tests with an other e.g. after duplicating the database (or even not duplicating it) in order to run multiple test instances concurrently, which requires using different http ports. Tests would then see the base url generated during installation, embedding the port used at installation, and would break weirdly (at best exploding due to not finding any server to bind to, and at worst making request on the wrong instance entirely). Simply updating the base url during setup seems to fix most of the tests. `payment` needed a fix because the vagaries of the MRO led to the extra parameter internally used by the thing to be passed to `HttpCase`'s `setUpClass`, which would not expect it. Issue 2580388
Code cleanup and technical improvements
The website editor setup has been reorganized so loading the editor and creating it happen separately. This makes it easier to reuse the editor in other Odoo areas, such as Studio, without changing the visible user experience.
Original PR description
Before this commit, the wysiwyg loader had only one method to both load and create it. After this commit, it has two separate methods to do it. This is practical if one wants to load in some other context, like studio 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
Miscellaneous changes
commit where the bug was introduced : https://github.com/odoo/odoo/pull/71810/commits/7b87ab31ee64d56c6e7f9eab7a51d81cf4e66747 opw-2572132 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72694
Original PR description
commit where the bug was introduced : https://github.com/odoo/odoo/pull/71810/commits/7b87ab31ee64d56c6e7f9eab7a51d81cf4e66747 opw-2572132 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72694
Original PR description
[FIX] fixing URL pointing to the right pages of Odoo.com
This fixes a manufacturing workflow issue where users saw a confirmation option to validate an order with no components, but the validation was still blocked. Manufacturing orders without assigned components can now be completed as expected, reducing confusion in an uncommon but valid scenario.
Original PR description
Conflicting fixes for unusual cases of MO validation when no components assigned and when components assigned all with 0 consumed made it so we cannot validate an MO with no components despite there being a confirmation popup that makes it seem like you can. This fix makes it so we can validate a MO when no components are assigned (ideally we would allow validating both cases, but fix for 0 consumed is much more difficult + an extremely unlikely use case). Task: 2422698 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 fixes a visual issue where an empty tab area could still show a border when all form notebook pages were hidden. Users now see cleaner forms without confusing empty UI elements.
Original PR description
PURPOSE Do not display empty notebook element SPEC If all pages are hidden then hide the notebook ul element as well. TASK 2411651 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix makes the custom filter menu reachable again when users navigate with a keyboard. It improves accessibility and helps users manage filters without needing a mouse.
Original PR description
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
The barcode stock workflow test now waits until the record is fully saved before continuing. This reduces random test failures and helps keep automated quality checks reliable without changing user-facing behavior.
Original PR description
This commit fixes the 'test_internal_picking_from_scratch_2' which previously failed randomly on runbot.
The VoIP user settings page was adjusted to undo an unintended layout change. This restores the expected display of the signature field label, making the user profile form clearer and consistent again.
Original PR description
Change below introduced a new group on the res.users form view which unwantedly changed how the view looks (removing the label from the signature field), the group doesn't seem to be necessary or user anywhere else. See https://github.com/odoo/enterprise/pull/9246/files#diff-975b2fe2510bf8daaaaf6a1fd28ff4ae710d892a1e3a6895d08b49e035cbdfcbR30-R32 Task ID: 2580167
Odoo Studio now loads the rich text editor consistently when editing forms on websites. This prevents a crash when users open Studio from a form containing a description-style rich text field, making customization more reliable.
Original PR description
install website Open a form view with description field (field_html) Click edit Enter studio with the systray Before this commit, there was a crash because the urls of the wysiwyg asset loaded the first time by the field html and the second time by the studio loader were different to load the same asset. This was caused by the additional website_id that the public route to load the wysiwyg (public_render_template) puts in the assets' urls. After this commit, we always load the wysiwyg from the same route, so there is no crash.
Description of the issue/feature this PR addresses: Prevent update from user configured settings Current behavior before PR: Before this fix if a user updated the module hr_timesheet the ir.config_parameters would be reset. Desired behavior after PR is merged: By wrapping them in a no-update they're no longer updated with a module update and thus kept as set by the user. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo
Original PR description
Description of the issue/feature this PR addresses: Prevent update from user configured settings Current behavior before PR: Before this fix if a user updated the module hr_timesheet the ir.config_parameters would be reset. Desired behavior after PR is merged: By wrapping them in a no-update they're no longer updated with a module update and thus kept as set by the user. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72681
On events, or in every part of the website that was built without sections, the scroll button of a dropped snippet was not effective. This was because we were targeting the next section, which was not there in the previous case. Yet, we want it to scroll to the next element, even if it is not a section. task-2566338 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72647
Original PR description
On events, or in every part of the website that was built without sections, the scroll button of a dropped snippet was not effective. This was because we were targeting the next section, which was not there in the previous case. Yet, we want it to scroll to the next element, even if it is not a section. task-2566338 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72647
[FIX] payment: restore the delay before post-processing a transaction Since the payment post-processing cron runs every ten minutes, it is important that it ignores the transactions that were updated in the same last ten minutes. This is necessary because customers can only see the payment confirmation message for transactions that were not already post-processed. Commit 573ed74 mistakenly changed the post-processing delay from ten minutes to one minute. This commit changes it
Original PR description
[FIX] payment: restore the delay before post-processing a transaction
Since the payment post-processing cron runs every ten minutes, it is
important that it ignores the transactions that were updated in the same
last ten minutes. This is necessary because customers can only see the
payment confirmation message for transactions that were not already
post-processed.
Commit 573ed74 mistakenly changed the post-processing delay from ten
minutes to one minute. This commit changes it back to 10 minutes.
task-2494916
Forward-Port-Of: odoo/odoo#72042- Install the eCommerce (for the ribbon, in 14.0) and the Sales app - Go to the Sales app -> Products -> Products - (View List ->) select (a) Product(s) -> Action -> Export - check "I want to update data (import-compatible export)" -> click on the "Ribbon" field (in 14.0, or another many2x field for wich the model has no _rec_name defined) to expand Cause: the export page controller tries to access an undefined field (_rec_name) Solution: the controller now uses a fallback method to ret
Original PR description
- Install the eCommerce (for the ribbon, in 14.0) and the Sales app - Go to the Sales app -> Products -> Products - (View List ->) select (a) Product(s) -> Action -> Export - check "I want to update data (import-compatible export)" -> click on the "Ribbon" field (in 14.0, or another many2x field for wich the model has no _rec_name defined) to expand Cause: the export page controller tries to access an undefined field (_rec_name) Solution: the controller now uses a fallback method to retrieve the wanted field opw-2566403 Forward-Port-Of: odoo/odoo#72718
This commits is about two problems. The first one is a undesirable warning message displayed when closing the POS session To reproduce the error: 1. In POS settings, enable "Advanced Cash Control" 2. Start a POS session 3. Make an order of 70$, payment in cash 4. Close the POS session (correctly set the closing cash) Error: When clicking on "Close Session & Post Entries", a warning is displayed: "There is a difference between the expected and actual closing in cash. Are you sure [..
Original PR description
This commits is about two problems. The first one is a undesirable warning message displayed when closing the POS session To reproduce the error: 1. In POS settings, enable "Advanced Cash Control" 2.…
This commits is about two problems. The first one is a undesirable warning message displayed when closing the POS session To reproduce the error: 1. In POS settings, enable "Advanced Cash Control" 2. Start a POS session 3. Make an order of 70$, payment in cash 4. Close the POS session (correctly set the closing cash) Error: When clicking on "Close Session & Post Entries", a warning is displayed: "There is a difference between the expected and actual closing in cash. Are you sure [...] ?" However the actual cash is equal to expected cash so the message does not make sense The error has been introduced with commit 7252350d35c6e8e7f47458c3aedcf05d92e71afa, so the current commit reverts it. However, the reverted commit was a solution to a second problem: When cash control is disabled, if the user opens and closes a POS session (without any order), the ending balance of the associated cash register will always be 0. Here are the explanations: if cash control is enabled, when the user sets the closing cash, it creates a record: https://github.com/odoo/odoo/blob/80c28189ae6b10ad17c4de2a781233a8ffe663a6/addons/account/models/account_bank_statement.py#L82-L98 and therefore, thanks to `_validate_cashbox`, `balance_end_real` will be defined with its correct value. However, there isn't anything to define the ending balance when there isn't any order and when cash control is disabled. OPW-2580699 Forward-Port-Of: odoo/odoo#72725
…statement lines -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72546
Original PR description
…statement lines -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72546
latam task 573 / ticket adhoc 40407 --- ### Description of the issue/feature this PR addresses: We have a new RG from AFIP No 5003 that said that a Responsable Inscriptio company can issue A documents to Monotributista AFIP Resposanbility Types, before this regulation we were only able to B and C documents. ### Current behavior before PR: Not able to issue A documents to Monotributista AFIP Responsibility Types. ## Desired behavior after PR is merged: Be able to issue A docum
Original PR description
latam task 573 / ticket adhoc 40407 --- ### Description of the issue/feature this PR addresses: We have a new RG from AFIP No 5003 that said that a Responsable Inscriptio company can issue A documents to Monotributista AFIP Resposanbility Types, before this regulation we were only able to B and C documents. ### Current behavior before PR: Not able to issue A documents to Monotributista AFIP Responsibility Types. ## Desired behavior after PR is merged: Be able to issue A documents to Monotributista AFIP Responsibility Types. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72659 Forward-Port-Of: odoo/odoo#72316
Description of the issue/feature this PR addresses: Current behavior before PR: Now there is no possibility to translate part of the helping note in the CRM module Desired behavior after PR is merged: Helping note is fully translatable -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72761 Forward-Port-Of: odoo/odoo#70942
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Now there is no possibility to translate part of the helping note in the CRM module Desired behavior after PR is merged: Helping note is fully translatable -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72761 Forward-Port-Of: odoo/odoo#70942
Description of the issue/feature this PR addresses: @JKE-be this part of code doesn't make sens (save an id of order in an id of partner). it is better to remove it to prevent a fatal 500 error. @mart-e -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65629
Original PR description
Description of the issue/feature this PR addresses: @JKE-be this part of code doesn't make sens (save an id of order in an id of partner). it is better to remove it to prevent a fatal 500 error. @mart-e -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65629
When changing the journal of a payment that has already been saved by one of another company, a traceback will occur because of writeoff lines. This ensures that it will not happen. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72768
Original PR description
When changing the journal of a payment that has already been saved by one of another company, a traceback will occur because of writeoff lines. This ensures that it will not happen. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72768
When having several POS with cash control, if at least one POS already has a closed session with cash in box, the first session of the other POS may have an incorrect opening amount To reproduce the error: (Let POS01 be the existing point of sale) 1. Edit POS01's settings: - Enable "Advanced Cash Control" 2. Duplicate POS01 (-> POS02) 3. Start a session with POS01 4. Sell one product, payment in cash (Let P be the product's price) 5. Close POS01's session (correctly set the closi
Original PR description
When having several POS with cash control, if at least one POS already
has a closed session with cash in box, the first session of the other
POS may have an incorrect opening amount
To reproduce the error:
(Let POS01 be the existing point of sale)
1. Edit POS01's settings:
- Enable "Advanced Cash Control"
2. Duplicate POS01 (-> POS02)
3. Start a session with POS01
4. Sell one product, payment in cash (Let P be the product's price)
5. Close POS01's session (correctly set the closing cash)
6. Start a session with POS02
Error: On opening cash control, the opening amount is P, it should be 0
OPW-2574096
Forward-Port-Of: odoo/odoo#72782- Install stock, account_accountant, sale_management & mrp - Create a storable product (i.e. Kit A) - Configure its Product Category as followed: * Costing Method: Standard Price * Inventory Valuation: Automated - Create a consumable product (i.e. Kit B) - Create a consumable product with cost $3 (i.e. Component A) - Create a consumable product with cost $4 (i.e. Component B) - Create a consumable product with cost $5 (i.e. Component BB) - Create BOM for Kit B: * BOM Type: Kit
Original PR description
- Install stock, account_accountant, sale_management & mrp - Create a storable product (i.e. Kit A) - Configure its Product Category as followed: * Costing Method: Standard Price * Inventory…
- Install stock, account_accountant, sale_management & mrp
- Create a storable product (i.e. Kit A)
- Configure its Product Category as followed:
* Costing Method: Standard Price
* Inventory Valuation: Automated
- Create a consumable product (i.e. Kit B)
- Create a consumable product with cost $3 (i.e. Component A)
- Create a consumable product with cost $4 (i.e. Component B)
- Create a consumable product with cost $5 (i.e. Component BB)
- Create BOM for Kit B:
* BOM Type: Kit
* Quantity: 10
* Components:
2 x Component B
3 x Component BB
- Create BOM for Kit A:
* BOM Type: Kit
* Quantity: 3
* Components:
2 x Kit B
1 x Component A
- Create a SO with 1 Kit A and confirm it
- Create an invoice and confirm it
Values of the COGS aml created for Kit A ($26) do not match its BOM cost ($2.53).
The method computing the price unit does not take into account BOM quantity:
10 for Kit B and 3 for Kit A.
It only sums the cost of the components of BOM.
Quantities of the components used by sub-kits should be related to the quantities
defined in the BOM.
Also, the average price unit computed for the BOM should be divided by the BOM
quantity to get the true average price for one unit (BOM cost).
opw-2557198
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#72778
Forward-Port-Of: odoo/odoo#72508When clicking on the "Documents" stat button of a ticket, a user might not have enough access right to read the window action. Use _for_xml_id instead as done in 6156f9828. opw-2508290 Forward-Port-Of: odoo/enterprise#19204
Original PR description
When clicking on the "Documents" stat button of a ticket, a user might not have enough access right to read the window action. Use _for_xml_id instead as done in 6156f9828. opw-2508290 Forward-Port-Of: odoo/enterprise#19204
When selecting a line in list view of documents.document, if we had another column checkbox field, it would also be selected because of the lacking selector. Solution: specify the selector better opw-2579883 Forward-Port-Of: odoo/enterprise#19195
Original PR description
When selecting a line in list view of documents.document, if we had another column checkbox field, it would also be selected because of the lacking selector. Solution: specify the selector better opw-2579883 Forward-Port-Of: odoo/enterprise#19195
- Create a product category with Costing Method at 'Standard Price' and Inventory Valuation at 'Automated' - Create a storable product with this category and a cost - Increase the quantity on hand of this product - Create a sale with the product and validate the delivery No journal entry generated for the stock valuation layer opw-2572871 Forward-Port-Of: odoo/enterprise#19202
Original PR description
- Create a product category with Costing Method at 'Standard Price' and Inventory Valuation at 'Automated' - Create a storable product with this category and a cost - Increase the quantity on hand of this product - Create a sale with the product and validate the delivery No journal entry generated for the stock valuation layer opw-2572871 Forward-Port-Of: odoo/enterprise#19202
The value of the closing must only include amounts from depreciation accounts. [opw-2545239](https://www.odoo.com/web#id=2545239&action=333&active_id=49&model=project.task&view_type=form&cids=1&menu_id=4720) Forward-Port-Of: odoo/enterprise#18567
Original PR description
The value of the closing must only include amounts from depreciation accounts. [opw-2545239](https://www.odoo.com/web#id=2545239&action=333&active_id=49&model=project.task&view_type=form&cids=1&menu_id=4720) Forward-Port-Of: odoo/enterprise#18567
Forward-Port-Of: odoo/enterprise#19234
Original PR description
Forward-Port-Of: odoo/enterprise#19234