Monday, October 10, 2022
103 changes · master
New functionality added to Odoo
Adds a tax calculation option that compares a percentage-based tax with a quantity-based fixed amount and applies whichever is higher. This helps businesses comply with tax rules that require minimum per-quantity tax amounts while still using percentage tax when it produces a larger value, including in Point of Sale.
Original PR description
In this commit, we add a new type that does tax calculation in fixed/percent and takes the higher one. Tax is 21% or 4170 INR per 1000 qty which is high Product | QTY | Unit Price | Total without tax…
In this commit, we add a new type that does tax calculation in fixed/percent and takes the higher one. Tax is 21% or 4170 INR per 1000 qty which is high Product | QTY | Unit Price | Total without tax | Tax amount ========|=====|============|===================|=========== A | 10 | 100.0 | 1000.0 | 417.0 B | 50 | 100.0 | 5000.0 | 1050.0 In first-line tax calculation is 21% of 1000 = 210.0 100(QTY) * 4.17 = 417.0 Tax value is 417.0 (based on qty because the value is higher than the percentage calculation) In second-line tax calculation is 21% of 5000 = 1050.0 100(QTY) * 4.17 = 417.0 Tax value is 1050.0 (based on percentage because the value is higher than qty base calculation) task-2741537 PR: #84518 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
Enhancements to existing features
Invoices now show bank statement information when a manually registered payment has been reconciled through a posted bank statement. This helps users open the right bank reconciliation view directly instead of being sent to the payment record, making follow-up and review clearer.
Original PR description
When a payment is registered manually and reconciled with a bank statement, the payment widget on the invoice still displays payment data. Clicking the "View" button also redirects to the `account.payment` form. Once a bank statement is posted, it is preferred to show the bank statement information and redirect to a bank reconciliation widget view, filtered by the bank statement line reconciled with the payment. In a very unlikely case that a payment is reconciled with more than one bank statement line, we display the last statement's data and filter the reconciliation widget by the last statement line posted. task-2928299 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Creating a timesheet from an employee's grid view now correctly links the entry to that employee when no employee was set explicitly. This fixes a workflow issue that prevented users from adding timesheets directly after creating a new employee.
Original PR description
…work Before this commit, when create new employee and click to timesheet button that time adding a new timesheet from the grid view doesn't work. After this commit, In hr_timesheet we have use default_employee_id form context while creating timesheet record if employee_id is not present in vals, so when create new employee and adding a new timesheet from the grid view it is work. task-2973173 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
Code cleanup and technical improvements
This change updates the internal way the mail and discussion features store and refresh message-related data. It is intended to make the interface more reliable and responsive without changing the visible workflow for users.
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
Documentation and clarification updates
This pull request records Atul Patel's Contributor License Agreement signature. It is an administrative legal update that enables their contributions to be accepted under Odoo's contribution requirements.
Original PR description
Description of the issue/feature this PR addresses: Signing CLA for contribution Current behavior before PR: Requesting Signing CLA for contribution Desired behavior after PR is merged: Acceptance of Signing CLA for contribution --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Before this commit, when the day of the month was smaller than 10, multiple days were highlighted as today on the datepicker. Now, only the correct day is highlighted. Forward-Port-Of: odoo/odoo#102210
Original PR description
Before this commit, when the day of the month was smaller than 10, multiple days were highlighted as today on the datepicker. Now, only the correct day is highlighted. Forward-Port-Of: odoo/odoo#102210
Companies can now be archived when they are no longer in use, such as after closing a subsidiary, without needing to delete historical business records. This keeps past invoices, payments, and related data intact while removing inactive companies from everyday use.
Original PR description
It is technically nearly impossible to delete a company when it actually dealed with customers (emitted invoices, received payments, ...). Hence, if you want to get rid of a company, for instance because you closed one of your subsidiaries, giving the possibility to archive your company, thanks to an active field, would be the best way to go. We are hesitating to do a related field to the `partner_id.active`, but we are a bit afraid some people archive the partner linked to their company for other valid reasons than get rid of their subsidiary (such as avoid changing the address of their company by mistake through the Contacts app), while still wanting the company itself to be active. So, we make it an independant column at the moment, so we have the actual stored column in case we need it, and will do a related stored to the partner later on if we change our mind. *edit*: manual forward-port of https://github.com/odoo/odoo/pull/102801
The spreadsheet component was updated to make common actions smoother and more reliable. Users can now adjust filters in read-only mode where allowed, clear cell contents with Backspace, and benefit from an internal safeguard that prevents duplicate data access names.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/1af8ad34 [IMP] filters: allow to update a filter in readonly mode https://github.com/odoo/o-spreadsheet/commit/706cc8ee [FIX] model: ensure that two getters cannot have the same name https://github.com/odoo/o-spreadsheet/commit/96067749 [IMP] grid: allow to remove content of a cell with backspace
This update streamlines how Odoo's messaging-related modules manage internal links between related records. It helps reduce maintenance complexity and supports more consistent behavior across Discuss, Live Chat, Mail, and Snailmail without introducing a visible workflow change for users.
Original PR description
\* = im_livechat, snailmail task-2741402 https://github.com/odoo/enterprise/pull/27282
This update streamlines how chat channel memberships are retrieved, reducing database work and improving performance. It mainly benefits Discuss and Live Chat behind the scenes, with no expected change to user workflows.
Original PR description
* = im_livechat, test_discuss_full Code cleanup, reduce query count, improve query performance. task-2818809
The mail app no longer allows default values on fields used to identify records, removing unnecessary work during record creation. This simplifies internal handling of sound effects and should slightly improve performance without changing normal user workflows.
Original PR description
There is no strong need to have default values on identifying fields, while allowing it adds overhead to every insert. The trade-off is not worth it, therefore this commit removes the support for identifying field default values and simplifies the code of `findFromIdentifyingData` accordingly. Enterprise: https://github.com/odoo/enterprise/pull/32634
VoIP sound effect records now use a single full-path value instead of separate path and filename fields. This internal cleanup reduces unnecessary default-value handling during data creation, helping keep insert operations simpler and more efficient.
Original PR description
Context: We want to get rid of default values on identifying fields, and `SoundEffect/path` is currently the only field to present this pattern. Merging `path` and `filename` fields together makes the default value no longer meaningful, as there is no full path that is shared by multiple records and which would therefore consist of a relevant default value. The point of removing default values from identifying fields is to simplify the code of `findFromIdentifyingData`, which is called by every single insert, so that we no longer have the overhead of looking for default values. This commit adapts the Enterprise code, and especially the VoIP code, to the changes made to the SoundEffect model. Community: https://github.com/odoo/odoo/pull/102912
This update improves how related messages, notifications, previews, approvals, and signing activities stay connected behind the scenes. It helps keep communication and workflow data more consistent, reducing the risk of missing or incorrectly linked activity information.
Original PR description
\* = approvals, sign task-2741402 https://github.com/odoo/odoo/pull/91229
The website page properties form now requires a visibility setting, preventing pages from being saved with a blank visibility value. This keeps the dropdown behavior consistent and reduces confusion when managing website page access.
Original PR description
In the page properties form, the visibility field could be set to an empty value. This commit makes the visibility field required. It also replaces its empty string key by "public", so that it works properly in the dropdown UI component. task-2687506
Also fixed workorder dependencies left alignment. task: 2985735 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#101534
Original PR description
Also fixed workorder dependencies left alignment. task: 2985735 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#101534
Within Purchase tab: - Make Quantity hidden by default. - Move Currency right after Price. Move Purchase Description to the right of Vendor Bills. task: 3004014 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#102078
Original PR description
Within Purchase tab: - Make Quantity hidden by default. - Move Currency right after Price. Move Purchase Description to the right of Vendor Bills. task: 3004014 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#102078
When selecting the "Add to batch" wizard, if a user selected "Add to an existing batch transfer", the only batches appearing there would be only draft batches, while it could be added to in_progress batches as well. It also displayed waves transfers with the batches, so it now only shows batches. Also restricted the creation of a batch in the related field since there is an explicit option to create a new batch transfer. Somewhat the same for the "Add to wave" wizard as it would display c
Original PR description
When selecting the "Add to batch" wizard, if a user selected "Add to an existing batch transfer", the only batches appearing there would be only draft batches, while it could be added to in_progress batches as well. It also displayed waves transfers with the batches, so it now only shows batches. Also restricted the creation of a batch in the related field since there is an explicit option to create a new batch transfer. Somewhat the same for the "Add to wave" wizard as it would display cancelled waves, as well as creating new waves in the many2one field. Part of task-2985735 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101415
The full syntax should make use of eval="..." directly in XML. Doing this leads to the fact the formulas, when displayed in the UI, don't contain any call to ref(), but directly the ids obtained from these calls. Before this commit, the shortcut syntax used to declare the same expressions did not work in the same way and kept an explicit ref() in the formula to evaluate. We now do the same in both places. We don't want to support explicit ref() in formulas (a user modifying a formula will
Original PR description
The full syntax should make use of eval="..." directly in XML. Doing this leads to the fact the formulas, when displayed in the UI, don't contain any call to ref(), but directly the ids obtained from these calls. Before this commit, the shortcut syntax used to declare the same expressions did not work in the same way and kept an explicit ref() in the formula to evaluate. We now do the same in both places. We don't want to support explicit ref() in formulas (a user modifying a formula will anyway not know the xmlid to call). The enterprise part of this PR takes care of that. Forward-Port-Of: odoo/odoo#101874
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#102451
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#102451
This PR adapts the form views since the merge of #100570. task-3002465 Forward-Port-Of: odoo/odoo#102600
Original PR description
This PR adapts the form views since the merge of #100570. task-3002465 Forward-Port-Of: odoo/odoo#102600
Hides the empty label the same way as the group-by field if it doesn't need to be shown (no default_location_dest_id/default_location_src_id). Part of task-2985735 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102658
Original PR description
Hides the empty label the same way as the group-by field if it doesn't need to be shown (no default_location_dest_id/default_location_src_id). Part of task-2985735 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102658
`activeActions` is a set of boolean values determining what actions (i.e. 'create', 'delete', etc.) can be performed on the current view or subview (x2many). Before this PR, the x2many fields used a different naming convention than the one set on the views (e.g. 'canCreate' instead of 'create'). This caused mismatches when subviews would try to rely on the parent view `activeActions` to define their own. This also introduced a bad design where the "type" of `activeActions` would be dete
Original PR description
`activeActions` is a set of boolean values determining what actions (i.e. 'create', 'delete', etc.) can be performed on the current view or subview (x2many). Before this PR, the x2many fields used a different naming convention than the one set on the views (e.g. 'canCreate' instead of 'create'). This caused mismatches when subviews would try to rely on the parent view `activeActions` to define their own. This also introduced a bad design where the "type" of `activeActions` would be determined by that same mismatch. Another issue was that the list renderer did not always check for the existence of activeFields in its props, despite defining them as optional. This PR unifies the names of the active actions accross views and x2many fields, while adding a "type" property to it s.t. its owner can determine what context it finds itself in. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100890
Purpose: The number of 'Late activities' are displayed on the kanban card. The number excludes the activities for the hired applicants. Yet, once we click on it, we are redirected to the activity view, which included the later activities. On the one hand, this is not consistent, but on the other hand, one might still be interested in those activities later on. Thus the best way out is to put the filter for the "Running Applicants". This filter will filter out the applicants in hired stage, bu
Original PR description
Purpose: The number of 'Late activities' are displayed on the kanban card. The number excludes the activities for the hired applicants. Yet, once we click on it, we are redirected to the activity view, which included the later activities. On the one hand, this is not consistent, but on the other hand, one might still be interested in those activities later on. Thus the best way out is to put the filter for the "Running Applicants". This filter will filter out the applicants in hired stage, but if we are interested in them, one could just remove the filter. task - 3001375 Forward-Port-Of: odoo/odoo#101899
The "Switch to 1 or 2 weeks calendar" are breaking the layout by being placed just before attendances_ids on the Working Hours sheet. With this commit, the buttons are moved in the header of the form. task-2996235 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102367
Original PR description
The "Switch to 1 or 2 weeks calendar" are breaking the layout by being placed just before attendances_ids on the Working Hours sheet. With this commit, the buttons are moved in the header of the form. task-2996235 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102367
Before this commit When clicking on "create" from a form view in mass_mailing, the "template picker" was not presented. task-3002100 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102372
Original PR description
Before this commit When clicking on "create" from a form view in mass_mailing, the "template picker" was not presented. task-3002100 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102372
Post-OWL-conversion layout fixes for mass_mailing: - One of `mass_mailing_tour`'s tooltips was overflowing the body and causing a horizontal scrollbar. This repositions it so that doesn't happen. - The iframe in mass_mailing is self-resizing in order to avoid having two vertical scrollbar side by side. This failed since the conversion to OWL due to the vertical offset added when resizing having become insufficient. This adds a class to the <html> element of the iframe to identify when it's i
Original PR description
Post-OWL-conversion layout fixes for mass_mailing: - One of `mass_mailing_tour`'s tooltips was overflowing the body and causing a horizontal scrollbar. This repositions it so that doesn't happen. -…
Post-OWL-conversion layout fixes for mass_mailing: - One of `mass_mailing_tour`'s tooltips was overflowing the body and causing a horizontal scrollbar. This repositions it so that doesn't happen. - The iframe in mass_mailing is self-resizing in order to avoid having two vertical scrollbar side by side. This failed since the conversion to OWL due to the vertical offset added when resizing having become insufficient. This adds a class to the <html> element of the iframe to identify when it's in the context of mass_mailing so we can remove the overflow visible style that is not needed in this context. This allows us to remove that vertical offset altogether since the scrollbar disappeared. - In mass_mailing, the paragraph alignment dropdown menu is wrongly positioned by Popper since the upgrade to Bootstrap 5. Other dropdowns in the toolbar had the `data-bs-display="static"` attribute but it seems that paragraph alignment was omitted by mistake. - The editor's toolbar is at the very bottom of mass_mailing's sidebar, making dropdowns pretty awkward as they often require the user to scroll down to see them. This extends the editor's toolbar for mass_mailing so all dropdowns become dropups instead. task-3002168 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102476
This PR fixes several `im_livechat` tracebacks: 1. Error occurring when an operator sends a message on a closed chat window ``` UncaughtPromiseError > TypeError Uncaught Promise > Cannot read properties of undefined (reading 'publicLivechatView') TypeError: Cannot read properties of undefined (reading 'publicLivechatView') at model._handleNotification (http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:121749:136) (/im_livechat/static/src/public_models/public_live
Original PR description
This PR fixes several `im_livechat` tracebacks: 1. Error occurring when an operator sends a message on a closed chat window ``` UncaughtPromiseError > TypeError Uncaught Promise > Cannot read…
This PR fixes several `im_livechat` tracebacks:
1. Error occurring when an operator sends a message on a closed chat window
```
UncaughtPromiseError > TypeError
Uncaught Promise > Cannot read properties of undefined (reading 'publicLivechatView')
TypeError: Cannot read properties of undefined (reading 'publicLivechatView')
at model._handleNotification (http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:121749:136) (/im_livechat/static/src/public_models/public_livechat_global.js:15)
at model._onNotification (http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:121773:22) (/im_livechat/static/src/public_models/public_livechat_global.js:39)
at owl.EventBus.trigger (http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:17802:18) (/web/static/lib/owl/owl.js:2152)
at MessagePort.handleMessage (http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:99659:17) (/bus/static/src/multi_tab_service.js:75)
```
2. Error occurring when the welcome chat bot script keeps sending messages on a closed chat window (before init)
```
UncaughtPromiseError > TypeError
Uncaught Promise > Cannot read properties of undefined (reading 'publicLivechatView')
TypeError: Cannot read properties of undefined (reading 'publicLivechatView')
at model.addMessage (http://localhost:8069/web/assets/528-3fdf77c/1/web.assets_frontend_lazy.min.js:9519:645)
at model.triggerNextStep (http://localhost:8069/web/assets/528-3fdf77c/1/web.assets_frontend_lazy.min.js:9531:240)
```
3. Error occurring when the welcome chat bot script keeps sending messages on a closed chat window (after init)
```
UncaughtClientError > TypeError
Uncaught Javascript Error > Cannot read properties of undefined (reading 'renderMessages')
TypeError: Cannot read properties of undefined (reading 'renderMessages')
at http://localhost:8069/web/assets/522-2a69534/1/web.assets_frontend_lazy.min.js:9677:203
```
4. Error when submitting feedback to welcome bot (with no email)
```
UncaughtPromiseError > TypeError
Uncaught Promise > Cannot read properties of undefined (reading 'widget')
TypeError: Cannot read properties of undefined (reading 'widget')
at http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:120356:72 (/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js:269)
```
5. Error occurring when chat window is closed after `setIsTyping` has been called but before the timeout actually executes.
```
UncaughtPromiseError > TypeError
Uncaught Promise > Cannot read properties of undefined (reading 'widget')
TypeError: Cannot read properties of undefined (reading 'widget')
at http://localhost:8069/web/assets/debug/1/web.assets_frontend_lazy.js:120356:72 (/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js:269)
```
Forward-Port-Of: odoo/odoo#102635Before this PR, the chat window hidden menu dropdown would have been opened to the bottom of the corresponding button. The issue is that, this button is position at the really bottom of the page, causing the dropdown to be outside of the page. This PR fixes this issue by adding the missing `data-bs-toggle` attribute. task-3011161 [quick link to the task](https://www.odoo.com/web#cids=1&menu_id=4720&action=333&active_id=1519&model=project.task&view_type=form&id=3011161) Forward-Port-Of:
Original PR description
Before this PR, the chat window hidden menu dropdown would have been opened to the bottom of the corresponding button. The issue is that, this button is position at the really bottom of the page, causing the dropdown to be outside of the page. This PR fixes this issue by adding the missing `data-bs-toggle` attribute. task-3011161 [quick link to the task](https://www.odoo.com/web#cids=1&menu_id=4720&action=333&active_id=1519&model=project.task&view_type=form&id=3011161) Forward-Port-Of: odoo/odoo#102680
This branch contains 2 fixes related to the Snippet Menu as well as a forward-ported commit described below. --- Commit [1] added back the user context to every RPC called from the legacy env when it's mapped to the WowlEnv but in doing so, overrode the params' context keys. This caused issue in some situation, such as viewing and editing a website in a different language than the current website's user, after the merge backend-frontend of website edition at [2]. Steps to reprodu
Original PR description
This branch contains 2 fixes related to the Snippet Menu as well as a forward-ported commit described below. --- Commit [1] added back the user context to every RPC called from the legacy env when it's mapped to the WowlEnv but in doing so, overrode the params' context keys. This caused issue in some situation, such as viewing and editing a website in a different language than the current website's user, after the merge backend-frontend of website edition at [2]. Steps to reproduce: - Install website_hr_recruitment. - Install another language on the website but _do not_ set it as the user's language. - Go to /jobs - Edit the translation of an offer - The title of the offer is edited in both language task-2687506 [1]: https://github.com/odoo/odoo/commit/2192480ed1262a13db8e6b0dd945ea91dee91aa9 [2]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b Forward-Port-Of: odoo/odoo#102100 Forward-Port-Of: odoo/odoo#95509
[FIX] web_editor: cache editor name_search/read across multiple m2o The RPC that the m2o widgets used by snippet options make are cached at the widget level. When two m2o widgets make the same RPC, they are in indeed made twice. This commit just move the cache outside of the widget instance and thus makes it so the same RPC made across multiple m2o are cached. Note: this was particularly visible because all main snippets have the "Conditional Visibi
Original PR description
[FIX] web_editor: cache editor name_search/read across multiple m2o The RPC that the m2o widgets used by snippet options make are cached at the widget level. When two m2o widgets make the same RPC,…
[FIX] web_editor: cache editor name_search/read across multiple m2o
The RPC that the m2o widgets used by snippet options make are cached at
the widget level. When two m2o widgets make the same RPC, they are in
indeed made twice. This commit just move the cache outside of the
widget instance and thus makes it so the same RPC made across multiple
m2o are cached.
Note: this was particularly visible because all main snippets have the
"Conditional Visibility" option which uses 3 m2m widgets. At each drop
of such main snippet in the page, the option is created and the 3 m2m
widgets made their RPC. Then each further drop of snippet made the exact
same RPC for no good reason.
In the future, the system should be further improved to not require
those RPC on initial drop and clicks, especially as the "Conditional
Visibility" m2m widgets are hidden by default. This fix focuses on
fixing the generic m2m widgets.
[FIX] web_editor: properly cache editor name_search when no selected ids
When a snippet option uses a m2m widget, the domain used for the
internal m2o widget which allows to select records evolves to receive
the subdomain `['id', 'not in', <selected-ids>]` with `<selected-ids>`
indicating the m2m records which are already selected.
M2o rpc are cached... based on the whole query object from which they
are created. The domain is part of that query object.
Both those concepts actually conflicted: the initial RPC when no ID is
selected was made with no subdomain, while the subsequent RPC when no ID
is selected were made with the `['id', 'not in', []]` subdomain. The
cache system did treat the resulting domains as different requests. Now
we avoid adding the useless `['id', 'not in', []]` subdomain as it
should already have been done without a cache system in place.
Note: this was particularly visible because all main snippets have the
"Conditional Visibility" option which uses 3 m2m widgets. At each drop
of such main snippet in the page, the option is created and the 3 m2m
widgets made their RPC with the initial domain. Then on click on the
snippet, a new RPC was made with the problematic subdomain, making the
first click on snippets being needlessly slower.
In the future, the system should be further improved to not require
those RPC on initial drop and clicks, especially as the "Conditional
Visibility" m2m widgets are hidden by default. This fix focuses on
fixing the generic m2m widgets.
Forward-Port-Of: odoo/odoo#102798
Forward-Port-Of: odoo/odoo#102414When there is too many options inside search view, they didn't wrap and will overflow outside the screen. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102025
Original PR description
When there is too many options inside search view, they didn't wrap and will overflow outside the screen. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102025
In case an employee has multiple contracts in several companies, we need to only keep the contract of the current company of the employee, as there can be only one in the main view hr_contract_history. Before this patch, contract_information CTE returns the same ID for both contracts: employee_id | company_id | id | is_under_contract -------------+------------+--------+------------------- 681 | 1 | 146842 | 0 681 | 14 | 146
Original PR description
In case an employee has multiple contracts in several companies, we need to only keep the contract of the current company of the employee, as there can be only one in the main view…
In case an employee has multiple contracts in several companies, we need to only keep the contract of the current company of the employee, as there can be only one in the main view hr_contract_history. Before this patch, contract_information CTE returns the same ID for both contracts: employee_id | company_id | id | is_under_contract -------------+------------+--------+------------------- 681 | 1 | 146842 | 0 681 | 14 | 146842 | 0 After the patch, it returns: employee_id | company_id | id | is_under_contract -------------+------------+--------+------------------- 681 | 1 | 4009 | 0 681 | 14 | 146842 | 0 We need to fix the WINDOW clause to make sure the id of the contract that is selected is the one in the same company as the employee/contract being selected in the contract_information CTE. This way when an employee has multiple contracts, there will still be 1 line for each contract, but each with a different contract ID. Description of the issue/feature this PR addresses: opw-2995515 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#102597
Description of the issue/feature this PR addresses: Allow overriding/modifying `mail.message` values in a clean and nice way. Current behavior before PR: Before this commit the creation of the message(s) was done within a for loop in a big function. Due to this there is no easy nor clean way to override and modify values on the mail.message record(s). Desired behavior after PR is merged: By placing the preparation of message data in a subfunction it can be overwritten and modified as wan
Original PR description
Description of the issue/feature this PR addresses: Allow overriding/modifying `mail.message` values in a clean and nice way. Current behavior before PR: Before this commit the creation of the message(s) was done within a for loop in a big function. Due to this there is no easy nor clean way to override and modify values on the mail.message record(s). Desired behavior after PR is merged: By placing the preparation of message data in a subfunction it can be overwritten and modified as wanted. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101054
Rationales: - having a textual display "Unsaved changes" implied to the user that they had to save - having buttons "hiding" behind a hover effect on a span of text was very unintuitive - since we don't want an hover anymore, having text buttons would draw a lot of attentions => use icons + tootltip instead Forward-Port-Of: odoo/odoo#102605
Original PR description
Rationales: - having a textual display "Unsaved changes" implied to the user that they had to save - having buttons "hiding" behind a hover effect on a span of text was very unintuitive - since we don't want an hover anymore, having text buttons would draw a lot of attentions => use icons + tootltip instead Forward-Port-Of: odoo/odoo#102605
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102762
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102762
Steps to reproduce: - set demo to receive notifs in Odoo - go to employees - click "launch plan" for demo user - login as demo user - Click on the link for the activity that is sent in discuss Issue: There is no chatter in the view Explanation: the view of en employee coming from messaging is always hr.employee.public that does not contain the chatter. opw-2990577 Forward-Port-Of: odoo/odoo#102803 Forward-Port-Of: odoo/odoo#100959
Original PR description
Steps to reproduce: - set demo to receive notifs in Odoo - go to employees - click "launch plan" for demo user - login as demo user - Click on the link for the activity that is sent in discuss Issue: There is no chatter in the view Explanation: the view of en employee coming from messaging is always hr.employee.public that does not contain the chatter. opw-2990577 Forward-Port-Of: odoo/odoo#102803 Forward-Port-Of: odoo/odoo#100959
Since [1] the Plausible dashboard height was hard-coded to avoid the display of a scrollbar on the iframe. In case the Plausible dashboard height grows in the future, it will not be possible to scroll to the bottom elements. This commit virtually restores the scrollbar, so that in case the Plausible dashboard grows in the future, the scrollbar will appear and still give access to the whole dashboard. [1]: https://github.com/odoo/odoo/commit/b8c1976e933628182496929d348dda11b5051a0c task
Original PR description
Since [1] the Plausible dashboard height was hard-coded to avoid the display of a scrollbar on the iframe. In case the Plausible dashboard height grows in the future, it will not be possible to scroll to the bottom elements. This commit virtually restores the scrollbar, so that in case the Plausible dashboard grows in the future, the scrollbar will appear and still give access to the whole dashboard. [1]: https://github.com/odoo/odoo/commit/b8c1976e933628182496929d348dda11b5051a0c task-2993773 Forward-Port-Of: odoo/odoo#102808
Add choices for the business domain on applicability rules, so rules are more precise 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#101234
Original PR description
Add choices for the business domain on applicability rules, so rules are more precise 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#101234
Since the merge of Bootstrap 5, the `btn-block` class don't exist anymore. So we use grid instead to align the buttons. Steps to reproduce: * Go to field service * Create a field service task * Click on worksheet * Save the worksheet * Go back to the task * Click on sign report * The buttons are not correctly aligned => BUG -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100783
Original PR description
Since the merge of Bootstrap 5, the `btn-block` class don't exist anymore. So we use grid instead to align the buttons. Steps to reproduce: * Go to field service * Create a field service task * Click on worksheet * Save the worksheet * Go back to the task * Click on sign report * The buttons are not correctly aligned => BUG -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100783
# Current behaviour Currently when settling an account in a POS session, in Saudi Arabia, there is a QR code on the receipt and a title "Simplified Tax Invoice", which should not be present on settlement # Expected behaviour Receipts generated from a settlement in Saudi Arabia localisation shouldn't generate a QR code and a tax title. # Steps to reproduce - install the modules: `l10n_sa`, `l10n_sa_pos`, `settle_due` - Switch to the Saudi Arabia company - Enter POS and create at least
Original PR description
# Current behaviour Currently when settling an account in a POS session, in Saudi Arabia, there is a QR code on the receipt and a title "Simplified Tax Invoice", which should not be present on…
# Current behaviour Currently when settling an account in a POS session, in Saudi Arabia, there is a QR code on the receipt and a title "Simplified Tax Invoice", which should not be present on settlement # Expected behaviour Receipts generated from a settlement in Saudi Arabia localisation shouldn't generate a QR code and a tax title. # Steps to reproduce - install the modules: `l10n_sa`, `l10n_sa_pos`, `settle_due` - Switch to the Saudi Arabia company - Enter POS and create at least 2 payment method: - Cash: Identify Customer = false, Journal = Cash - Customer Balance: Identify Customer = true, Journal = empty - Create a new POS Session, just add "Customer Balance" to payment methods, the rest of settings are as default (might need to add "Customer Invoices" to the journal of the session) - Start a new session, find a customer with some "Amount Due" and click on the value, choose one of the payment methods - On the payment screen choose "Customer Balance", now you should have 2 payment lines, one is the payment methods for settling, the other is the customer balance with a negative value. - When validating, the receipt has a QR code and Invoice title, when it shouldn't. # Reason for the problem There is currently no state that differentiate between a normal order and a settlement. # Fix Implement a settlement state (computed) in the localisation order model. Add the state to the data that goes to the templating engine. Add conditional rendering for the templates related to the QR code and the "Simplified Tax Invoice" title. # Affected versions - 15.0 - saas-15.2 - saas-15.3 - 16.0 - master --- opw-2976267 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102727 Forward-Port-Of: odoo/odoo#101138
Currently, there is no check when deleting an account report that has variants. Deleting such a report leads to variants not being accessible anymore. When duplicating an account report, the columns are not duplicated and it can be tedious to duplicate them by hand. This commit fixes these issues by: - raising a UserError when trying to delete reports with variants - duplicating columns when duplicating a report Part of the big task fixing bugs in accounting Task id=2996493 Forward-Por
Original PR description
Currently, there is no check when deleting an account report that has variants. Deleting such a report leads to variants not being accessible anymore. When duplicating an account report, the columns are not duplicated and it can be tedious to duplicate them by hand. This commit fixes these issues by: - raising a UserError when trying to delete reports with variants - duplicating columns when duplicating a report Part of the big task fixing bugs in accounting Task id=2996493 Forward-Port-Of: odoo/odoo#102122
Before this commit: if an event's attendee didn't have a state, it couldn't get synced with Google. The solution is first to set a default value for it. opw-2915661 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101589 Forward-Port-Of: odoo/odoo#97693
Original PR description
Before this commit: if an event's attendee didn't have a state, it couldn't get synced with Google. The solution is first to set a default value for it. opw-2915661 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101589 Forward-Port-Of: odoo/odoo#97693
Problem: If you have a customer assigned to an invoice/quotation without an e-mail address and then share a payment link with the customer. If the customer clicks on 'Pay', he won't be redirected to Stripe's checkout page. He'll get instead 'Invalid e-mail address: False' (see the image attached). Explanation: When there is no e-mail address defined, Odoo sends 'False' to Stripe but Stripe sees it as the e-mail address which is indeed Invalid. To solve the issue we replace False by None for
Original PR description
Problem: If you have a customer assigned to an invoice/quotation without an e-mail address and then share a payment link with the customer. If the customer clicks on 'Pay', he won't be redirected to Stripe's checkout page. He'll get instead 'Invalid e-mail address: False' (see the image attached). Explanation: When there is no e-mail address defined, Odoo sends 'False' to Stripe but Stripe sees it as the e-mail address which is indeed Invalid. To solve the issue we replace False by None for the email value of a customer without email address. opw-3007866 Forward-Port-Of: odoo/odoo#102778 Forward-Port-Of: odoo/odoo#102324
The goal of this commit is to add some fixes on page properties dialog after the Owl REF [1]. - XML: use default form view style (remove `</group>`). - Move the '/' back into the non editable part of the URL. - Prevent python code from creating a different URL (and optionally setting `website.rewrite` record for it) when the new URL is the same as the initial one after slugify. - '`useAutofocus()`' on the first page properties field. [1]: https://github.com/odoo/odoo/commit/61a9d7bd2ab
Original PR description
The goal of this commit is to add some fixes on page properties dialog after the Owl REF [1]. - XML: use default form view style (remove `</group>`). - Move the '/' back into the non editable part of the URL. - Prevent python code from creating a different URL (and optionally setting `website.rewrite` record for it) when the new URL is the same as the initial one after slugify. - '`useAutofocus()`' on the first page properties field. [1]: https://github.com/odoo/odoo/commit/61a9d7bd2abc6081b321a51d329f9e85209215e5 task-2687506 Forward-Port-Of: odoo/odoo#101022
Before this commit: syncing with google led to sending emails to attendees of existing future events on Odoo. Steps to reproduce the first issue: - Install 'google_calendar' module - Integrate with Google Calendar in setting - Add an event to the Odoo calendar for future date - Add one external attendee to the event - Sync with Google Invitation emails would be sent to the attendees of the events. Solution It's possible to not send emails to the attendees in api calls. So the
Original PR description
Before this commit: syncing with google led to sending emails to attendees of existing future events on Odoo. Steps to reproduce the first issue: - Install 'google_calendar' module - Integrate with Google Calendar in setting - Add an event to the Odoo calendar for future date - Add one external attendee to the event - Sync with Google Invitation emails would be sent to the attendees of the events. Solution It's possible to not send emails to the attendees in api calls. So the solution is to not send emails to the attendees for the syncing time. opw-2819046 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101599 Forward-Port-Of: odoo/odoo#97012
Before this PR when list view is in multi edit mode and there is a field with required and readonly modifiers, the field is underlined, which is not intended as the field is in readonly mode. task-3000817 Forward-Port-Of: odoo/odoo#101754
Original PR description
Before this PR when list view is in multi edit mode and there is a field with required and readonly modifiers, the field is underlined, which is not intended as the field is in readonly mode. task-3000817 Forward-Port-Of: odoo/odoo#101754
If external id "purchase_stock.route_warehouse0_buy" is deleted, it is impossible to create a product. --- **How to reproduce:** - Delete external ID "purchase_stock.route_warehouse0_buy" - Try to create a Product https://watch.screencastify.com/v/w2HBjTtFs0gos9RETeZq --- "purchase_stock.route_warehouse0_buy" was meant to be optional. We can only get the id after checking that it exist. --- OPW-2972494 -- I confirm I have signed the CLA and read the PR guidelines at ww
Original PR description
If external id "purchase_stock.route_warehouse0_buy" is deleted, it is impossible to create a product. --- **How to reproduce:** - Delete external ID "purchase_stock.route_warehouse0_buy" - Try to create a Product https://watch.screencastify.com/v/w2HBjTtFs0gos9RETeZq --- "purchase_stock.route_warehouse0_buy" was meant to be optional. We can only get the id after checking that it exist. --- OPW-2972494 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101878 Forward-Port-Of: odoo/odoo#99687
Using patcher.start() can easily lead to incorrect cleanup. - after a copy paste, patcher is working, but stop is forgotten - stop is present, but won't be called if something fails during the test This commit add an utility `startPatcher(patcher)` to always have the addCleanup Using a standard way to start the patcher with an automated addCleanup should prevent this kind of mistake. This is why this commit also replaces all valid patcher.start() (followed immediately by a addCleanup
Original PR description
Using patcher.start() can easily lead to incorrect cleanup. - after a copy paste, patcher is working, but stop is forgotten - stop is present, but won't be called if something fails during the test This commit add an utility `startPatcher(patcher)` to always have the addCleanup Using a standard way to start the patcher with an automated addCleanup should prevent this kind of mistake. This is why this commit also replaces all valid patcher.start() (followed immediately by a addCleanup) (this wasn't very wise looking at the triggered codeowner) odoo/enterprise#32529 Forward-Port-Of: odoo/odoo#101971
Make operation type a title. Change description of some fields in General tab. Make 'Final Validation' disappear from Barcode tab when empty. task: 3004014 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#102079
Original PR description
Make operation type a title. Change description of some fields in General tab. Make 'Final Validation' disappear from Barcode tab when empty. task: 3004014 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#102079
This commit refactors the style for borderless inputs and adds a special class to better manage where they should be used. Forward-Port-Of: odoo/odoo#102259
Original PR description
This commit refactors the style for borderless inputs and adds a special class to better manage where they should be used. Forward-Port-Of: odoo/odoo#102259
Also, as the rpm is not built from the deprecated bdist_rpm anymore, it's time to remove useless requires from the `setup.cfg` file. On the other hand, the soft requirements in the `setup.py` are now synchronized with the hard requirements. Forward-Port-Of: odoo/odoo#102457
Original PR description
Also, as the rpm is not built from the deprecated bdist_rpm anymore, it's time to remove useless requires from the `setup.cfg` file. On the other hand, the soft requirements in the `setup.py` are now synchronized with the hard requirements. Forward-Port-Of: odoo/odoo#102457
Prior to this commit the base_unit_price was computed using the price of the template instead of the list price displayed on the eCommerce, so it sometimes made no sense when compared to another currency. It will now be converted properly and use the list_price instead of template price to compute the base_unit_price. Some other issues with the base_unit_price display in the form view have also been fixed (mainly mobile stuff) TaskId-3006015 Forward-Port-Of: odoo/odoo#102543
Original PR description
Prior to this commit the base_unit_price was computed using the price of the template instead of the list price displayed on the eCommerce, so it sometimes made no sense when compared to another currency. It will now be converted properly and use the list_price instead of template price to compute the base_unit_price. Some other issues with the base_unit_price display in the form view have also been fixed (mainly mobile stuff) TaskId-3006015 Forward-Port-Of: odoo/odoo#102543
It was possible to sell gift cards without mail template or report link to the gift card program. Thus, it was impossible to get the info related to the card unless you have backend access rights. We now make sure the gift card program have a template and a report when starting the session. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102613
Original PR description
It was possible to sell gift cards without mail template or report link to the gift card program. Thus, it was impossible to get the info related to the card unless you have backend access rights. We now make sure the gift card program have a template and a report when starting the session. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102613
- Gift cards can now be sent alongside the receipt via mail in the Receipt Screen. - The gift card report no longer show n² gift cards - Properly download all PDF files for the gift cards when there are multiple gift card programs Forward-Port-Of: odoo/odoo#102676
Original PR description
- Gift cards can now be sent alongside the receipt via mail in the Receipt Screen. - The gift card report no longer show n² gift cards - Properly download all PDF files for the gift cards when there are multiple gift card programs Forward-Port-Of: odoo/odoo#102676
Use case to reproduce: - Create a new db - Go to warehouse and create a new one. Expected behavior (same than enable location options from settings): - Internal location has been enable - It's possible to create locations It happens because during the warehouse create call, the multi warehouse and multi locations groups are set. However `res.config.settings` contains a hook on `set_values` that enable some views and internal location. Write directly on the groups won't go throuhg this
Original PR description
Use case to reproduce: - Create a new db - Go to warehouse and create a new one. Expected behavior (same than enable location options from settings): - Internal location has been enable - It's possible to create locations It happens because during the warehouse create call, the multi warehouse and multi locations groups are set. However `res.config.settings` contains a hook on `set_values` that enable some views and internal location. Write directly on the groups won't go throuhg this code. 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#102828
Purpose ======= Convert the remaining legacy views in OWL. Before this PR, the list and form views are still in legacy in Project Sharing feature. The goal of this PR is to convert those views to have all views in OWL in Project Sharing. Details implementation ---------------------- - Convert the list view in OWL - Convert the chatter portal in OWL to be able to convert the form view in OWL - Convert the form view in OWL and integrate the chatter into it. - Review the assets used i
Original PR description
Purpose ======= Convert the remaining legacy views in OWL. Before this PR, the list and form views are still in legacy in Project Sharing feature. The goal of this PR is to convert those views to…
Purpose ======= Convert the remaining legacy views in OWL. Before this PR, the list and form views are still in legacy in Project Sharing feature. The goal of this PR is to convert those views to have all views in OWL in Project Sharing. Details implementation ---------------------- - Convert the list view in OWL - Convert the chatter portal in OWL to be able to convert the form view in OWL - Convert the form view in OWL and integrate the chatter into it. - Review the assets used in Project Sharing to reduce the size of the assets since all components and views existing in the backend are not used (only the list, kanban and form views are used) - Review the rows attribute set on `textarea` HTML element in`TextField` to be able to altered it with a props. - Change the `FileInput` component to be able to override it to be able to use it when the route is different than the one set by default. - Fix the `useInputField` hook to be able to use the `TextField` component without any `record` set on its props (since this prop could be optional). task-2947516 Forward-Port-Of: odoo/odoo#102130
Restore previous width apply on the `o_form_view_container` we the form is display inside an `o_xxl_form_view` like it was defined on `saas-15.3` Steps to reproduce - Open Sales - Open a quotation - Switch between Order lines, Other info, Customer Signature notebook tabs a flicker occurs => bug --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102781
Original PR description
Restore previous width apply on the `o_form_view_container` we the form is display inside an `o_xxl_form_view` like it was defined on `saas-15.3` Steps to reproduce - Open Sales - Open a quotation - Switch between Order lines, Other info, Customer Signature notebook tabs a flicker occurs => bug --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102781
This commit adds new option in Livechat Button visibility "Show with notifcation", which allow to see livechat button and also display a customizable floating text next to button. This text appears 1 second after the livechat button become visible. *: website_livechat Task-2937993 Forward-Port-Of: odoo/odoo#100689
Original PR description
This commit adds new option in Livechat Button visibility "Show with notifcation", which allow to see livechat button and also display a customizable floating text next to button. This text appears 1 second after the livechat button become visible. *: website_livechat Task-2937993 Forward-Port-Of: odoo/odoo#100689
Form view has multiple containers that are exclusive, before this commit switching from one container to the other would lose all current chatter state. Enterprise: https://github.com/odoo/enterprise/pull/32605 Forward-Port-Of: odoo/odoo#102636
Original PR description
Form view has multiple containers that are exclusive, before this commit switching from one container to the other would lose all current chatter state. Enterprise: https://github.com/odoo/enterprise/pull/32605 Forward-Port-Of: odoo/odoo#102636
One should be able to delete time off from the calendar view in validate and refuse states. task - 2857233 Forward-Port-Of: odoo/odoo#102836
Original PR description
One should be able to delete time off from the calendar view in validate and refuse states. task - 2857233 Forward-Port-Of: odoo/odoo#102836
Forward-Port-Of: odoo/odoo#102839
Original PR description
Forward-Port-Of: odoo/odoo#102839
The field was not correctly aligned because the invisible rule was not the same on the field and the sibling's DIV. So in some case, we can have an empty DIV present with no label (e.g. when `is_log = false` and `composition_mode = mass_mail`). Note that now with grid, we need two filled columns otherwise we will have a shift for the next following labels/fields, because grid will try to fill the empty space. Steps to reproduce: * Open Helpdesk * Select a Team * Select the list view *
Original PR description
The field was not correctly aligned because the invisible rule was not the same on the field and the sibling's DIV. So in some case, we can have an empty DIV present with no label (e.g. when `is_log = false` and `composition_mode = mass_mail`). Note that now with grid, we need two filled columns otherwise we will have a shift for the next following labels/fields, because grid will try to fill the empty space. Steps to reproduce: * Open Helpdesk * Select a Team * Select the list view * Check a row (line) * Click on "Action" menu * Click on "Send Email" => BUG --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102840
In PR https://github.com/odoo/odoo/pull/101763 the page_kanban template in website has been changed because it was thought that the xpath was meant to be inserted in the default slot. However this wasn't the case (we want it applied to the Layout) so it crashed the view. This commit restores the proper xpath. 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 th
Original PR description
In PR https://github.com/odoo/odoo/pull/101763 the page_kanban template in website has been changed because it was thought that the xpath was meant to be inserted in the default slot. However this wasn't the case (we want it applied to the Layout) so it crashed the view. This commit restores the proper xpath. 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#102842
*: website_event_sale, website_forum, website_sale, website_sale_slides, website_slides, website_slides_forum The goal of this PR is to remove remaining controllers no longer used since the use of form view on website new content dialogs. Remark: on some modules 'create_and_get_website_url()' is used instead of controllers task-2687506 Forward-Port-Of: odoo/odoo#99042
Original PR description
*: website_event_sale, website_forum, website_sale, website_sale_slides, website_slides, website_slides_forum The goal of this PR is to remove remaining controllers no longer used since the use of form view on website new content dialogs. Remark: on some modules 'create_and_get_website_url()' is used instead of controllers task-2687506 Forward-Port-Of: odoo/odoo#99042
[FIX] payment_custom: avoid empty pending message If `payment_custom` is installed before `account` not account information is set up and the `pending_msg` remains as `False`. This implies that no pending message is shown in the portal after transaction confirmation. After this commit if `payment_custom` is installed before the `account` module then the pending message will fall back to the default message defined in the `payment` module. Task - 3000442 --- I confirm I have signed t
Original PR description
[FIX] payment_custom: avoid empty pending message If `payment_custom` is installed before `account` not account information is set up and the `pending_msg` remains as `False`. This implies that no pending message is shown in the portal after transaction confirmation. After this commit if `payment_custom` is installed before the `account` module then the pending message will fall back to the default message defined in the `payment` module. Task - 3000442 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101593
Before this commit a constraint between the `ir_ui_view` and `payment_provider` view made impossible for providers to be uninstalled. After this commit the constraint is correctly treated. A similar issue is found on a constraint on the `payment_custom` module. To fix this and future possible problems we added the possibility to modify the way providers are uninstalled following each provider needs. Task - 3002532 See also: - https://github.com/odoo/documentation/pull/2799 Forward-Po
Original PR description
Before this commit a constraint between the `ir_ui_view` and `payment_provider` view made impossible for providers to be uninstalled. After this commit the constraint is correctly treated. A similar issue is found on a constraint on the `payment_custom` module. To fix this and future possible problems we added the possibility to modify the way providers are uninstalled following each provider needs. Task - 3002532 See also: - https://github.com/odoo/documentation/pull/2799 Forward-Port-Of: odoo/odoo#102265
Current code can't work since session doesn't contain partner_id. task-3010650 Forward-Port-Of: odoo/odoo#102617
Original PR description
Current code can't work since session doesn't contain partner_id. task-3010650 Forward-Port-Of: odoo/odoo#102617
Commit [1] introduced a mismatch in tags, `<xpath>` is closed with `</t>`. [1]: https://github.com/odoo/odoo/commit/85905934c2ad2507cfc6f74428db61ac97a3bc41 Forward-Port-Of: odoo/odoo#102856
Original PR description
Commit [1] introduced a mismatch in tags, `<xpath>` is closed with `</t>`. [1]: https://github.com/odoo/odoo/commit/85905934c2ad2507cfc6f74428db61ac97a3bc41 Forward-Port-Of: odoo/odoo#102856
This commit fixes the behavior of the website when creating content. Since commit (1), once a new record was created, it was no longer redirected to the correct page. Now, this behavior is reintroduced and works as expected. (1): https://github.com/odoo/odoo/commit/d80980fa10b3f30aa6d897107bd54e172364f83e Forward-Port-Of: odoo/odoo#102883
Original PR description
This commit fixes the behavior of the website when creating content. Since commit (1),
once a new record was created, it was no longer redirected to the correct page. Now,
this behavior is reintroduced and works as expected.
(1): https://github.com/odoo/odoo/commit/d80980fa10b3f30aa6d897107bd54e172364f83e
Forward-Port-Of: odoo/odoo#102883In legacy, an m2x autocomplete would not display extra lines received from the server inside the dropdown menu. This commit reintroduce that behavior as it was lost in the wowl conversion. Forward-Port-Of: odoo/odoo#102847
Original PR description
In legacy, an m2x autocomplete would not display extra lines received from the server inside the dropdown menu. This commit reintroduce that behavior as it was lost in the wowl conversion. Forward-Port-Of: odoo/odoo#102847
…lues Description of the issue/feature this PR addresses: to add new values used in a website_sale.product r template, we are forced to override whole controller method which may cause errors or other unintended behavior in other modules. Current behavior before PR: no possibility to append new values without overriding controller shop() method Desired behavior after PR is merged: to add new values we may use hook method. --- I confirm I have signed the CLA and read t
Original PR description
…lues Description of the issue/feature this PR addresses: to add new values used in a website_sale.product r template, we are forced to override whole controller method which may cause errors or other unintended behavior in other modules. Current behavior before PR: no possibility to append new values without overriding controller shop() method Desired behavior after PR is merged: to add new values we may use hook method. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102858 Forward-Port-Of: odoo/odoo#102531
* clean and improve docstrings in orm * fix typos found with codespell * rely on the Environment class docstring instead of doc content (and therefore move part of the doc inside the class docstring) Documentation PR: https://github.com/odoo/documentation/pull/2798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102896
Original PR description
* clean and improve docstrings in orm * fix typos found with codespell * rely on the Environment class docstring instead of doc content (and therefore move part of the doc inside the class docstring) Documentation PR: https://github.com/odoo/documentation/pull/2798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#102896
fix colspan of variant selection Forward-Port-Of: odoo/odoo#102908
Original PR description
fix colspan of variant selection Forward-Port-Of: odoo/odoo#102908
Forward-Port-Of: odoo/odoo#102926
Original PR description
Forward-Port-Of: odoo/odoo#102926
### Steps to reproduce - go to Apps, switch to studio and create and create a new app. - on the form view, add a Many2one field related to 'Sales Order'. - add a Ralated Field, related to 'Sales Order > Total'. You will be presented with a prompt informing you that you need a currency field on the model. Click 'OK' to add the currency field. - again, add a Ralated Field, related to 'Sales Order > Total'. - close Studio, fill the form you just created and save. - switch back to studio and,
Original PR description
### Steps to reproduce - go to Apps, switch to studio and create and create a new app. - on the form view, add a Many2one field related to 'Sales Order'. - add a Ralated Field, related to 'Sales…
### Steps to reproduce
- go to Apps, switch to studio and create and create a new app.
- on the form view, add a Many2one field related to 'Sales Order'.
- add a Ralated Field, related to 'Sales Order > Total'. You will be presented with a prompt informing you that you need a currency field on the model. Click 'OK' to add the currency field.
- again, add a Ralated Field, related to 'Sales Order > Total'.
- close Studio, fill the form you just created and save.
- switch back to studio and, again, add a Ralated Field, related to 'Sales Order > Total'.
You will be met with the following traceback:
```
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/data/build/odoo/odoo/http.py", line 687, in dispatch
result = self._call_function(**self.params)
File "/data/build/odoo/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/data/build/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/data/build/odoo/odoo/http.py", line 355, in checked_call
self._cr.flush()
File "/data/build/odoo/odoo/sql_db.py", line 110, in flush
self.precommit.run()
File "/data/build/odoo/odoo/tools/misc.py", line 1145, in run
func()
File "/data/build/odoo/addons/mail/models/mail_thread.py", line 544, in _finalize_tracking
tracking = records.with_context(context).message_track(fnames, initial_values)
File "/data/build/odoo/addons/mail/models/mail_thread.py", line 605, in message_track
tracking[record.id] = record._mail_track(tracked_fields, initial_values[record.id])
File "/data/build/odoo/addons/mail/models/models.py", line 57, in _mail_track
tracking['currency_id'] = getattr(self, col_info.get('currency_field', ''), self.company_id.currency_id).id
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/data/build/odoo/odoo/http.py", line 643, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/data/build/odoo/odoo/http.py", line 301, in _handle_exception
raise exception.with_traceback(None) from new_cause
AttributeError: 'x_aaa' object has no attribute 'company_id'
```
opw-2951697
Forward-Port-Of: odoo/odoo#98811Description 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#102900
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#102900
Field `measure` in `PIVOT.HEADER` functions are not actual res.model fields but are used to display the fieldName of the measured field. 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#102940
Original PR description
Field `measure` in `PIVOT.HEADER` functions are not actual res.model fields but are used to display the fieldName of the measured field. 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#102940
Since [1], the Masonry snippet is in grid mode only and its templates have been modified to allow this mode. However, some of them don't look good and have to be improved. This is what this commit does: - some text blocks were too small so their height has been increased - the Masonry second default image has been replaced by another one that looks better. [1]: https://github.com/odoo/odoo/commit/85b352af319edec84407f2046cf795b4e5503460 task-3013055 Forward-Port-Of: odoo/odoo#102880
Original PR description
Since [1], the Masonry snippet is in grid mode only and its templates have been modified to allow this mode. However, some of them don't look good and have to be improved. This is what this commit does: - some text blocks were too small so their height has been increased - the Masonry second default image has been replaced by another one that looks better. [1]: https://github.com/odoo/odoo/commit/85b352af319edec84407f2046cf795b4e5503460 task-3013055 Forward-Port-Of: odoo/odoo#102880
This commit fix the following bugs : - When replying to a sub comment, it actually edited the parent comment... is_edit parameter shouldn't be passed when false. - Fix stacktrace when editing a comment... Missed the onAddComment, preventAddComment props for the reply component. - There was a bug when replying for the first time to a comment... Fix this by always adding a 'comments' key even if empty - Added o_social_stream_post_kanban_view_wrapper class as it was before to fix the wi
Original PR description
This commit fix the following bugs : - When replying to a sub comment, it actually edited the parent comment... is_edit parameter shouldn't be passed when false. - Fix stacktrace when editing a comment... Missed the onAddComment, preventAddComment props for the reply component. - There was a bug when replying for the first time to a comment... Fix this by always adding a 'comments' key even if empty - Added o_social_stream_post_kanban_view_wrapper class as it was before to fix the width of the kanban card. - Fix the case when the like icon wasn't shown when the like count was 0. - Fix the super slow feed rendering Some useless class used with the previous javascript implementation were also removed Task-3008820 Forward-Port-Of: odoo/enterprise#32402
Cleans up pricing information on the product page as well as add a pricing table under the product to provide more information to the user. TaskId-3012969 Forward-Port-Of: odoo/enterprise#32614
Original PR description
Cleans up pricing information on the product page as well as add a pricing table under the product to provide more information to the user. TaskId-3012969 Forward-Port-Of: odoo/enterprise#32614
Avoid invoices with total 0 to appear in followup report. Steps : - One invoice confirmed with total 0 - Go to followup report and select customer -> Issue : the invoice with is displayed. fw port of https://github.com/odoo-dev/enterprise/commit/91383cd912198e4c4b03962742079496101f4add. opw-3000780 Forward-Port-Of: odoo/enterprise#32613 Forward-Port-Of: odoo/enterprise#32296
Original PR description
Avoid invoices with total 0 to appear in followup report. Steps : - One invoice confirmed with total 0 - Go to followup report and select customer -> Issue : the invoice with is displayed. fw port of https://github.com/odoo-dev/enterprise/commit/91383cd912198e4c4b03962742079496101f4add. opw-3000780 Forward-Port-Of: odoo/enterprise#32613 Forward-Port-Of: odoo/enterprise#32296
With this commit we avoid normal entries that are reversed and their reversal entries to appear on diot report. Only entries comming from credit notes of vendor bills are taken into account. Reversed entries have a reversal_move_id and reversals, a reversed_entry_id. Entries from vendor bills and the ones from credit notes have not. Then, we filter the two fields on the domain which will be passed for the query's where clause. opw-2950903 Forward-Port-Of: odoo/enterprise#32586 Forward-Port-Of
Original PR description
With this commit we avoid normal entries that are reversed and their reversal entries to appear on diot report. Only entries comming from credit notes of vendor bills are taken into account. Reversed entries have a reversal_move_id and reversals, a reversed_entry_id. Entries from vendor bills and the ones from credit notes have not. Then, we filter the two fields on the domain which will be passed for the query's where clause. opw-2950903 Forward-Port-Of: odoo/enterprise#32586 Forward-Port-Of: odoo/enterprise#30981
If the messaging service is not useful for these tests, it should stay in a state where the rest of the code does not think it is actually created. This is in particular a problem with form controller setup that relies on it. Community: https://github.com/odoo/odoo/pull/102636 Forward-Port-Of: odoo/enterprise#32605
Original PR description
If the messaging service is not useful for these tests, it should stay in a state where the rest of the code does not think it is actually created. This is in particular a problem with form controller setup that relies on it. Community: https://github.com/odoo/odoo/pull/102636 Forward-Port-Of: odoo/enterprise#32605
## [REF] project_enterprise: review assets for project sharing Before this commit, the assets used in project sharing takes almost all assets in `web.assets_backend`, this way is not a good idea since only the kanban view and list are used and the chatter is not the backend one. So the assets could be filtered to minize the size of the bundle for project sharing to also reduce the loading when the user goes to project sharing feature. This commit reviews the assets used in the project
Original PR description
## [REF] project_enterprise: review assets for project sharing Before this commit, the assets used in project sharing takes almost all assets in `web.assets_backend`, this way is not a good idea since only the kanban view and list are used and the chatter is not the backend one. So the assets could be filtered to minize the size of the bundle for project sharing to also reduce the loading when the user goes to project sharing feature. This commit reviews the assets used in the project sharing to reduce the size. ## [FIX] industry_fsm_sale: add space between `x Products` Before this commit, the `x Products` displayed on a stat button is displayed like this: `xProducts`, that is, the space between the number of products and the `Products` label is missing. This commit changes the xml view to add the space missing. task-2947516 Forward-Port-Of: odoo/enterprise#32486
This commit refactors the style for borderless inputs and adds a special class to better manage where they should be used. Forward-Port-Of: odoo/enterprise#32324
Original PR description
This commit refactors the style for borderless inputs and adds a special class to better manage where they should be used. Forward-Port-Of: odoo/enterprise#32324
When we are in a multi-localization environment, the reception could be ignored if the Latam document type code of the received document somehow matches with the code for another country. This PR fixes this issue by refining the search of the Latam document type code, limiting it only for Chile Forward-Port-Of: odoo/enterprise#31855
Original PR description
When we are in a multi-localization environment, the reception could be ignored if the Latam document type code of the received document somehow matches with the code for another country. This PR fixes this issue by refining the search of the Latam document type code, limiting it only for Chile Forward-Port-Of: odoo/enterprise#31855
odoo/odoo#101971 Forward-Port-Of: odoo/enterprise#32529
Original PR description
odoo/odoo#101971 Forward-Port-Of: odoo/enterprise#32529
In order to find the report you want in the config tree view, you would (almost) always sort by their name. It eases UX enabling that by default. Task id=2996493 Forward-Port-Of: odoo/enterprise#32497
Original PR description
In order to find the report you want in the config tree view, you would (almost) always sort by their name. It eases UX enabling that by default. Task id=2996493 Forward-Port-Of: odoo/enterprise#32497
Since the merge of Bootstrap 5, the `btn-block` class don't exist anymore. So we use grid instead to align the buttons. Steps to reproduce: * Go to field service * Create a field service task * Click on worksheet * Save the worksheet * Go back to the task * Click on sign report * The buttons are not correctly aligned => BUG Forward-Port-Of: odoo/enterprise#31613
Original PR description
Since the merge of Bootstrap 5, the `btn-block` class don't exist anymore. So we use grid instead to align the buttons. Steps to reproduce: * Go to field service * Create a field service task * Click on worksheet * Save the worksheet * Go back to the task * Click on sign report * The buttons are not correctly aligned => BUG Forward-Port-Of: odoo/enterprise#31613
Add choices for the business domain on applicability rules, so rules are more precise Also put 'general' as domain from the view when it's what should have been. Make field visible where it should have been Forward-Port-Of: odoo/enterprise#31945
Original PR description
Add choices for the business domain on applicability rules, so rules are more precise Also put 'general' as domain from the view when it's what should have been. Make field visible where it should have been Forward-Port-Of: odoo/enterprise#31945
The call to the custom template was missing (it was properly used on Aged Payable). Forward-Port-Of: odoo/enterprise#31865
Original PR description
The call to the custom template was missing (it was properly used on Aged Payable). Forward-Port-Of: odoo/enterprise#31865
This PR adds a new tool which allows to debug financial reports by checking the following things whether an account - is reported in multiple lines of the financial report - exists in the Chart of Accounts but is not mentioned in any line of the financial report - is reported in a line of the financial report but does not exist in the Chart of Accounts This tool is only available in debug mode on the page of the financial report. Forward-Port-Of: odoo/enterprise#28834
Original PR description
This PR adds a new tool which allows to debug financial reports by checking the following things whether an account - is reported in multiple lines of the financial report - exists in the Chart of Accounts but is not mentioned in any line of the financial report - is reported in a line of the financial report but does not exist in the Chart of Accounts This tool is only available in debug mode on the page of the financial report. Forward-Port-Of: odoo/enterprise#28834
Forward-Port-Of: odoo/enterprise#32553
Original PR description
Forward-Port-Of: odoo/enterprise#32553
Prior to this commit 'Undefined' was not displayed when the grid is grouped by multiple fields. task-2973173 Forward-Port-Of: odoo/enterprise#32577 Forward-Port-Of: odoo/enterprise#31272
Original PR description
Prior to this commit 'Undefined' was not displayed when the grid is grouped by multiple fields. task-2973173 Forward-Port-Of: odoo/enterprise#32577 Forward-Port-Of: odoo/enterprise#31272
Forward-Port-Of: odoo/enterprise#32581
Original PR description
Forward-Port-Of: odoo/enterprise#32581
Since the form is always in edit mode, the units of the full time and work time rate fields on the resource calendar form are pushed on the right side. This commit reduces the size of these fields to have the units closer to the value of the fields. task-2996235 Forward-Port-Of: odoo/enterprise#32369
Original PR description
Since the form is always in edit mode, the units of the full time and work time rate fields on the resource calendar form are pushed on the right side. This commit reduces the size of these fields to have the units closer to the value of the fields. task-2996235 Forward-Port-Of: odoo/enterprise#32369
The caret options are currently missing from the partner ledger. These normally allow the user to visit the appropriate account_move or payment associated with a specific report line. In this commit the _caret_options_initializer function is defined on the partner ledger custom handler. This overides the definition in AccountReportCustomHandler (which will return an empty dictionary), and returns a dictionary containing a mapping from the model on which the caret option is displayed to the na
Original PR description
The caret options are currently missing from the partner ledger. These normally allow the user to visit the appropriate account_move or payment associated with a specific report line. In this commit the _caret_options_initializer function is defined on the partner ledger custom handler. This overides the definition in AccountReportCustomHandler (which will return an empty dictionary), and returns a dictionary containing a mapping from the model on which the caret option is displayed to the name of the caret option and the specific action it performs. This allows for the caret options to be displayed by the report handler. Forward-Port-Of: odoo/enterprise#32270
This commit fixes operation type in the stock report that broke since the translated char fields where changed to jsonb columns. Forward-Port-Of: odoo/enterprise#32505
Original PR description
This commit fixes operation type in the stock report that broke since the translated char fields where changed to jsonb columns. Forward-Port-Of: odoo/enterprise#32505
Forward-Port-Of: odoo/enterprise#32412
Original PR description
Forward-Port-Of: odoo/enterprise#32412
We don't want to allow putting explicit ref() in formulas, to avoid confusion for the user. When loading from XML, the domains directly contain ids; this is now the only behavior allowed. Forward-Port-Of: odoo/enterprise#32161
Original PR description
We don't want to allow putting explicit ref() in formulas, to avoid confusion for the user. When loading from XML, the domains directly contain ids; this is now the only behavior allowed. Forward-Port-Of: odoo/enterprise#32161
task: 2985735 Forward-Port-Of: odoo/enterprise#31986
Original PR description
task: 2985735 Forward-Port-Of: odoo/enterprise#31986
Prior to the fix and in some cases, pill resizing in the gantt view would lead to unwanted changes in the start/end times of the resized pills. This behaviour can be seen planning and hr work entries. This issue stems from a rounding error that is sometimes made when computing the difference of the pill before and after resizing. The change in this commit addresses this error by restricting the difference to be either 0 or any of the cell precisions for the given scale task-2996205 Forwar
Original PR description
Prior to the fix and in some cases, pill resizing in the gantt view would lead to unwanted changes in the start/end times of the resized pills. This behaviour can be seen planning and hr work entries. This issue stems from a rounding error that is sometimes made when computing the difference of the pill before and after resizing. The change in this commit addresses this error by restricting the difference to be either 0 or any of the cell precisions for the given scale task-2996205 Forward-Port-Of: odoo/enterprise#32537 Forward-Port-Of: odoo/enterprise#31896
Make operation type a title. Change description of some fields in General tab. Make 'Final Validation' disappear from Barcode tab when empty. task: 3004014 Forward-Port-Of: odoo/enterprise#32255
Original PR description
Make operation type a title. Change description of some fields in General tab. Make 'Final Validation' disappear from Barcode tab when empty. task: 3004014 Forward-Port-Of: odoo/enterprise#32255