Monday, October 16, 2023
56 changes · master
New functionality added to Odoo
This update adds a visual hierarchy view so companies can browse employee reporting lines and department structures as organization charts. It also improves related HR presence indicators and view controls to make the new charts clearer and easier to use.
Original PR description
Purpose ======= The goal is to be able to have a hierarchy view to see the organisation of a company, that is, to have organisation chart for `hr.employee` model. To do that, a new view will be…
Purpose
=======
The goal is to be able to have a hierarchy view to see the organisation of a company, that is, to have organisation chart for `hr.employee` model.
To do that, a new view will be introduced in `web_hierarchy` module, called `Hierarchy` view and it will first be used in `hr_org_chart` module for `hr.employee`, `hr.employee.public` and `hr.department` models.
Implementation details
----------------------
- A new python method will be introduced in the models when `web_hierarchy` module is
installed. That method, called `hierarchy_read`, is created to fetch the data for the
hierarchy view when the view will be loaded.
- The definition of hierarchy view is inspired to the definition of the kanban,
that is, a template called `hierarchy-box` has to be defined in the arch to draw the card
displayed in the node of the hierarchy view.
- Some attributes can be defined on the `hierarchy` tag:
- `parent_field` (default='parent_id') contains the parent field name
to use to fetch the parent record and to be able to fetch the hierarchy.
- `child_field` (optional attribute) contains the child field name
to use to find the child records (it is in fact the one2many field).
If that field is defined then some queries can be avoided since we
directly fetch the children when a read/search_read is done.
- `icon` (default='fa-share-alt o_hierarchy_icon') icon displayed inside the
`Unfold` button (to show the child nodes) in hierarchy node.
- `draggable` (default=False) True to allow the user to drag and drop a
node (= record) into a row or another node to update its parent node.
task-3376776Odoo's web editor now includes basic AI-assisted content generation, helping users create, translate, or reformulate text while writing. This adds a dialog, loading and error feedback, and a connection to Odoo's language generation service, making content creation faster and easier for business users.
Original PR description
When you're writing something in Odoo you might want to translate/reformulate/generate something. Using a LLM, we could easily do that. This commit implement the bare minimum to generate content - a Dialog - a loading "snippet" - a rpc to Odoo Language Generator Please find the PR of the IAP part here : https://github.com/odoo/iap-apps/pull/684 task-3383324
Enhancements to existing features
The live chat code has been reorganized into clearer bundles so each context only loads what it needs. This should reduce duplication, make maintenance easier, and support more reliable live chat behavior across Odoo pages and external support pages.
Original PR description
This commit improves the live chat bundles: - `core` - `common`: hold files that are common to every feature - `web` - `embed`: hold files for the embed live chat and is splitted in 4 sub-bundles: - `common` - `frontend`: should only be added in the Odoo frontend. - `external`: should only be added outside of Odoo environment (e.g. support page). - `cors`: should only be added when the live chat is requested from a different origin. This will make live chat folder structure closer than the one used in mail and avoid code duplication. task-3537697
Resolved issues and error corrections
Users can now move personal tasks between stages by dragging and dropping them in My Tasks. This fixes an error that prevented the stage change from being saved, improving day-to-day task management reliability.
Original PR description
**Steps to reproduce:** --- - Project -> Tasks -> My Tasks - try changing task stage by dragging and dropping task to another stage. **Issue:** --- The expected behavior was to change the stage when changing task stage by dragging and dropping to another stage. but The stage is not being changed. **Cause:** --- The for loop inside function `_preprocessX2manyChanges` was expecting an Array from the `value` but It wasn't getting an Array. The reason was the `_update` function in the project. Where one edge case was missing. and it was producing traceback. **Fix:** --- The condition for handling the edge case is added. It will check whether the `value` is an Array. **PPR Note**-i think this commit effected- https://github.com/odoo/odoo/commit/4bf77b9ef18f49e409af904334f4dfab88db3cf0 task:3519453
Code cleanup and technical improvements
This update removes an outdated template setting from the Point of Sale self-ordering module. It is an internal cleanup that keeps the module aligned with the current app structure and should not change the user experience.
Original PR description
As all the templates are now imported in the owl app, there is not need anymore to specify the owl="1" attribute in the templates. Ref-https://github.com/odoo/odoo/pull/130467 Related Enterprise PR-https://github.com/odoo/enterprise/pull/48964 task-3508331 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Before this commit, it crashes when giving the number 0 or 1 as path to the ModelFieldSelector in debug mode. This commit fixes the ModelFieldSelector's props validation. Forward-Port-Of: odoo/odoo#138334
Original PR description
Before this commit, it crashes when giving the number 0 or 1 as path to the ModelFieldSelector in debug mode. This commit fixes the ModelFieldSelector's props validation. Forward-Port-Of: odoo/odoo#138334
Test emails for mass mailings now clearly show a [TEST] label in the subject, helping users avoid confusing previews with real campaigns. The test email form also remembers the last address used for testing, saving time for repeated checks.
Original PR description
When sending a test for a mass mailing Before this commit: - subject is the same as for a non-test - default email adress is the current user's After this commit: - subject is prepended with '[TEST]' - default email adress is the one used for a previous test if there is one, otherwise the current user's Task-3378043
Customers using kiosk or mobile ordering now see a clearer confirmation page with their tracking number, paid amount, and table when applicable. Restaurant staff also return to the correct floor plan when going back from a table, and floor buttons now show order numbers, reducing confusion during service.
Original PR description
*: pos_self_order,pos_online_payment_self_order,pos_restaurant Commit 1: Before, when ordering on the kiosk/mobile, no confirmation page was displayed, only a notification. Now, a confirmation page…
*: pos_self_order,pos_online_payment_self_order,pos_restaurant Commit 1: Before, when ordering on the kiosk/mobile, no confirmation page was displayed, only a notification. Now, a confirmation page displays the tracking number, the amount paid and, if present, the customer's table.. --- Commit 2: The problem is that a mandatory field from the sale module has been added to the ProductAttributeCustomValue template, but in point of sale we also use this model without necessarily filling this field. Previously, the sale module was the only module to use the ProductAttributeCustomValue model (product.attribute.custom.value). In the override, a field set to mandatory has been added "sale_order_line_id", a relationship between the sale.order.line model and product.attribute.custom.value. We now remove the mandatory parameter from this field so that we can create new data without getting an error indicating that a mandatory field is missing. This has no impact on the operation of the Sale module as this field will be populated anyway, since the only way to create a record of this type is via a sale_order_line or a pos_order_line. --- Previously, when a table was selected on a floor plan other than the first, clicking on back brought you to the first floor plan, not the one of the previously selected table. Now, when you click on the back button, you return to the floor plan corresponding to the previous table. Also, the order number is now displayed on the floor screen button. 
German invoices now include a delivery date in the invoice header and on printed invoice documents. This helps businesses meet German legal invoicing requirements more consistently.
Original PR description
Delivery dates on invoices are a legal requirement on germany. It needs to be displayed on the header of the form view and will be displayed on the printed invoices. Task-id: 3383318
The status bar now automatically adjusts how stages are shown based on available space, while keeping the current stage visible. This makes workflow progress easier to read and use across different screen sizes without switching between separate display modes.
Original PR description
Before this commit, the status bar field could be displayed in 2 ways: - in small screens: as a dropdown - in larger screens: as an inline list of buttons This commit centralizes both of these approaches into a dynamic display that fits the available space: - the current stage is always displayed; - previous stages are displayed behind or contained in a dropdown if not enough space; - next stages are displayed behind or contained in a dropdown if not enough space. Task [3336856](https://www.odoo.com/web#id=3336856&cids=1&menu_id=4720&action=333&active_id=133&model=project.task&view_type=form) Enterprise: https://github.com/odoo/enterprise/pull/48706 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
HR users can now access and manage employee skills more easily, with skills installed by default in HR and clearer actions for viewing skill history. The update also adds demo data and smoother skill entry flows, helping teams showcase and use skills information more effectively.
Original PR description
UX changes to improve the visibility of skills related features in hr applications: - install skills by default with HR - custom button for skills history - new skills demo data task 3334909
Users can now start installing the Odoo web app directly from a notification in the messaging area. This makes app installation easier to discover, with tailored guidance for Apple devices where the standard install prompt is unavailable.
Original PR description
The NotificationItem component has been modified to support a new slot allowing to display some content at the right of the notification item. It is used in this commit to display an additional 'Install button', inviting the user to click on the notification. Note that the entire notification is still clickable, it is only a visual indicator. Once the notification is clicked, the installation process is triggered: - In case the system supports the native installation prompt, we now display it, and the user is free to install the PWA from there. - On Apple devices, a custom popup^is displayed to the user, explaining the steps to install the website as an application, since iOS and macOS don't support a native prompt, and won't be using one anytime soon, since it's a design decision from their side. task-3275275
The forum sidebar no longer uses a grey background that could clash with custom website designs, especially dark themes. This makes forum pages more consistent and easier to style in the website builder until a better background option is available.
Original PR description
The grey background on the sidebar isn't well supported by the website builder, especially if the user chooses a dark background. To avoid the issue, we've removed the background until a better solution works with the website builder. task-3555851 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Leads created from website event registrations now keep the visitor's language and visitor link when generated by lead rules. This helps teams follow up with event prospects in the right language and with better visitor context.
Original PR description
POC for setting current language on website_visitor --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Colombian accounting setup now includes default accounts for cash difference gains and losses. This helps companies record small cash discrepancies consistently and reduces manual configuration during accounting setup.
Original PR description
Adds 2 accounts in the Chart of Accounts for l10n_co for the cash difference gains and losses and set them as default accounts. task-3546441 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now manually check Peppol invoice statuses and fetch incoming Peppol bills directly from the accounting dashboard. This reduces reliance on twice-daily automated checks and gives businesses more timely visibility into electronic invoicing activity.
Original PR description
Problem --------- User want to verify (when he want) if he has bills on Peppol and the status of his customer invoices. Currently, the only option is wait for a cron that runs twice a day. Objective…
Problem --------- User want to verify (when he want) if he has bills on Peppol and the status of his customer invoices. Currently, the only option is wait for a cron that runs twice a day. Objective --------- - Add a button in the Kanban card of the customer invoices that updates the status of invoice send by Peppol. - Add a button in the Kanban card of the incoming journal that fetches received bills on the Peppol network. Solution --------- This commits does several things in order to achieve the objective: - Seperate the peppol cron functions into business action and cron function - Add an interface on the journals so that they can call the peppol business functions - Add an inverse function that resets the journal `is_peppol_journal` to False and sets that field to True on the relevant journal. - Add a related field that checks whether the company has peppol active - Add the buttons on the Kandan Dashboard view that call the relevant business function thanks to the interface. It filters the edi users on the target companies so that only the target companies are updated when a button is pressed and not all companies. task-3531222 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Colombian profit and loss reports now include the newly added accounts for cash difference gains and losses. This ensures those amounts are categorized correctly in financial statements, improving reporting accuracy for Colombian companies.
Original PR description
The related PR adds 2 accounts in the Chart of Accounts for l10n_co for the cash difference gains and losses. This commit modifies the Profit and Loss reports to properly match the newly created accounts task-3546441
This update keeps the WhatsApp integration aligned with a related platform change in Odoo Community. It helps ensure the feature continues to work smoothly after the underlying communication channel details were adjusted.
Original PR description
https://github.com/odoo/odoo/pull/137623
The status bar now automatically adjusts how stages are shown based on available screen space, keeping the current stage visible while grouping other stages when needed. This makes navigation clearer and more consistent across different screen sizes, with related Studio tests updated to reflect the behavior.
Original PR description
Before this commit, the status bar field could be displayed in 2 ways: - in small screens: as a dropdown - in larger screens: as an inline list of buttons This commit centralizes both of these approaches into a dynamic display that fits the available space: - the current stage is always displayed; - previous stages are displayed behind or contained in a dropdown if not enough space; - next stages are displayed behind or contained in a dropdown if not enough space. Task 3336856 Community: https://github.com/odoo/odoo/pull/124267
Employee skills are now easier to view and add during appraisals, with the appraisal skill entry experience aligned with regular employee skill management. This helps HR teams capture skill information more consistently and with fewer workflow differences.
Original PR description
Correct xpath after change in community. add form view so that the add behavior is the same as on employee skills. see odoo/odoo#122509 task 3334909
Helpdesk teams can now present and manage linked eLearning courses more clearly. Course pages show which helpdesk teams use them, and website search results include richer course details like ratings and duration to help customers find relevant learning content faster.
Original PR description
This PR aims to improve the e-learning integration in helpdesk, by bringing the following changes: - Improve the description of the feature in the helpdesk team settings. - Add a stat button on courses for helpdesk teams that use them. - Add more information to the course search results in the web search. Task-3475461
Users can now create new Gantt records by selecting one or more time slots directly on the schedule instead of using cell buttons. This makes planning workflows faster and more intuitive, with the Plan dialog shown by default when available and the standard Create dialog used otherwise.
Original PR description
This commit removes the gantt cell buttons and replace them by allowing the user to select one or multiple cells to create a new record. The opened dialog will by default be the Plan dialog but will be replaced with the Create dialog it it isn't available. task-2704512
Live chat conversations now show the configured live chat user name instead of the agent's real account name. This keeps customer-facing chats consistent with the intended display identity and avoids exposing internal names.
Original PR description
Before this commit, the real user name was shown instead of the live chat user name. This PR corrects this behavior.
Portal users editing shared project tasks will no longer see image, video, or file insertion options that they cannot use. This avoids confusing access error messages and keeps the editing experience focused on actions available to them.
Original PR description
Steps: - Install project. - Create a project and it's task. - Share this project to portal user with editable rights. - Open that project from portal user. - In task description, using `/image`, add one image. Issue: - There comes an Access error: Sorry, you are not allowed to access this document. Solution: - We are passing `'allowCommandImage': false, 'allowCommandVideo': false, 'allowCommandFile': false}` so that portal user can't have the /image and related options. task-3463461
This fixes an issue where reducing a sales or purchase order after a partial delivery or receipt without a backorder could incorrectly create an extra return or delivery for the remaining quantity. Businesses get more accurate inventory flows and avoid unnecessary warehouse operations.
Original PR description
Case: - create an SO for 3 units of product A - validate and open the delivery picking - put 2 in quantity done, validate - do NOT create a backorder - return on the SO, put 2 in ordered quantity field - save Issue: a return picking is create for the 1 unit that was removed from the SO Before, product_uom_qty was changed on stock move at validation to match quantity_done. Now it stays the same so another value has to be used in _get_qty_procurement for 'done' stock moves. This fix ensures that the correct quantity is used depending on the state of the stock move. With that, the float_compare in _action_launch_stock_rule will correctly redirect to continue if necessary. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a small wording issue in the HR settings by changing an awkward label related to “working.” It improves clarity for users configuring HR options without changing any functionality.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes the file path used to load the TikTok icon font in the web interface. The correction helps ensure the icon displays properly instead of failing to load due to an incorrect location.
Original PR description
This updates the relative url of the 'woff' font that was one parent too far. Bug introduced in [1] [1] : https://github.com/odoo/odoo/commit/47c5a092196054359d82edbc79dea0caf213dd9f task-3477965
This fixes cases where Point of Sale demo or onboarding data could not be loaded after deleting the default setup or archiving previously loaded products. Businesses setting up or reconfiguring POS and restaurant POS can now restart onboarding more reliably without manual cleanup.
Original PR description
In this commit 2 issues are fixed. The first issue is when trying to load demo data when the default pos configs are deleted. The second is when trying to reload onboarding data when the products are…
In this commit 2 issues are fixed. The first issue is when trying to load demo data when the default pos configs are deleted. The second is when trying to reload onboarding data when the products are already loaded but archived (task-3539455). steps to reproduce the first issue: - load db without demo data - delete pos created by default - create a new pos config - open and try to load demo data steps to reproduce the second issue: - load db without demo data - open pos and load demo data - archive products - open pos and try to load demo data changes: - main pos config demo data has been separated from onboarding data. - condition has been added in the search count of _pos_has_valid_product method to check for archived products. Enterprise PR: https://github.com/odoo/enterprise/pull/48621 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 live chat issue that could trigger server errors when a visitor's chat session became outdated after logging in and out. Users should now be able to reload website pages with live chat more reliably, avoiding disruptive errors in that flow.
Original PR description
This PR fixes two issues: - Incorrect write on `channel_member_ids` (trying to link guest instead of channel member) - Incorrect condition in `livechatService.leaveSession` that relies on the live chat to be initialized while it can acutally be called before if the current session is outdated. This could result in server errors in the following scenario: - Open a live chat - Log in - Open a live chat from the website app - Log out
This update corrects layout problems in the Studio home menu after recent menu structure changes. It helps keep the interface usable and visually consistent for users working in Odoo Studio.
Original PR description
Commit[1] introduced some changes to the studio home menu to fix some layout and usability. These changes were applied on Master via a forward-port, but since the structure of the home studio menu changed, we need to modify a bit the way the layout and the classes applied to the elements. Commit[1]: 92bbabd92d320af639c18348e15f5999429e4822 task-3536769
The depreciation schedule report now displays its table shading correctly, removing unwanted gray squares while keeping alternating column backgrounds for readability. The table header styling has also been restored, making the report easier to review and consistent with earlier versions.
Original PR description
In the depreciation schedule report, multiple gray squares appear as a background color in multiple cells. This commit solves the issue and restore the gray background color for one column out of two to have a better visualization. The header of the table is also fixed as a class was missing. The SCSS code was therefore useless. The result is now similar to what was rendered in odoo 15. task: 3226777
Restaurant preparation display demo data can now be loaded after the default point of sale setup is removed or when previously loaded products were archived. This helps users complete onboarding reliably when setting up or retrying restaurant point of sale configurations.
Original PR description
In this commit 2 issues are fixed. The first issue is when trying to load demo data when the default pos configs are deleted. The second is when trying to reload onboarding data when the products are already loaded but archived. steps to reproduce the first issue: - load db without demo data - delete pos created by default - create a new pos config - open and try to load demo data steps to reproduce the second issue: - load db without demo data - open pos and load demo data - archive products - open pos and try to load demo data changes: - adapt pos_restaurant_preparation_display to the separation of demo data introduced in the community branch. Community PR: https://github.com/odoo/odoo/pull/138035
This update corrects how the Documents Spreadsheet tests simulate browser information. It helps prevent test failures and reduces the risk of spreadsheet-related features behaving incorrectly when browser details are checked.
Original PR description
This commit fixes the patch made to the browser object. Before this commit, the navigator property only has the clipboard property defined, which could cause other issues, with the code using the browser.navigator object to define some properties. It is part of the task-3275275, when the feature detection is made using browser.navigator.userAgent. A test would fail without this fix.
Fixed display issues in the main Odoo home menu and Studio home menu so app icons and edit controls appear in the right place. This improves usability and keeps automated checks aligned with the updated layout.
A test tour selector was updated after an underlying interface markup change moved the kanban view icon inside the button. This keeps the helpdesk knowledge workflow validation reliable without changing customer-facing behavior.
Original PR description
Beforer this commit, the `button.o_switch_view.oi-view-kanban` no longer finds the button because of a changes done in community version. That is, the `oi-view-kanban` class has been moved into a new `i` tag displayed inside that button. This commit changes the selector to correcly select the button expected, that is, the kanban button in views switcher to display the kanban view. task-3376776
This update removes older internal asset-loading calls from the web editor and web areas, moving part of the mobile preview setup to a server-generated template. This helps simplify the underlying asset system, making future maintenance easier without introducing a direct user-facing feature change.
Original PR description
In this commit, we remove three usages of the getBundle function from @web/core/assets.js. The final goal is to remove it totally to simplify the understanding of assets's API. To replace the use of getBundle in mobile preview dialog, an xml template has been created on the server side and then called by http requests. During the request, we retrieve the list of assets (server side getbundle) to inject these into the xml template. taskId : 3266441 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Common tax calculation logic has been moved into shared external tax modules so Avalara and Brazil tax integrations no longer duplicate the same plumbing. This makes future tax service integrations easier to maintain while preserving the existing customer-facing tax calculation triggers for quotes, invoices, and payment flows.
Original PR description
This commit introduces *external_tax* modules to gather common code in account_avatax* and l10n_br_avatax*. When l10n_br_avatax* was developed some of the code in account_avatax was duplicated.…
This commit introduces *external_tax* modules to gather common code in account_avatax* and l10n_br_avatax*. When l10n_br_avatax* was developed some of the code in account_avatax was duplicated. Concretely this module contains: - triggers that cause a tax computation, apart from manual calculation taxes will be calculated in situations where an end customer is viewing a record (e.g. a quote sent via email) and/or has the opportunity to pay (e.g. /my/quote) - code to set tax amounts on records that support tax calculation (sale.order and account.move at the moment) - filters that help integrations determine on which records tax should be calculated Tax integration modules can now be focused on building and processing requests to external tax calculation services, and don’t need to be concerned with these low-level mechanisms anymore. In order to implement a new service the account.external.tax.mixin can be inherited on models that need tax calculation (typically sale.order and account.move). - _compute_is_tax_computed_externally() should be overridden to return True when appropriate - _get_external_taxes() will be called when appropriate and is the main entry point that should launch the external tax calculation process - _get_line_data_for_external_taxes() should be implemented to return data needed for tax calculation for that particular model - _get_date_for_external_taxes() should be overridden to return the date on which tax calculation should be based Other optional hooks are provided for uncommitting and voiding. Upgrade PR: odoo/upgrade#5151
This update removes an old template marker that is no longer needed because templates are now handled automatically by the app framework. It should not change how users work with Odoo, but it helps keep the codebase cleaner and easier to maintain.
Original PR description
As all the templates are now imported in the owl app, there is not need anymore to specify the owl="1" attribute in the templates. Ref-https://github.com/odoo/odoo/pull/130467 task-3508331
Steps to reproduce: 1. install l10n_br and set up a Brazilian company with Brazilian customers 2. go to validate a sale as a Brazilian customer 3. fill in the CPF field w/ 11 digit number 4. error: "invalid CNPJ. Make sure that the CNPJ number is 14 digits" Issue: the code only accepts and validates CNPJ codes Fix: add support for CPF codes with its validation function according to: http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/funcoes.js opw-3421476 Forward-Port-Of: odo
Original PR description
Steps to reproduce: 1. install l10n_br and set up a Brazilian company with Brazilian customers 2. go to validate a sale as a Brazilian customer 3. fill in the CPF field w/ 11 digit number 4. error: "invalid CNPJ. Make sure that the CNPJ number is 14 digits" Issue: the code only accepts and validates CNPJ codes Fix: add support for CPF codes with its validation function according to: http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/funcoes.js opw-3421476 Forward-Port-Of: odoo/odoo#132533
1. sudo permission for _totp_check env.user is still public user which doesn't have access rights for self.login in Odoo 15 it was not a problem since self.login was in cache but in Odoo 16 it is not and as a result, returns an access error 3. format_timedelta the `lang` was used for `granularity` as the second argument not for `locale` Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I hav
Original PR description
1. sudo permission for _totp_check env.user is still public user which doesn't have access rights for self.login in Odoo 15 it was not a problem since self.login was in cache but in Odoo 16 it is not and as a result, returns an access error 3. format_timedelta the `lang` was used for `granularity` as the second argument not for `locale` 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#138458
With the option "Reception Report" enabled, a batch may contains done and ready pickings, which is inconsistent To reproduce the issue: 1. In Settings, enable Reception Report 2. Operations Types, edit Receipts: - Show Reception Report: True - Automatic Batches: True - Group by: Contact 3. Create two products P1, P2 4. Confirm a delivery with P1 5. Confirm two receipts, one for each product, both with partner P - It should create a batch 6. Partially process the receipt
Original PR description
With the option "Reception Report" enabled, a batch may contains done and ready pickings, which is inconsistent To reproduce the issue: 1. In Settings, enable Reception Report 2. Operations Types,…
With the option "Reception Report" enabled, a batch may contains done and ready pickings, which is inconsistent To reproduce the issue: 1. In Settings, enable Reception Report 2. Operations Types, edit Receipts: - Show Reception Report: True - Automatic Batches: True - Group by: Contact 3. Create two products P1, P2 4. Confirm a delivery with P1 5. Confirm two receipts, one for each product, both with partner P - It should create a batch 6. Partially process the receipt with P1, with backorder - It should open the reception report because of the delivery 7. Open the batch Error: The first receipt is done but is still part of the batch and the backorder is not attached to it. Worst: if the user now tries to confirm a third receipt with the same partner, he will got an error because of an inconsistency with the batch [1] is incorrect. The code assumes that if `res` is not `True`, there was an issue with the picking, so it's better to immediately return `res` without analyzing the batch. However, sometimes `res` can be a `dict` even when the picking has been processed correctly. This is the case here: the receipt is marked as done, but we return an action to open the reception report. As a result, in the above case, we directly return the report action, and we don't analyze the batch consistency (i.e., we don't remove the done receipt and add the backorder). Then, because of the batch inconsistency, the user is blocked and can not validate another receipt. [1] https://github.com/odoo/odoo/commit/0c7122d416a3669d1d42f66bef5b397e8b36a91b OPW-3346255 Forward-Port-Of: odoo/odoo#138607
Before this commit: we assumed an event's recurrence only contains RRULE, and we were getting the RRULE from the first element in the list. But it could have EXRULE, RDATE, and EXDATE, so in this case, the first element could be other items. https://developers.google.com/calendar/api/v3/reference/events#:~:text=default%20is%20False.-,recurrence%5B%5D,-list The solution is to iterate through all items and return the RRULE. opw-2797968 -- I confirm I have signed the CLA and read the
Original PR description
Before this commit: we assumed an event's recurrence only contains RRULE, and we were getting the RRULE from the first element in the list. But it could have EXRULE, RDATE, and EXDATE, so in this case, the first element could be other items. https://developers.google.com/calendar/api/v3/reference/events#:~:text=default%20is%20False.-,recurrence%5B%5D,-list The solution is to iterate through all items and return the RRULE. opw-2797968 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87697 Forward-Port-Of: odoo/odoo#87559
Ensured that the reduce function returns the accumulator even when encountering 0 price lines. This prevents the function from breaking on subsequent iterations due to receiving 'undefined' instead of the expected array. opw-3528223 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138645 Forward-Port-Of: odoo/odoo#138245
Original PR description
Ensured that the reduce function returns the accumulator even when encountering 0 price lines. This prevents the function from breaking on subsequent iterations due to receiving 'undefined' instead of the expected array. opw-3528223 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138645 Forward-Port-Of: odoo/odoo#138245
Suppose a picking type in company C1 that uses a sequence in company C2. If a user then tries to install mrp/pos, it will lead to a Server Error because at some point, we write on the picking type: https://github.com/odoo/odoo/blob/c02df957d9f04c911f330aaaadd80fe97a601509/addons/stock/models/stock_warehouse.py#L332 It will trigger the company checking and lead to the error https://github.com/odoo/odoo/blob/a32c98beb5d57c3af481558c6db08767e9258959/odoo/models.py#L3548 When updating the pi
Original PR description
Suppose a picking type in company C1 that uses a sequence in company C2. If a user then tries to install mrp/pos, it will lead to a Server Error because at some point, we write on the picking type: https://github.com/odoo/odoo/blob/c02df957d9f04c911f330aaaadd80fe97a601509/addons/stock/models/stock_warehouse.py#L332 It will trigger the company checking and lead to the error https://github.com/odoo/odoo/blob/a32c98beb5d57c3af481558c6db08767e9258959/odoo/models.py#L3548 When updating the picking types, we should also update the sequences to ensure the data consistency. OPW-3501199 Forward-Port-Of: odoo/odoo#138643 Forward-Port-Of: odoo/odoo#138471
### 1. Flat colors The aim of this PR is to improve the impact and rendering of app icons in bright and dark mode. It also reduces the size of svg files. To achieve that, this commit updates the colors to flat colors. This change will make the icons stand out and improve their readability. ### 2. Fix dropdown dashboard icon Prior to this PR the Knowledge icon from the same dropdown was turned into an inline-svg but the dashboard one was not. This PR aims to use an inline-svg for th
Original PR description
### 1. Flat colors The aim of this PR is to improve the impact and rendering of app icons in bright and dark mode. It also reduces the size of svg files. To achieve that, this commit updates the…
### 1. Flat colors The aim of this PR is to improve the impact and rendering of app icons in bright and dark mode. It also reduces the size of svg files. To achieve that, this commit updates the colors to flat colors. This change will make the icons stand out and improve their readability. ### 2. Fix dropdown dashboard icon Prior to this PR the Knowledge icon from the same dropdown was turned into an inline-svg but the dashboard one was not. This PR aims to use an inline-svg for that icon and ensure it renders correctly. --- **Requires :** - https://github.com/odoo/enterprise/pull/48064 Other icons that should be merged after : - [16.4] Shop Floor : https://github.com/odoo/enterprise/pull/48071 - [16.4] WhatsApp : https://github.com/odoo/enterprise/pull/48082 - [16.3] pos_restaurant : https://github.com/odoo/odoo/pull/137976 - [16.3] payment methods icons : https://github.com/odoo/odoo/pull/137235 and https://github.com/odoo/enterprise/pull/48212 task-3072562 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#136917
Prior to this commit, when the user experienced an internet disconnection, after few seconds the PeerToPeer connection state would change to "closed" and the PeerToPeer connection would be removed permanently. Consequently, when the user reestablished their internet connection, the peers would remain disconnected to each other. With this commit, peers are now re-connecting to each other. task-3488166 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com
Original PR description
Prior to this commit, when the user experienced an internet disconnection, after few seconds the PeerToPeer connection state would change to "closed" and the PeerToPeer connection would be removed permanently. Consequently, when the user reestablished their internet connection, the peers would remain disconnected to each other. With this commit, peers are now re-connecting to each other. task-3488166 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138435 Forward-Port-Of: odoo/odoo#136748
The kanban card do not display their outline on the bottom side of the card. This is due to a negative margin (used to compensate for the border bottom of the card). This commit removes the border top if the kanban_record as a prior kanban_record sibling, using its sibling border-bottom as its border top and getting rid of the negative margin. task-3488451 -------- Explored solutions: 1. Compensating the negative margin bottom on focus state (used in 16.2) → Cons it moves all
Original PR description
The kanban card do not display their outline on the bottom side of the card. This is due to a negative margin (used to compensate for the border bottom of the card). This commit removes the border…
The kanban card do not display their outline on the bottom side of the card. This is due to a negative margin (used to compensate for the border bottom of the card). This commit removes the border top if the kanban_record as a prior kanban_record sibling, using its sibling border-bottom as its border top and getting rid of the negative margin. task-3488451 -------- Explored solutions: 1. Compensating the negative margin bottom on focus state (used in 16.2) → Cons it moves all the kanbancard under the one being focus from 1px; 2. Using a box shadow to mimick and offset outline on the bottom of the card → Cons, doesn't work if we have only one kanban card, requires custom code to apply only if multiple cards (not worth it compared to sol.3) 3. (this PR solution) Removing kanbancard border bottom if not last card and getting rid of the negative margin → Cons as it checks if the kanban_record has a sibling kanban_record to manage borders, any inconsistencies in kanban layout will make this rule fail. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#133906
Current behaviour before commit: When cropping an image, pressing `ENTER` creates new paragraph behind the widget, due to this, changes are not getting applied on image and it disappears. Desired behaviour after commit: Now hitting `ENTER` works same as apply button, Changes are getting applied when pressing `ENTER`. task-3383447 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138185 Forward-Port-Of: od
Original PR description
Current behaviour before commit: When cropping an image, pressing `ENTER` creates new paragraph behind the widget, due to this, changes are not getting applied on image and it disappears. Desired behaviour after commit: Now hitting `ENTER` works same as apply button, Changes are getting applied when pressing `ENTER`. task-3383447 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138185 Forward-Port-Of: odoo/odoo#127254
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#138720
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 Forward-Port-Of: odoo/odoo#138720
Impacted modules: payment_custom, website_sale_picking Requires: - https://github.com/odoo/odoo/pull/136917 - https://github.com/odoo/enterprise/pull/48064 - https://github.com/odoo/enterprise/pull/48212 task-3514428 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#137235
Original PR description
Impacted modules: payment_custom, website_sale_picking Requires: - https://github.com/odoo/odoo/pull/136917 - https://github.com/odoo/enterprise/pull/48064 - https://github.com/odoo/enterprise/pull/48212 task-3514428 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#137235
Adds the translation in French en German of account groups of l10n_lu localization. task-3497904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#137234
Original PR description
Adds the translation in French en German of account groups of l10n_lu localization. task-3497904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#137234
Requires: - https://github.com/odoo/odoo/pull/136917 - https://github.com/odoo/enterprise/pull/48064 - https://github.com/odoo/odoo/pull/137235 task-3514428 Forward-Port-Of: odoo/enterprise#48212
Original PR description
Requires: - https://github.com/odoo/odoo/pull/136917 - https://github.com/odoo/enterprise/pull/48064 - https://github.com/odoo/odoo/pull/137235 task-3514428 Forward-Port-Of: odoo/enterprise#48212
the custom comparison was broken and the percentages were not displayed in the last column. This custom behavior is no longer wanted. task-3546445 Forward-Port-Of: odoo/enterprise#48664
Original PR description
the custom comparison was broken and the percentages were not displayed in the last column. This custom behavior is no longer wanted. task-3546445 Forward-Port-Of: odoo/enterprise#48664
In the Romanian Profit and Loss, the line "b) Expenses on insurance and social protection | 23" has wrong accounts set on it. task-3547190 Forward-Port-Of: odoo/enterprise#48661
Original PR description
In the Romanian Profit and Loss, the line "b) Expenses on insurance and social protection | 23" has wrong accounts set on it. task-3547190 Forward-Port-Of: odoo/enterprise#48661
Amazon sometimes allows user to type their state and/or state code instead of forcing the customers to choose in a list, and then send the information as typed. As such, before this commit, even if we already considered the case where the state code is in fact the complete state name, the search was case-sensitive. We now use the operator to match the state, as long as it at least doesn't have any typo. opw-3140019 Forward-Port-Of: odoo/enterprise#48292
Original PR description
Amazon sometimes allows user to type their state and/or state code instead of forcing the customers to choose in a list, and then send the information as typed. As such, before this commit, even if we already considered the case where the state code is in fact the complete state name, the search was case-sensitive. We now use the operator to match the state, as long as it at least doesn't have any typo. opw-3140019 Forward-Port-Of: odoo/enterprise#48292
The aim of this commit is to improve the impact and rendering of app icons in bright and dark mode. It also reduces the size of svg files. To achieve that, this commit updates the colors to flat colors. This change will make the icons stand out and improve their readability. Requires* : - https://github.com/odoo/odoo/pull/136917 task-3072562 Forward-Port-Of: odoo/enterprise#48064
Original PR description
The aim of this commit is to improve the impact and rendering of app icons in bright and dark mode. It also reduces the size of svg files. To achieve that, this commit updates the colors to flat colors. This change will make the icons stand out and improve their readability. Requires* : - https://github.com/odoo/odoo/pull/136917 task-3072562 Forward-Port-Of: odoo/enterprise#48064