Tuesday, June 20, 2023
58 changes · master
Enhancements to existing features
Users can now browse website profiles more easily when looking for courses, certifications, forum questions, answers, and votes. Forum pages also gain broader overview and search options, making it easier to find relevant discussions across all forums.
Original PR description
Purpose ======= Give users a better experience when browsing their website profile looking for courses, certifications, forum questions, ... Specifications ============= Add custom text for when the user is checking its own profile, add a search bar for Question, Answers and Votes in Forum. Task-2676848
Sales order lines for down payments now include the related invoice reference and date instead of only showing a generic “Down payment” label. This makes it easier for users to distinguish multiple down payments on the same sales order and reduces confusion during review or follow-up.
Original PR description
When a SO has several down payment, they all have the exact same description "Down payment" which does not provide much information. This commit adds the invoice reference and the date. task-3299805
A new Dashboards / Admin group lets business intelligence users create and manage spreadsheet dashboards without needing full system settings access. This improves dashboard ownership while keeping broader administration permissions more limited.
Original PR description
Description of the issue/feature this PR addresses: Introduces a new group called "Dashboards / Admin within the spreadsheet_dashboard module, replacing the existing "Administration / Settings" group for Improved Dashboard Management Current behavior before PR: There is "Administration / Settings" to create or manage the dashboard. Desired behavior after PR is merged: Create the new group so BI can able to manage or create the new dashboard. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mobile control panel and search menus have been adjusted to be easier to use on smaller screens. This improves day-to-day navigation by making menu layouts clearer and touch targets, such as delete actions, more accessible.
Original PR description
Cpanel's mobile layout had to be improved as it shows some usability lacks task-3017972 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Public chat pages now use a full-screen chat window layout on small screens. This makes conversations easier to read and use on mobile devices, aligning the public chat experience with the standard chat window behavior.
Original PR description
public page small screen should be full screen, similar to the chat window task-3346088 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
Project milestones now always show the tasks button, even when no tasks exist yet, making it easier for users to create tasks right away. Completed or cancelled tasks also no longer make milestone dates appear overdue, reducing confusion in project tracking.
Original PR description
Purpose of the commit is to do the generic improvements for project. So in this commit did the following changes: - display 'tasks' stat button even if there are no records - the milestone should not be displayed in red if the task has been completed/cancelled task:3251634
This update makes pricing and discount calculations for event tickets and booths more consistent when pricelists, quantities, dates, and units of measure are involved. It also prevents discounts from being shown when the pricelist is configured to hide them, helping ensure customers see pricing aligned with business settings.
Original PR description
The whole contextual price of products relies on multiple context keys: * uom * pricelist * quantity * date The related logic has already been partly removed/deprecated on products, but the…
The whole contextual price of products relies on multiple context keys: * uom * pricelist * quantity * date The related logic has already been partly removed/deprecated on products, but the computation of discounts for events/event booths are still relying on that logic, though imperfectly. This commit makes sure this hacky logic (relying on those contextual keys) is as clear and reliable as possible. We factorize and harmonize the remaining use cases, with a dedicated constant and specific methods, making sure: * currency conversion * price & discount computations are coherent, while clearly explaining that it should not be used for any new feature/logic/code. We also restrict context updates as much as possible (there won't be any discount when the pricelist is configured to hide the discount from the customer) Extracted from #121986 to merge separately and reduce conflicts. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Embedded live chat now includes an emoji menu, making conversations more expressive and easier for users. The update also ensures pop-up menus display correctly inside embedded chat windows without conflicting with the main website layout.
Original PR description
*: mail, web. This PR adds the emoji menu to the embed livechat. When mounting the livechat on the odoo frontend, the env is shared between the livechat app and the main app. This is an issue regarding the overlay service since the `OverlayContainer` is mounted in the light DOM while we would expect the overlay styles to be dicted by the shadow DOM. In order to solve this issue, an `OverlayContainer` is added to the shadow DOM and a mechanism to determine whether the overlay belongs to the light/shadow DOM is introduced. part of task-2742676
Employee records now keep a clearer history when an employee's department changes. This makes it easier for HR teams and managers to understand organizational movement over time and audit past updates.
Original PR description
task-3373484
HR users can now view employees in graph and pivot formats, grouped by creation month or first contract date. This makes it easier for business teams to track hiring trends and workforce growth over time.
Original PR description
In this PR we add a graph and pivot view that aggregates employees that were created / have their first contract date per month. task-3374966 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Contacts can now be deleted even while a Point of Sale session is open, reducing unnecessary error messages in the Contacts app. The POS now handles cases where a deleted contact was involved in an active session, improving day-to-day usability without blocking unrelated contact cleanup.
Original PR description
Currently, deleting contacts (partners) while a pos session is open is not allowed. (Even if the respective partner isn't part of any POS sessions) This creates a bad experience in Contacts, with too many unnecessary User Errors. This PR fixes this issue, by allowing the deletion of contacts even when a pos session is open, by introducing logic that handles the cases where a contact might be deleted during an active pos session. Task: 3349851 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update streamlines inventory adjustment workflows with clearer actions, filters, button placement, and status guidance. It also improves product and barcode handling, adds a dropship setting, and limits purchase pricing visibility to authorized purchase users.
Original PR description
In this commit ============== - Add action to 'set to 0' to declare all uncounted quantities to 0 and works like the 'set' action. - Add the assigned person to the description between brackets when creating stock move line. - Add filter for lines in conflict. - Changes in barcode nomenclatures field. - Add restrict access to purchase tab to the role of purchase user, to avoid revealing purchase prices to everybody . - Add different icon for forecast smart button,add missing currency to cost field on on new product. - In product list set responsible in optional hidden and rename some large labels. - Add Dropship setting. - Add Better tooltip for status and hide unnecessary status. - Changes in button string. - Add buttons depends on the operation type. - Moved some buttons in action menu. - Changes in some fields data type. Task ID - 3150983
Project configuration now automatically uses the Project analytic plan by default, making project-related reporting setup more consistent. The setting label was also clarified so users can better understand which analytic plan applies to projects.
Original PR description
In this commit we change following points: - move the analytic plan project from demo to data. - changed string of analytic_plan_id field in res setting. - project set as default in the analytic plan of the project setting task-3251642
The email composer wizard now uses clearer wording by labeling the cancel action as Discard. It also prevents the Escape key from accidentally closing the composer, reducing the risk of losing work while drafting messages.
Original PR description
Disable escape on composer wizard task #2793003 - rename Cancel to Discard on composer wizard - disable escape on composer wizard to prevent closing the composer accidentally
When users open budget positions from the Project app, the view no longer groups entries by analytic account by default. This makes the budget screen less cluttered and easier to scan for project-related work.
Original PR description
In this commit, when we opening the budget position from the project app, we have removed the default analytic account group. task-3251642
The barcode home page now shows how many inventory adjustment lines need attention, helping users understand their workload before opening the task. The DHL delivery setup screen also gives more room to the custom data field, making configuration details easier to read and enter.
Original PR description
In this commit =============== - Add changes in the custom data field before it was is too narrow. - Add in barcode: show the number of lines to count (lines the user will see when he will click there). Task ID - 3150983
Resolved issues and error corrections
Deleting an empty project stage now shows only one confirmation prompt instead of two. This reduces confusion and makes project stage management smoother for users.
Original PR description
Steps to reproduce: 1) Install the project. 2) Enable 'project stages' through the settings. 3) Try to delete an empty stage 4) Notice that two confirmation dialog boxes appear. Cause: - The project module contains a dialog box for deleting project stages, resulting in two confirmation prompts when attempting to delete a project task. Fix: - The 'deleteGroup' function in the kanban_header file is responsible for deleting the stages in the project. the 'deleteGroup' function in the KanbanHeader class is extended and overridden with another confirmation box. task-3293029
Miscellaneous changes
The previous fix[^1] was preventing the recomputation of the currency as soon as there was one set. For instance, the currency wouldn't change if we changed the journal for one with another currency. [^1]: 7f7743470ac1309d5e047563d06362e54edb552a Forward-Port-Of: odoo/odoo#118336 Forward-Port-Of: odoo/odoo#116829
Original PR description
The previous fix[^1] was preventing the recomputation of the currency as soon as there was one set. For instance, the currency wouldn't change if we changed the journal for one with another currency. [^1]: 7f7743470ac1309d5e047563d06362e54edb552a Forward-Port-Of: odoo/odoo#118336 Forward-Port-Of: odoo/odoo#116829
Fixes an issue where choosing an email marketing template could leave the preview area at the wrong size. The preview now updates its height when template content changes, making template selection smoother and avoiding clipped or awkward displays.
Original PR description
When picking a mailing template, the size of the contents of the iframe changes but we failed to signal it so the iframe could resize as well. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Bill of Materials overview now aligns product names properly with the expand icon on smaller screens. This makes the manufacturing overview easier to read and improves the visual consistency of the page.
Original PR description
Before this commit =================== The product name is not aligned with the expand action. After this commit =================== The product name is aligned with the expand action task-3357011 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue where embedded live chat could show a browser error when used on a website hosted outside Odoo. This makes the live chat widget load more reliably for visitors on external sites.
Original PR description
Before this commit, starting a page with the livechat embed in another origin than Odoo would have resulted in an CORS error being shown due to the `bootstrap_translation` route being called in response to the legacy `web.session` setup. The legacy session is not used in the embed livechat. This commit replaces it in order to prevent useless translations fetch.
This update removes an obsolete website-specific setting from product snippet configuration because the platform now applies the current website automatically. It reduces unnecessary setup logic without changing the shopping experience for users.
Original PR description
Before [this other commit], every we-many2X had to specify the current website in the domain, which is useless since [this other commit] which does it automatically. [this other commit]: https://github.com/odoo/odoo/commit/081ce53120e652bf07106d5982e26048f2b843e6 Related to task-3316278
If applied, this commit will solve the issue of unsupported operand type in journal item(s) when currency is not set. Steps to produce: - Accounting > Journal Entries > Create new entry. - Add a line in Journal Items and remove the currency from that line. - Save > Error will be generated. Fix this issue by calling the compute of the currency when the currency is not available. sentry - 4069681536 see traceback - ``` KeyError: <NewId 0x7fc82fdd8880> File "odoo/api.py", line
Original PR description
If applied, this commit will solve the issue of unsupported operand type in journal item(s) when currency is not set. Steps to produce: - Accounting > Journal Entries > Create new entry. - Add a line…
If applied, this commit will solve the issue of unsupported operand type in journal item(s) when currency is not set.
Steps to produce:
- Accounting > Journal Entries > Create new entry.
- Add a line in Journal Items and remove the currency from that line.
- Save > Error will be generated.
Fix this issue by calling the compute of the currency when the currency is not available.
sentry - 4069681536
see traceback -
```
KeyError: <NewId 0x7fc82fdd8880>
File "odoo/api.py", line 958, in get
cache_value = field_cache[record._ids[0]]
CacheMiss: 'account.move.line(<NewId 0x7fc82fdd8880>,).currency_rate'
File "odoo/fields.py", line 1158, in __get__
value = env.cache.get(record, self)
File "odoo/api.py", line 965, in get
raise CacheMiss(record, field)
TypeError: unsupported operand type(s) for /: 'NoneType' and 'float'
File "odoo/http.py", line 2115, in __call__
response = request._serve_db()
File "odoo/http.py", line 1698, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1725, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1922, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 715, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 28, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "odoo/models.py", line 6533, in onchange
record._onchange_eval(name, field_onchange[name], result)
File "odoo/models.py", line 6244, in _onchange_eval
method_res = method(self)
File "addons/account/models/account_move_line.py", line 1112, in _inverse_amount_currency
line.balance = line.company_id.currency_id.round(line.amount_currency / line.currency_rate)
File "odoo/fields.py", line 1209, in __get__
self.compute_value(recs)
File "odoo/fields.py", line 1368, in compute_value
records._compute_field_value(self)
File "odoo/models.py", line 4302, in _compute_field_value
fields.determine(field.compute, self)
File "odoo/fields.py", line 99, in determine
return needle(*args)
File "addons/account/models/account_move_line.py", line 637, in _compute_currency_rate
line.currency_rate = get_rate(
File "addons/account/models/account_move_line.py", line 630, in get_rate
return self.env['res.currency']._get_conversion_rate(
File "odoo/addons/base/models/res_currency.py", line 252, in _get_conversion_rate
res = currency_rates.get(to_currency.id) / currency_rates.get(from_currency.id)
```
Forward-Port-Of: odoo/odoo#122462'replace() argument 1 must be str, not bool' is generated if the user edits a float or monetary section in the website view. Steps to Reproduce - Make debugger mode ON. - Go to Settings > Translations > Languages. - Remove the value of the 'Thousands Separator' field from the current user language. - Install the 'eCommerce' module. - Go to the website. - Go to the shop menu, and click any product from the product list. - Click on the Edit button and try to edit any float or monetary
Original PR description
'replace() argument 1 must be str, not bool' is generated if the user edits a float or monetary section in the website view. Steps to Reproduce - Make debugger mode ON. - Go to Settings >…
'replace() argument 1 must be str, not bool' is generated if the user edits a float or monetary section in the website view.
Steps to Reproduce
- Make debugger mode ON.
- Go to Settings > Translations > Languages.
- Remove the value of the 'Thousands Separator' field from the current user language.
- Install the 'eCommerce' module.
- Go to the website.
- Go to the shop menu, and click any product from the product list.
- Click on the Edit button and try to edit any float or monetary section like a product price (eg. change a product price from 750 to 70) and click on the Save button.
And traceback will be generated.
See Traceback:
```
TypeError: replace() argument 1 must be str, not bool
File "odoo/http.py", line 2116, in __call__
response = request._serve_db()
File "odoo/http.py", line 1698, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1725, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1923, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 234, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 715, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 28, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "addons/website/models/ir_ui_view.py", line 485, in save
super(View, self).save(value, xpath=xpath)
File "addons/web_editor/models/ir_ui_view.py", line 175, in save
self.save_embedded_field(arch_section)
File "addons/web_editor/models/ir_ui_view.py", line 46, in save_embedded_field
value = converter.from_html(Model, Model._fields[field], el)
File "addons/web_editor/models/ir_qweb_fields.py", line 523, in from_html
return float(value.replace(lang.thousands_sep, '')
```
Applying this commit will resolve this issue.
sentry-4148693017
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#124245Forward-Port-Of: odoo/odoo#125621
Original PR description
Forward-Port-Of: odoo/odoo#125621
Followup of #123320 Some things changed in saas-16.2 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#123418
Original PR description
Followup of #123320 Some things changed in saas-16.2 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#123418
Issue ===== A traceback occurs when we print MO Overview Report If the `Receipt` data has no decorator. Steps to reproduce ================= - Create a MO with 0 qty components Availability and set the Scheduled Date in future. - Make a purchase for the MO components with same day Order Deadline, and confirm PO. - Go to the MO Overview Report Click on the PRINT button and you will get the traceback. In this commit, we ignore setting a decorator when the receipt does not have a decora
Original PR description
Issue ===== A traceback occurs when we print MO Overview Report If the `Receipt` data has no decorator. Steps to reproduce ================= - Create a MO with 0 qty components Availability and set the Scheduled Date in future. - Make a purchase for the MO components with same day Order Deadline, and confirm PO. - Go to the MO Overview Report Click on the PRINT button and you will get the traceback. In this commit, we ignore setting a decorator when the receipt does not have a decorator. TaskID - 3300853 Forward-Port-Of: odoo/odoo#121102
Due to a change between Chrome 101 and 114, the CSS Custom Property containing custom string are now always serialized using the type of quotes used in their declaration (ie. single quotes will be kept ; double quotes also) which wasn't the case in previous versions of Chrome (and still not the case in WebKitGTK 2.40.0 at least). This doesn't impact the value itself but only comparison between the computed value and an arbitrary one (like we do in the design-themes test). This commit fixes
Original PR description
Due to a change between Chrome 101 and 114, the CSS Custom Property containing custom string are now always serialized using the type of quotes used in their declaration (ie. single quotes will be kept ; double quotes also) which wasn't the case in previous versions of Chrome (and still not the case in WebKitGTK 2.40.0 at least). This doesn't impact the value itself but only comparison between the computed value and an arbitrary one (like we do in the design-themes test). This commit fixes it by removing the single/double quotes in the `assertCssVariable` test helper. The impacted precondition was introduced in https://github.com/odoo/odoo/commit/b29e17765f4e912b2dd472493b5be500b3a32c87 and https://github.com/odoo/design-themes/commit/8b377af3a71b875dfc452a14206a9a1679371000 . --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125404
When we did the translation of localisation module to english we translated tax group and invoice_label. In fact those two fileds does not need to be translated. This PR contains a commit per localisation to revert the change made during all the translation pr. task-id: 3321805 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124520 Forward-Port-Of: odoo/odoo#122471
Original PR description
When we did the translation of localisation module to english we translated tax group and invoice_label. In fact those two fileds does not need to be translated. This PR contains a commit per localisation to revert the change made during all the translation pr. task-id: 3321805 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124520 Forward-Port-Of: odoo/odoo#122471
Earn some space in the left content panel (fullscreen and course page panels). Remove the double page scrollbar in fullscreen mode --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125156 Forward-Port-Of: odoo/odoo#121179
Original PR description
Earn some space in the left content panel (fullscreen and course page panels). Remove the double page scrollbar in fullscreen mode --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125156 Forward-Port-Of: odoo/odoo#121179
Parts of the X and Z reports were not formatted correctly. The parts that have changed are: - The datetime of the session is no more bold. - The columns of the tables are left-aligned for strings and right align for numbers. - The page break is better handled. task-id: #3360275 Enterprise PR: odoo/enterprise#42443 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125506 Forward-Port-Of: odoo/odoo#124791
Original PR description
Parts of the X and Z reports were not formatted correctly. The parts that have changed are:
- The datetime of the session is no more bold.
- The columns of the tables are left-aligned for strings and right align for numbers.
- The page break is better handled.
task-id: #3360275
Enterprise PR: odoo/enterprise#42443
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#125506
Forward-Port-Of: odoo/odoo#124791Oversight of [1], megamenu should never be considered as active. [1]: https://github.com/odoo/odoo/commit/8d4e99c6a6e2281b00ec25e870065d0728e27606 opw-3375615 Forward-Port-Of: odoo/odoo#125635
Original PR description
Oversight of [1], megamenu should never be considered as active. [1]: https://github.com/odoo/odoo/commit/8d4e99c6a6e2281b00ec25e870065d0728e27606 opw-3375615 Forward-Port-Of: odoo/odoo#125635
`_lt` must be used instead of `_t` for `gettext`s that are called when the file is loaded. Forward-Port-Of: odoo/odoo#125664 Forward-Port-Of: odoo/odoo#125538
Original PR description
`_lt` must be used instead of `_t` for `gettext`s that are called when the file is loaded. Forward-Port-Of: odoo/odoo#125664 Forward-Port-Of: odoo/odoo#125538
At the moment, there is no test that checks that normal credit notes (i.e. of type TD04, not reverse-charge refunds) are correctly exported in FatturaPA. So we're adding one. We're making it a complicated credit note (it contains some negative amounts) in order to improve the test coverage. See discussion in https://github.com/odoo/odoo/pull/122928 for the full context. Forward-Port-Of: odoo/odoo#125603 Forward-Port-Of: odoo/odoo#122930
Original PR description
At the moment, there is no test that checks that normal credit notes (i.e. of type TD04, not reverse-charge refunds) are correctly exported in FatturaPA. So we're adding one. We're making it a complicated credit note (it contains some negative amounts) in order to improve the test coverage. See discussion in https://github.com/odoo/odoo/pull/122928 for the full context. Forward-Port-Of: odoo/odoo#125603 Forward-Port-Of: odoo/odoo#122930
Commit 91d0e9c645abdc0333c850a9fb9336272db02dd3 made sure that excluded combination did not appear in /shop search results, but it significantly slowed down searches, even in databases without exclusions. Since the excluded combinations cannot be added to the cart (and the original feedback did not come from an effective ticket), we believe the gain is not worth the cost. This commit reverts that change. Task-3326948 --- I confirm I have signed the CLA and read the PR guidelines
Original PR description
Commit 91d0e9c645abdc0333c850a9fb9336272db02dd3 made sure that excluded combination did not appear in /shop search results, but it significantly slowed down searches, even in databases without exclusions. Since the excluded combinations cannot be added to the cart (and the original feedback did not come from an effective ticket), we believe the gain is not worth the cost. This commit reverts that change. Task-3326948 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125692 Forward-Port-Of: odoo/odoo#125187
Let us consider the search arch <search> <field name="foo"/> <searchpanel> <field name="bar"/> </searchpanel> </search> The two tags "field" are supposed to generate different objects: - the first one should generate an entry in the search bar autocompletion - the second one should generate a search panel section. It turns out that the second field did also generate an entry in the search bar. This is of course wrong. We fix that pro
Original PR description
Let us consider the search arch
<search>
<field name="foo"/>
<searchpanel>
<field name="bar"/>
</searchpanel>
</search>
The two tags "field" are supposed to generate different objects:
- the first one should generate an entry in the search bar autocompletion
- the second one should generate a search panel section.
It turns out that the second field did also generate an entry in the
search bar. This is of course wrong. We fix that problem and add a test.
Forward-Port-Of: odoo/odoo#125668
Forward-Port-Of: odoo/odoo#125541Currently in hr_leaves_type, if no responsible_ids are set, all members of group_hr_holidays_user would get notified. The new behavior changes that to : If no responsible_ids are set, no one is notified. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124796 Forward-Port-Of: odoo/odoo#119388
Original PR description
Currently in hr_leaves_type, if no responsible_ids are set, all members of group_hr_holidays_user would get notified. The new behavior changes that to : If no responsible_ids are set, no one is notified. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124796 Forward-Port-Of: odoo/odoo#119388
- Open Settings; - In the search write : __comp__.props Before this commit, some settings are shown. This occurs because of un error in the compiler, where we add to the search list, the path of the label, and not the label itself. Forward-Port-Of: odoo/odoo#125626 Forward-Port-Of: odoo/odoo#125237
Original PR description
- Open Settings; - In the search write : __comp__.props Before this commit, some settings are shown. This occurs because of un error in the compiler, where we add to the search list, the path of the label, and not the label itself. Forward-Port-Of: odoo/odoo#125626 Forward-Port-Of: odoo/odoo#125237
Before this commit, we needed to double click on "add a rule/group" to execute the action if focused an input. This commit fixes this issue, we can now click once to execute the action of the buttons. task id: 3346327 Forward-Port-Of: odoo/odoo#124273
Original PR description
Before this commit, we needed to double click on "add a rule/group" to execute the action if focused an input. This commit fixes this issue, we can now click once to execute the action of the buttons. task id: 3346327 Forward-Port-Of: odoo/odoo#124273
The stat button that displays the "Blocking Tasks", is not correctly displayed since the changes made on the statinfo widget. So we adapt it to make it more beautifull 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#125721
Original PR description
The stat button that displays the "Blocking Tasks", is not correctly displayed since the changes made on the statinfo widget. So we adapt it to make it more beautifull 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#125721
When user deletes 'Portal User Template' record from 'res.users' model and when 'action_open_template_user' function is executed at that time traceback is generated on the user side as well as in the log. See this traceback: ``` ValueError: Invalid template user. It seems it has been deleted. File "odoo/http.py", line 2115, in __call__ response = request._serve_db() File "odoo/http.py", line 1698, in _serve_db return service_model.retrying(self._serve_ir_http, self.env)
Original PR description
When user deletes 'Portal User Template' record from 'res.users' model and when 'action_open_template_user' function is executed at that time traceback is generated on the user side as well as in the…
When user deletes 'Portal User Template' record from 'res.users' model and when 'action_open_template_user' function is executed at that time traceback is generated on the user side as well as in the log.
See this traceback:
```
ValueError: Invalid template user. It seems it has been deleted.
File "odoo/http.py", line 2115, in __call__
response = request._serve_db()
File "odoo/http.py", line 1698, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1725, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1922, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 234, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 715, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 32, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "odoo/addons/base/models/res_config.py", line 763, in action_open_template_user
raise ValueError(_('Invalid template user. It seems it has been deleted.'))
```
Steps to reproduce:
1. Install Website module.
2. Go to settings > Users&Companies > Users.
3. Remove Internal Users from default filter.
4. Add Inactive Users in filter and delete Portal User Template.
5. Go to Website Settings > Privacy > Customer Account.
6. Click on Free sign up and then on Save button.
7. Now in Website Settings click on Default Access Rights button.
8. The error will occur.
Applying this commit will fix this issue.
sentry-4184456381
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#121757Use case: It happens that a product is consumed in different operations. So it needs two distinct BoM lines. Since commit [1] the stock.move in pbm are not merged. However [1] was design for kit. In our case we would like to have only one stock.move for all the quantities. The fix is not perfect because it won't work if we confirm at the same time a move from a SO and a MO. But in standard it never happens and otherwise it's easy to avoid this situation And remove duplicated function [
Original PR description
Use case: It happens that a product is consumed in different operations. So it needs two distinct BoM lines. Since commit [1] the stock.move in pbm are not merged. However [1] was design for kit. In our case we would like to have only one stock.move for all the quantities. The fix is not perfect because it won't work if we confirm at the same time a move from a SO and a MO. But in standard it never happens and otherwise it's easy to avoid this situation And remove duplicated function [1] commit 741d2fe9efff6529eda0f516754639edcf4a7a35 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#122682 Forward-Port-Of: odoo/odoo#120835
Before this commit, when using the LinkTools (website, mass_mailing), if an http URL contained a "@" (ex: https://www.youtube.com/@iRopes), it got incorrectly recognized as an e-mail URL and the option to open the link in a new windown was hidden from the UI. This commit fixes the issue by making the test for e-mail URL slightly more robust than just checking for the presence of a "@". task-3356685 opw-3349704 Forward-Port-Of: odoo/odoo#124110
Original PR description
Before this commit, when using the LinkTools (website, mass_mailing), if an http URL contained a "@" (ex: https://www.youtube.com/@iRopes), it got incorrectly recognized as an e-mail URL and the option to open the link in a new windown was hidden from the UI. This commit fixes the issue by making the test for e-mail URL slightly more robust than just checking for the presence of a "@". task-3356685 opw-3349704 Forward-Port-Of: odoo/odoo#124110
Before this commit stress days were displayed as colored rectangles on the calendar which made it ambiguous compared to leaves. After this commit the stress day have the number colored instead and the signification has been added to the legend on the side. task-3226525 Forward-Port-Of: odoo/odoo#124744 Forward-Port-Of: odoo/odoo#115306
Original PR description
Before this commit stress days were displayed as colored rectangles on the calendar which made it ambiguous compared to leaves. After this commit the stress day have the number colored instead and the signification has been added to the legend on the side. task-3226525 Forward-Port-Of: odoo/odoo#124744 Forward-Port-Of: odoo/odoo#115306
This PR enhances visual contrast by making adjustments to various components and utility classes. `o-mail-ActivityGroup` and `o-mail-NotificationItem` templates have undergone revisions to utilize default Bootstrap (BS) components and, consequently, automatically inheriting the fixed design.  task-3338419 part-of: task-3326263 required-by: - https://github.com/odoo/enterprise/pull/4154
Original PR description
This PR enhances visual contrast by making adjustments to various components and utility classes. `o-mail-ActivityGroup` and `o-mail-NotificationItem` templates have undergone revisions to utilize default Bootstrap (BS) components and, consequently, automatically inheriting the fixed design.  task-3338419 part-of: task-3326263 required-by: - https://github.com/odoo/enterprise/pull/41542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#122615
In https://github.com/odoo/odoo/pull/123074, the fix done did not take the formatting of numbers bigger (or equal) than 1000 into account. For example, 1000 become "1.000,00" and parsing it again will return a 1. To fix this, simply modified the thousandsSep to an empty value --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124963
Original PR description
In https://github.com/odoo/odoo/pull/123074, the fix done did not take the formatting of numbers bigger (or equal) than 1000 into account. For example, 1000 become "1.000,00" and parsing it again will return a 1. To fix this, simply modified the thousandsSep to an empty value --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124963
…e old ones expired Forward-Port-Of: odoo/enterprise#42811
Original PR description
…e old ones expired Forward-Port-Of: odoo/enterprise#42811
Follow-up of Task-3208438 Canned response suggestions are conflicting with emojis emoticon, so this has been limited to livechat. However, this was also used in helpdesk tickets. This commit make canned response suggestion available in both livechat and helpdesk tickets. Forward-Port-Of: odoo/enterprise#42834
Original PR description
Follow-up of Task-3208438 Canned response suggestions are conflicting with emojis emoticon, so this has been limited to livechat. However, this was also used in helpdesk tickets. This commit make canned response suggestion available in both livechat and helpdesk tickets. Forward-Port-Of: odoo/enterprise#42834
Mirror changes in community. requires: - https://github.com/odoo/odoo/pull/122615 Forward-Port-Of: odoo/enterprise#41542
Original PR description
Mirror changes in community. requires: - https://github.com/odoo/odoo/pull/122615 Forward-Port-Of: odoo/enterprise#41542
When setting a custom exchange rate through the appropriate filter of the report, a warning is displayed reminding the user custom rates are used in the displayed data. This warning contains a button to reset the rates to their original values. Clicking it caused the custom rates filter to disappear ; it's not what we want. This commit restores the proper reset behavior. Forward-Port-Of: odoo/enterprise#42497
Original PR description
When setting a custom exchange rate through the appropriate filter of the report, a warning is displayed reminding the user custom rates are used in the displayed data. This warning contains a button to reset the rates to their original values. Clicking it caused the custom rates filter to disappear ; it's not what we want. This commit restores the proper reset behavior. Forward-Port-Of: odoo/enterprise#42497
This commit ensures that `mediaId` is sent as an integer to the backend within the `_onRelinkAccount` method, preventing type-related issues. Previously, `mediaId` was being sent as a string. opw-3336309 Forward-Port-Of: odoo/enterprise#42544
Original PR description
This commit ensures that `mediaId` is sent as an integer to the backend within the `_onRelinkAccount` method, preventing type-related issues. Previously, `mediaId` was being sent as a string. opw-3336309 Forward-Port-Of: odoo/enterprise#42544
Before this commit, the 'per unit' condition was inserted between the if tax_ecluded and the else. So if you had your website tax excluded, you see 2 prices: the tax excluded and tax included if it is not a subscription. In case of tax included and subscription, you don't see any prices, but just the 'per unit'. Before this commit, after inheritance: ```py if tax_excluded: -> show price tax excl. if subscription: -> show unit else: -> show price tax included ``` Af
Original PR description
Before this commit, the 'per unit' condition was inserted between the if tax_ecluded and the else. So if you had your website tax excluded, you see 2 prices: the tax excluded and tax included if it is not a subscription. In case of tax included and subscription, you don't see any prices, but just the 'per unit'. Before this commit, after inheritance: ```py if tax_excluded: -> show price tax excl. if subscription: -> show unit else: -> show price tax included ``` After this commit, after inheritance: ```py if tax_excluded: -> show price tax excl. else: -> show price tax included if subscription: -> show unit ``` Forward-Port-Of: odoo/enterprise#42797
Create a custom tax unit filter, so we can toggle the allowedCompanies. We need all the companies of the tax unit to be selected for it to work. Tax unit warning was not displayed, it was calling the wrong option key tax_unit instead of tax_units (whit the S). Forward-Port-Of: odoo/enterprise#42598
Original PR description
Create a custom tax unit filter, so we can toggle the allowedCompanies. We need all the companies of the tax unit to be selected for it to work. Tax unit warning was not displayed, it was calling the wrong option key tax_unit instead of tax_units (whit the S). Forward-Port-Of: odoo/enterprise#42598
Currently, Import button is missing from toggle search panel of MPS because current code is written for cogMenu but there is no cogMenu in MPS. With this commit, I have added Import button in toggle search panel of MPS. task-3357924 Forward-Port-Of: odoo/enterprise#42242
Original PR description
Currently, Import button is missing from toggle search panel of MPS because current code is written for cogMenu but there is no cogMenu in MPS. With this commit, I have added Import button in toggle search panel of MPS. task-3357924 Forward-Port-Of: odoo/enterprise#42242
To comply with the improvment of the page break of the reports, the override of the daily reports in the Swedish module had to be adapted. task-id: #3360275 Community PR: odoo/odoo#124791 Forward-Port-Of: odoo/enterprise#42748 Forward-Port-Of: odoo/enterprise#42443
Original PR description
To comply with the improvment of the page break of the reports, the override of the daily reports in the Swedish module had to be adapted. task-id: #3360275 Community PR: odoo/odoo#124791 Forward-Port-Of: odoo/enterprise#42748 Forward-Port-Of: odoo/enterprise#42443
This fix addresses an error where the cost of operation in the "Cost Breakdown of Product" of the bom report was not taking employee hourly cost into account Task-3338502 Forward-Port-Of: odoo/enterprise#41571
Original PR description
This fix addresses an error where the cost of operation in the "Cost Breakdown of Product" of the bom report was not taking employee hourly cost into account Task-3338502 Forward-Port-Of: odoo/enterprise#41571
When user deleted 'Probation' record in employment types and when cron job run this traceback raises. To reproduce this issue: 1) Install 'l10n_in_hr_payroll' 2) Update the company as 'IN Company' 3) Open Employees and create an employee record 4) In Employees go to configuration/Employment types and delete probation record 5) Now try to run 'HR Contract: update state' manually in 'scheduled actions'. Error: A traceback appears : "<class 'ValueError'>: External ID not found in the sy
Original PR description
When user deleted 'Probation' record in employment types and when cron job run this traceback raises. To reproduce this issue: 1) Install 'l10n_in_hr_payroll' 2) Update the company as 'IN Company' 3)…
When user deleted 'Probation' record in employment types and when cron job run this traceback raises. To reproduce this issue: 1) Install 'l10n_in_hr_payroll' 2) Update the company as 'IN Company' 3) Open Employees and create an employee record 4) In Employees go to configuration/Employment types and delete probation record 5) Now try to run 'HR Contract: update state' manually in 'scheduled actions'. Error: A traceback appears : "<class 'ValueError'>: External ID not found in the system: l10n_in_hr_payroll.l10n_in_contract_type_probation" On 'update_state' method in 'hr_contract' contract_type_id is referenced from 'l10n_in_hr_payroll.l10n_in_contract_type_probation'. https://github.com/odoo/enterprise/blob/8985fb7291499caa355b51d232631bb9e6411bb2/l10n_in_hr_payroll/models/hr_contract.py#L27-L33 Therefore in the above use case when triggering the above cron job, because of that external id is deleted, it will lead to above traceback. **Reminder Note(** PPR) In saas 16.3 check condition also in payroll dashboard Sentry-4247454345 Forward-Port-Of: odoo/enterprise#42766 Forward-Port-Of: odoo/enterprise#42602
The test certificate is expired since the 19th of June. However, since the tests are only testing the xml values without sending anything, we don't really care about the certificate validity. Instead, all tests are mocked using freezegun to run at a particular date. So this commit creates the certificate using the same logic in order to pass everytime the check about dates range validity. Forward-Port-Of: odoo/enterprise#42769 Forward-Port-Of: odoo/enterprise#42762
Original PR description
The test certificate is expired since the 19th of June. However, since the tests are only testing the xml values without sending anything, we don't really care about the certificate validity. Instead, all tests are mocked using freezegun to run at a particular date. So this commit creates the certificate using the same logic in order to pass everytime the check about dates range validity. Forward-Port-Of: odoo/enterprise#42769 Forward-Port-Of: odoo/enterprise#42762