Monday, October 3, 2022
84 changes · master
Enhancements to existing features
Property values can now appear as columns in list views, making it easier for users to compare and review custom information without opening each record. These columns are for viewing only and cannot currently be sorted or edited directly from the list.
Original PR description
Adds columns in the list view for properties. Dynamically create 'fields' for list views that copy the characteristics of their 'properties' field. Allows for seamless display of property values in the list view. Note: These columns cannot be sorted (requires python ORM modifications) These columns cannot be edited (not easily achievable) task #2980121 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now better recognizes hidden GS1 separator characters used by barcode scanners, including scanner-specific substitutes. This helps prevent lot numbers and quantities from being mixed up when scanning GS1 barcodes on desktop or mobile devices.
Original PR description
Let's say the company uses a GS1 nomenclature and a user scans such a barcode: `(01)11111111111113(10)xyz(30)40` It means a product: - that has the barcode value '11111111111113' - for the lot 'xyz'…
Let's say the company uses a GS1 nomenclature and a user scans such a
barcode:
`(01)11111111111113(10)xyz(30)40`
It means a product:
- that has the barcode value '11111111111113'
- for the lot 'xyz'
- with a quantity equal to 40
The GS1 nomenclature explains that a lot consists of a prefix `10` and
of up to 20 alphanumeric characters. In the above example, we could
believe that the lot is actually `xyz3040`. To prevent this kind of
issue, the GS1 standards use a special character: the Group Separator
(its hex value is `\x1d` and does not have any visual representation).
So, when reading the barcode of the above value, the barcode reader will
detect the GS between `z` and `3` (so we know that this is the end of
the lot name).
Because GS has no visual representation, the way the GS character is
given by the scanner to the device depends on the scanner itself. For
instance, some barcode readers try to encode GS thanks to its unicode
input (as used on a Windows device): it enters Alt+0+2+9 (i.e., the
unicode value of GS). This is an issue since we filter out all keydown
events with the `Alt` key pressed.
Also, our way to interpret the barcode value depends on the device: on a
desktop device, we listen the events. As explained above, this could be
an issue (for instance with Alt+029). On a mobile device, we let the
barcode reader write in an hidden input and we then extract the written
value. There is also an issue here: the GS is not present in the
extracted string.
For these reasons, some changes are need. The idea is to let the user
lists the ways his barcode readers will encode the GS character (the
scanners often give the possibility to set a value manually.). There is
already a field for this:
https://github.com/odoo/odoo/blob/320025ee630acadd4a5cbd32f425cddee4f81c1e/addons/barcodes_gs1_nomenclature/models/barcode_nomenclature.py#L18-L20
However, this is not correctly working. Suppose we now stop to filter
out the `Alt` keys: in the above example, the scanned value becomes
`011111111111111310xyzAlt0293040`(as you can see, there is an `Alt029`
at the end of the lot). Suppose also that we defined
`gs1_separator_fnc1` with `Alt029`. When parsing the barcode value, we
have:
https://github.com/odoo/odoo/blob/1c0dec6d5813fa81a0fec8668ee13d8036cde5c5/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js#L91-L98
So, when we try to extract the lot name, the values will be:
- barcode: `10xyzAlt0293040`
- regex: `^(10)([!\"%-/0-9:-?A-Z_a-z]{0,20})(?:(Alt029))?`
And here is the issue: `Alt029` will be caught by the second capturing
group of the regex (instead of the third one), so it will be considered
as part of the lot name, we still have an issue => considering the
`Alt`/`Control` keys and defining some values in `gs1_separator_fnc1`
are not enough, we need to parse twice:
- The first parsing is used to convert all occurrences of
`gs1_separator_fnc1` into the hex `\x1d`. Then, it is also used to
remove all useless `Alt`/`Control`/`Shift`.
- The second parsing is the already-existing one and this parser is
already able to catch all `\x1d` as group separators:
https://github.com/odoo/odoo/blob/1c0dec6d5813fa81a0fec8668ee13d8036cde5c5/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js#L90
For the mobile device, it means that the users will have to define a
special character that stands for GS (e.g., `#`), so we will retrieve it
in the input.
OPW-2930873This update appears to adjust how base property field backup handling works in Odoo. It likely improves reliability for internal data configuration, helping reduce the risk of issues when property-related settings are backed up or restored.
The accounting screens now avoid offering quick-create options where they are unnecessary or cannot be used. This reduces confusing choices for users and helps keep accounting configuration workflows clearer and more reliable.
Original PR description
Remove quick create from the places that is either not needed or not possible Task #2850996 Related Enterprise PR: odoo/enterprise#30525 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Accounting screens now avoid offering quick-create options where they are unnecessary or cannot be used. This reduces confusion during reconciliation and asset account setup, helping users complete accounting workflows with fewer dead ends.
Original PR description
Remove quick create from the places that is either not needed or not possible Task #2850996 Related Community PR odoo/odoo#98323
Resolved issues and error corrections
Customer rating reports now only show ratings that belong to the user's company. This prevents teams in multi-company setups from seeing ratings from other companies and keeps reporting aligned with each business entity.
Original PR description
Before this commit, in helpdesk > reporting > customer rating the ratings were visible to all companies even if they don't belong to that company So in this commit, the ratings are visible to the respective company only task-2995118 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Previously, it wasn't possible to add fields to the form using the web editor on the apply page. This commit also set the "job_details" field on the hr.job model as a translatable field. task-2990154 Forward-Port-Of: odoo/odoo#101156
Original PR description
Previously, it wasn't possible to add fields to the form using the web editor on the apply page. This commit also set the "job_details" field on the hr.job model as a translatable field. task-2990154 Forward-Port-Of: odoo/odoo#101156
Loyalty programs that are not tied to a specific company now use the current company when calculating currency conversion amounts. This prevents errors in multi-company setups and helps discounts apply correctly for shared loyalty programs.
Original PR description
In the present when in a multi-company environment it is possible to create loyalty programs without a company associated to it. This cause a problem when computing conversion rates as conversion rates are associated to a company. After this commit if no company is setted on the loyalty program then when computing the amout to deduce on the loyalty program we fallback to the env company (this is the same way the company is initially deduced on the loyalty program). Task - 3001177 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101631
The HR user creation flow now defaults the employee creation option to off and hides it when a user is created from an employee record. This reduces confusion and helps avoid accidentally creating duplicate employee records.
Original PR description
Set the default value for create_employee to False. When coming from employee form, hide the create_employee field. task - 2990426
This fixes an issue where choosing today for an online rental could be treated as a date in the past. Customers can now book same-day rentals when allowed, reducing unnecessary checkout errors and lost rental orders.
Original PR description
task-3001403
Description of the issue/feature this PR addresses: Current behavior before PR: Do not recalculate the Total In Currency when choosing another unit of measurement EX : Unit Price = 100, quantity = 5, Unit of Measure = Hour => Total In Currency = 500 Desired behavior after PR is merged: Unit Price = 100, quantity = 5, Unit of Measure = Hour => Total In Currency = 62.5 Unit Price = 100, quantity = 6, Unit of Measure = Hour => Total In Currency = 75 -- I confirm I have signed the
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Do not recalculate the Total In Currency when choosing another unit of measurement EX : Unit Price = 100, quantity = 5, Unit of Measure = Hour => Total In Currency = 500 Desired behavior after PR is merged: Unit Price = 100, quantity = 5, Unit of Measure = Hour => Total In Currency = 62.5 Unit Price = 100, quantity = 6, Unit of Measure = Hour => Total In Currency = 75 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101412 Forward-Port-Of: odoo/odoo#100770
Release notes: https://github.com/odoo/owl/releases/tag/v2.0.0-beta-22 - fix: t-call: nested t-call with magic variable 0 - fix: prevent crash in case with t-foreach, t-out and components 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#101532
Original PR description
Release notes: https://github.com/odoo/owl/releases/tag/v2.0.0-beta-22 - fix: t-call: nested t-call with magic variable 0 - fix: prevent crash in case with t-foreach, t-out and components 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#101532
Task-3000216 Forward-Port-Of: odoo/odoo#101429
Original PR description
Task-3000216 Forward-Port-Of: odoo/odoo#101429
Since [1] when BS5 was introduced, vertical dropzones sometime push row elements to the next row. This commit removes the padding on the vertical dropzones, that is introduced on rows by BS5. [1]: https://github.com/odoo/odoo/commit/971e5a91aab96d36129a823e03f1f9f1b1293968 task-2993565 Forward-Port-Of: odoo/odoo#100994
Original PR description
Since [1] when BS5 was introduced, vertical dropzones sometime push row elements to the next row. This commit removes the padding on the vertical dropzones, that is introduced on rows by BS5. [1]: https://github.com/odoo/odoo/commit/971e5a91aab96d36129a823e03f1f9f1b1293968 task-2993565 Forward-Port-Of: odoo/odoo#100994
When selecting multiple employees, the time off type was not automatically reset and would show time off types not available (due to missing allocations) to some of the employees. task-3002165 Forward-Port-Of: odoo/odoo#101710
Original PR description
When selecting multiple employees, the time off type was not automatically reset and would show time off types not available (due to missing allocations) to some of the employees. task-3002165 Forward-Port-Of: odoo/odoo#101710
The widget was squeezed and not taking the whole width it was supposed to. Forward-Port-Of: odoo/odoo#101716
Original PR description
The widget was squeezed and not taking the whole width it was supposed to. Forward-Port-Of: odoo/odoo#101716
Part of task-2998139 Forward-Port-Of: odoo/odoo#101736
Original PR description
Part of task-2998139 Forward-Port-Of: odoo/odoo#101736
Description of the issue/feature this PR addresses: Since odoo/odoo#100570, 'overflow : auto' is no more applied to the o_content div. See comment at https://github.com/odoo/odoo/pull/100570#discussion_r978649306. To restablish previous style on the stock forecast, overflow-auto is now directly applied as a class on the div. Current behavior before PR: When stock_forecast view overflows, no scrollbar is shown. The user can't scroll on the content and miss information. Desired behavio
Original PR description
Description of the issue/feature this PR addresses: Since odoo/odoo#100570, 'overflow : auto' is no more applied to the o_content div. See comment at https://github.com/odoo/odoo/pull/100570#discussion_r978649306. To restablish previous style on the stock forecast, overflow-auto is now directly applied as a class on the div. Current behavior before PR: When stock_forecast view overflows, no scrollbar is shown. The user can't scroll on the content and miss information. Desired behavior after PR is merged: When stock_forecast view overflows, as scrollbar is shown. The user can scroll on the content to access all the information. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101721
Steps to reproduce: - Add an event product to the template order - Create an so - Select the template order you just created Expected behavior: you get a popup to configure the event Current behavior: There is no popup and the product event is not fully configured opw-2971168 Forward-Port-Of: odoo/odoo#100499
Original PR description
Steps to reproduce: - Add an event product to the template order - Create an so - Select the template order you just created Expected behavior: you get a popup to configure the event Current behavior: There is no popup and the product event is not fully configured opw-2971168 Forward-Port-Of: odoo/odoo#100499
This commit fixes three issues regarding the top left search input of the Media Dialog. First, following this flow from the website builder: - Start the Media Dialog with no images, => A visual indication to guide you to use the search input is there - Type a search query in the top left search input, - Erase completely the search query, => The visual indication is not displayed again. When [1] reworked the Media Dialog with components, it wrongly defined the ImageSelector web_unspl
Original PR description
This commit fixes three issues regarding the top left search input of the Media Dialog. First, following this flow from the website builder: - Start the Media Dialog with no images, => A visual…
This commit fixes three issues regarding the top left search input of the Media Dialog. First, following this flow from the website builder: - Start the Media Dialog with no images, => A visual indication to guide you to use the search input is there - Type a search query in the top left search input, - Erase completely the search query, => The visual indication is not displayed again. When [1] reworked the Media Dialog with components, it wrongly defined the ImageSelector web_unsplash patch to load unsplash images: if there was no query string, the state.isFetchingUnsplash variable was set to true and never to false, therefore the component was acting as if there was still some fetching in progress. Secondly, pressing 'enter' when the input was focused would trigger a reload of the window. This was due to an obscure html spec described in [2]: "When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form." When [3] reworked the design of the Media Dialog, it added a t-if on the second "url" input, making the form with a single input. This commit fixes this wrong behaviour by using div elements instead of forms. Lastly, [3] also removed the position-fixed on the loading images, which was preventing to modify the container height before resizing them. This led to visual glitches before seeing the resized images. This commit adds back this class to prevent that visual glitch. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b [2]: https://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2 [3]: https://github.com/odoo/odoo/commit/ff0b2d441252560a076a3609d81c369f0ce42d19 task-2687506 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101613
This commit addresses a screen refresh problem. task: 2961768 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#99043 Forward-Port-Of: odoo/odoo#98788
Original PR description
This commit addresses a screen refresh problem. task: 2961768 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#99043 Forward-Port-Of: odoo/odoo#98788
Steps to reproduce: - Go into settings > Configure Document Layout - Choose layout boxed - set a company tagline - click "download PDF Preview" Issue: The styling of the company tagline is not the same on the pdf and the preview Cause: Module lxml from etree would not interpret the html the same way as the browser. In the browser, we would have a 'p' markup inside of the 'h4' for the title. Effectively applying the style from the css sheet. In the pdf, the lxlm module place
Original PR description
Steps to reproduce:
- Go into settings > Configure Document Layout
- Choose layout boxed
- set a company tagline
- click "download PDF Preview"
Issue:
The styling of the company tagline is not the same on the pdf and
the preview
Cause:
Module lxml from etree would not interpret the html the same way as
the browser. In the browser, we would have a 'p' markup inside of the
'h4' for the title. Effectively applying the style from the css
sheet. In the pdf, the lxlm module place the 'p' markup after the
'h4'. Therefore it would not receive the styling of the 'h4'.
Reproduction:
```
>>> from lxml import html
>>> html.tostring(html.fromstring('<div><h4><p>hi</h4></div>'))
b'<div><h4></h4><p>hi</p></div>'
```
Solution:
Add an additional styling in the scss file to include the 'p' that
would come directly after the 'h4'.
opw-2846247
Forward-Port-Of: odoo/odoo#93778*: im_livechat, survey, utm, website_crm_iap_reveal, website_forum, website_livechat, website_sale, website_sale_comparison Before this commit all cookies were considered essential. This commit makes some of them optional. It also makes it possible for the website visitor to only accept the essential cookies. Explanation of the rational and history of this cookies bar improvement here: https://github.com/odoo/odoo/pull/95673#discussion_r960657519 task-2800976 Co-authored-by:
Original PR description
*: im_livechat, survey, utm, website_crm_iap_reveal, website_forum, website_livechat, website_sale, website_sale_comparison Before this commit all cookies were considered essential. This commit makes some of them optional. It also makes it possible for the website visitor to only accept the essential cookies. Explanation of the rational and history of this cookies bar improvement here: https://github.com/odoo/odoo/pull/95673#discussion_r960657519 task-2800976 Co-authored-by: Benoit Socias <bso@odoo.com> Forward-Port-Of: odoo/odoo#95673
This commit removes unecessary overrides of the Notebook component styling in the Form and Kanban columns examples. Additionally, it also moves the most generic styles (like responsive) into the Notebook component itself. Related PR in enterprise: https://github.com/odoo/enterprise/pull/32067 Forward-Port-Of: odoo/odoo#101355
Original PR description
This commit removes unecessary overrides of the Notebook component styling in the Form and Kanban columns examples. Additionally, it also moves the most generic styles (like responsive) into the Notebook component itself. Related PR in enterprise: https://github.com/odoo/enterprise/pull/32067 Forward-Port-Of: odoo/odoo#101355
Steps to reproduce: - Go to Projects and find one having field "sale_line_id" set (example "AGR - S00048" with "S00048 - Senior Architect (Invoice on Timesheets)") - Go to Sales -> Quotations and : 1/ cancel 2/ set in draft 3/ edit Project to "AGR - SO00048" 4/ confirm again (see attached) - Alter Marc Demo access right to have: Sales -> Administrator Project -> User - With Marc Demo, go to Sales -> Quotations and open S00048 - Try to cancel it Issue: Acces
Original PR description
Steps to reproduce: - Go to Projects and find one having field "sale_line_id" set (example "AGR - S00048" with "S00048 - Senior Architect (Invoice on Timesheets)") - Go to Sales -> Quotations and : 1/ cancel 2/ set in draft 3/ edit Project to "AGR - SO00048" 4/ confirm again (see attached) - Alter Marc Demo access right to have: Sales -> Administrator Project -> User - With Marc Demo, go to Sales -> Quotations and open S00048 - Try to cancel it Issue: Access right error. Cause: When canceling a SO, we remove the related SO line on the project however, the current user have access to edit SO but not the project. Solution: Use sudo(). opw-2959627 Forward-Port-Of: odoo/odoo#99617 Forward-Port-Of: odoo/odoo#98956
Supersedes #101723 as contributor cancelled the merge by adding more garbage onto the branch Forward-Port-Of: odoo/odoo#101847
Original PR description
Supersedes #101723 as contributor cancelled the merge by adding more garbage onto the branch Forward-Port-Of: odoo/odoo#101847
Setting the attributes `can_create` and `can_write` in views which are not editable is useless as you cannot edit the record in these views. This allow to gain some KB when serving the view to the web client, as well as making the view cleaner. e.g. the graph view in the CRM > My Pipeline menu Before: ```xml <graph string="Opportunities" sample="1"> <field name="stage_id" can_create="true" can_write="true"/> <field name="user_id" on_change="1" can_create="true" can_write="tr
Original PR description
Setting the attributes `can_create` and `can_write` in views which are not editable is useless as you cannot edit the record in these views. This allow to gain some KB when serving the view to the…
Setting the attributes `can_create` and `can_write` in views which are not editable is useless as you cannot edit the record in these views.
This allow to gain some KB when serving the view to the web client, as well as making the view cleaner.
e.g. the graph view in the CRM > My Pipeline menu
Before:
```xml
<graph string="Opportunities" sample="1">
<field name="stage_id" can_create="true" can_write="true"/>
<field name="user_id" on_change="1" can_create="true" can_write="true"/>
<field name="color" modifiers="{"invisible": true}"/>
</graph>
```
After:
```xml
<graph string="Opportunities" sample="1">
<field name="stage_id"/>
<field name="user_id" on_change="1"/>
<field name="color" modifiers="{"invisible": true}"/>
</graph>
```
This revision takes the opportunity to port the `editable` concept from the server to the web client MockServer,
in order to be able to test the removal of these attributes from the views in the QUnit tests.
The `_editableNode` JS function added here is the translation of the existing `def _editable_node` method in `addons/base/models/ir_ui_view.py`
https://github.com/odoo/odoo/blob/f5edde3624f4fe40f87cc7fed7dcfc4bbce1f19f/odoo/addons/base/models/ir_ui_view.py#L1282-L1301
Forward-Port-Of: odoo/odoo#101014Steps to reproduce: -Activate split order option -Create an order with two products -On the splitting bill screen select one product and click on payment -Don't validate the payment and click on back -Refresh the page Current behavior: There is only one order with the unselected product Expected behavior: There is two orders with one product Explanation: When on the spliting page we remove product from the first order to add them to a new one if they are selected but the new ord
Original PR description
Steps to reproduce: -Activate split order option -Create an order with two products -On the splitting bill screen select one product and click on payment -Don't validate the payment and click on back -Refresh the page Current behavior: There is only one order with the unselected product Expected behavior: There is two orders with one product Explanation: When on the spliting page we remove product from the first order to add them to a new one if they are selected but the new order is not saved yet. We need to save the new order on payment proceed. opw-2989858 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101427 Forward-Port-Of: odoo/odoo#101226
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#101474
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#101474
The confirmation message for the sale order appeared twice in the chatter: first with the confirmation and second with the posted payment. The second message is now rephrased in order to avoid any confusion for the user (no double payment). task-2965158 Forward-Port-Of: odoo/odoo#100162
Original PR description
The confirmation message for the sale order appeared twice in the chatter: first with the confirmation and second with the posted payment. The second message is now rephrased in order to avoid any confusion for the user (no double payment). task-2965158 Forward-Port-Of: odoo/odoo#100162
When saving a payment method from the `my/payment_method` page validation is used as the type of operation. In the present validation operations were incorrectly filtered and treated as a payment. After this commit validation operations are processed in the `_stripe_create_checkout_session` function as it should. Task - 3001168 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101755
Original PR description
When saving a payment method from the `my/payment_method` page validation is used as the type of operation. In the present validation operations were incorrectly filtered and treated as a payment. After this commit validation operations are processed in the `_stripe_create_checkout_session` function as it should. Task - 3001168 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101755
When using the "Holes in sequence" shortcut on a journal in the Dashboard, the "Create" form shows the Miscellaneous Entries journal as a default instead of the same Journal that the user trying to fix. Old discussion on closed PR: https://github.com/odoo/odoo/pull/101795 Video: https://watch.screencastify.com/v/kUorLSIHwoy97UKuDJBC Forward-Port-Of: odoo/odoo#101800
Original PR description
When using the "Holes in sequence" shortcut on a journal in the Dashboard, the "Create" form shows the Miscellaneous Entries journal as a default instead of the same Journal that the user trying to fix. Old discussion on closed PR: https://github.com/odoo/odoo/pull/101795 Video: https://watch.screencastify.com/v/kUorLSIHwoy97UKuDJBC Forward-Port-Of: odoo/odoo#101800
The records' description in the cashmove report was showing the raw json data, now it's showing the English translation. Forward-Port-Of: odoo/odoo#101850
Original PR description
The records' description in the cashmove report was showing the raw json data, now it's showing the English translation. Forward-Port-Of: odoo/odoo#101850
The way we request images for the product's extra images feature did not work properly with the patch made by `web_unsplash` since we did not call the super function. It is now called properly making it work with unsplash as expected. TaskId-3003948 Forward-Port-Of: odoo/odoo#101860
Original PR description
The way we request images for the product's extra images feature did not work properly with the patch made by `web_unsplash` since we did not call the super function. It is now called properly making it work with unsplash as expected. TaskId-3003948 Forward-Port-Of: odoo/odoo#101860
A rule was missing from the copied legacy rules Note: `form-break-table` was not only applied for small screen but also for other case like quick edit in Kanban. Steps to reproduce: * Open Project * Select a project * Click on the Create button => BUG --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101867
Original PR description
A rule was missing from the copied legacy rules Note: `form-break-table` was not only applied for small screen but also for other case like quick edit in Kanban. Steps to reproduce: * Open Project * Select a project * Click on the Create button => BUG --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101867
In https://github.com/odoo/odoo/commit/9cbbb0248110acb1f85c8721d8ce8ce459217341 the overflow auto for the o_Discuss_sidebar class is missing making the sidebar impossible to scroll. This PR reintroduce this overflow-auto. task-3004063 Forward-Port-Of: odoo/odoo#101873
Original PR description
In https://github.com/odoo/odoo/commit/9cbbb0248110acb1f85c8721d8ce8ce459217341 the overflow auto for the o_Discuss_sidebar class is missing making the sidebar impossible to scroll. This PR reintroduce this overflow-auto. task-3004063 Forward-Port-Of: odoo/odoo#101873
Model patches are now defined using the `registerPatch` function. This function takes an object as argument which keys match those of a model definition. Benefits: + More consistent shape between model definitions and patch definitions + No need to import one function to each type of patch + No need to repeat the model name for each type of patch + No need to import the original definition Task-2998282. \* = calendar, crm, hr, im_livechat, note, rating, sms, snailmail, website_livec
Original PR description
Model patches are now defined using the `registerPatch` function. This function takes an object as argument which keys match those of a model definition. Benefits: + More consistent shape between model definitions and patch definitions + No need to import one function to each type of patch + No need to repeat the model name for each type of patch + No need to import the original definition Task-2998282. \* = calendar, crm, hr, im_livechat, note, rating, sms, snailmail, website_livechat, website_slides Enterprise: https://github.com/odoo/enterprise/pull/31866 Forward-Port-Of: odoo/odoo#101282
Currently, the keys passed through the t-foreach for looping over the groups has a flaw. It comes from a method that works as below: It checks the group has a value => provide a key as group_key_{value} if not => group_key_{i} where i is the iteration index But the {value} is acutally just an id of some model. So in some cases, with low ids (empty DB, tests, ...), you can run into situations where the keys are duplicates, making owl crash. This comit fixes the function to make sure it has no
Original PR description
Currently, the keys passed through the t-foreach for looping over the groups has a flaw. It comes from a method that works as below: It checks the group has a value => provide a key as group_key_{value} if not => group_key_{i} where i is the iteration index But the {value} is acutally just an id of some model. So in some cases, with low ids (empty DB, tests, ...), you can run into situations where the keys are duplicates, making owl crash.
This comit fixes the function to make sure it has no duplicates.
Forward-Port-Of: odoo/odoo#101781this commit, remove the margin 0px to add a space between multiple user avatars. 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#101879
Original PR description
this commit, remove the margin 0px to add a space between multiple user avatars. 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#101879
Reproduction: 1. Install eCommerce and accounting 2. Go to Accounting->Configuration->Taxes, add one sale tax 15%, and one 0%. Both taxes are included in the price. 3. Go to Configuration-> Fiscal Position, create a new one “test” which applies the tax mapping from 15% sale tax to the 0%. Check “Detect Automatically”, set country group as Europe 4. Go to Website->Orders->Customers, set the country of the portal user, Joel Willis, as Luxembourg. In Sales&Purchase->Fiscal Information set
Original PR description
Reproduction: 1. Install eCommerce and accounting 2. Go to Accounting->Configuration->Taxes, add one sale tax 15%, and one 0%. Both taxes are included in the price. 3. Go to Configuration-> Fiscal…
Reproduction: 1. Install eCommerce and accounting 2. Go to Accounting->Configuration->Taxes, add one sale tax 15%, and one 0%. Both taxes are included in the price. 3. Go to Configuration-> Fiscal Position, create a new one “test” which applies the tax mapping from 15% sale tax to the 0%. Check “Detect Automatically”, set country group as Europe 4. Go to Website->Orders->Customers, set the country of the portal user, Joel Willis, as Luxembourg. In Sales&Purchase->Fiscal Information set the fiscal position as “test” 5. Go to Website->Products->Product Variants, create a new one “test_tax_prod” with price 110, and sale tax 15%, can be sold, can be purchased and consumable. 6. Go to Website->Configuration->Attribute, create a new product attribute “test” with Display Type as Ratio, Variant Creation Mode as Never. Create a value “a” in its attribute values 7. Go to Website->Products->Products, find test_tax_prod, go to its variant tab, set attribute as “test” with value “a”, publish this product 8. Open an incognito tab, login as “portal” pwd: portal, search the product “test_tax_prod”, set the price list as “public price list”, the price is 95.65 on the page. Add it to the cart, the price is 110 Reason: When we update the order_line, we should update the price based on the fiscal position for the no_variant products too. However, based on the current workflow, the price is computed in method _website_product_id_change before an order line is created. Thus for no_variant products, the price is not updated. Fix: This issue is fixed in saas-15.3 by rewriting the workflow and calculating the price through an on_change function here: https://github.com/odoo/odoo/blob/saas-15.3/addons/sale/models/sale_order_line.py#L588-L605 In v13, we don’t have this on_change method to compute the new price, so a similar price update can be created in the cart update for website_sale. This fix solution was created here: ea25921 However, new price computation issues can happen when combining two pricelists, here: 8d6a2ca Thus the fix is eventually done in _website_product_id_change. Added a new parameter to force checking the orderlines based on the domain. The orderline is created but only can be searched based on the domain. This ensures the price is computed correctly for pricelists and for tax. opw-2856956 Fix by re-writing in saas-15.3: https://github.com/odoo/odoo/blob/saas-15.3/addons/sale/models/sale_order_line.py#L588-L605 First related fix: ea25921 Second fix to patch for the first fix: 8d6a2ca -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#101797 Forward-Port-Of: odoo/odoo#99647
Purpose: Enhance the profile picture of Mitchell Admin and Marc Demo as they are now sometimes shown in larger sizes (as in appointment). Task-2992949 Forward-Port-Of: odoo/odoo#100857
Original PR description
Purpose: Enhance the profile picture of Mitchell Admin and Marc Demo as they are now sometimes shown in larger sizes (as in appointment). Task-2992949 Forward-Port-Of: odoo/odoo#100857
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#101095
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#101095
`_get_image_stream_from` is expecting a (at least empty) recordset as `record` Forward-Port-Of: odoo/odoo#101896
Original PR description
`_get_image_stream_from` is expecting a (at least empty) recordset as `record` Forward-Port-Of: odoo/odoo#101896
This commit fixes 2 issues with the position of the dropdown with the suggested links in the url picker input of the snippet options. (e.g. redirect url input of the countdown snippet). 1- Before this commit the dropdown went over the input while editing the url. 2- Before this commit the position of the dropdown (when above the input) was a little too low if there were images in the dropdown. It was because the images are loaded after the positioning of the dropdown and no height wa
Original PR description
This commit fixes 2 issues with the position of the dropdown with the suggested links in the url picker input of the snippet options. (e.g. redirect url input of the countdown snippet). 1- Before this commit the dropdown went over the input while editing the url. 2- Before this commit the position of the dropdown (when above the input) was a little too low if there were images in the dropdown. It was because the images are loaded after the positioning of the dropdown and no height was defined for these images. task-2900529 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#101684 Forward-Port-Of: odoo/odoo#97305
This [first commit] removes the addition and removal of classes on the color picker preview. So far so good, then this [other commit] puts back the class addition but forgets the removal so the preview of the color picker widget kept the old values when they were `bg-*` which could lead to a bad preview of the selected color. This commit fixes that by removing the old values when a new value is set. Steps to reproduce the bug fixed by this commit: - Go to the website app - Edit a page - Drop
Original PR description
This [first commit] removes the addition and removal of classes on the color picker preview. So far so good, then this [other commit] puts back the class addition but forgets the removal so the…
This [first commit] removes the addition and removal of classes on the color picker preview. So far so good, then this [other commit] puts back the class addition but forgets the removal so the preview of the color picker widget kept the old values when they were `bg-*` which could lead to a bad preview of the selected color. This commit fixes that by removing the old values when a new value is set. Steps to reproduce the bug fixed by this commit: - Go to the website app - Edit a page - Drop a Picture block - Change the background color of the block to bg-black for example - Change again the background color of the block to a custom color => The preview of the custom color is not correct, it is still black. [first commit]: https://github.com/odoo/odoo/commit/212a8bfdd21269b18054200b9e2585e1c95540d6 [other commit]: https://github.com/odoo/odoo/commit/a396f791da94d064d58cce15892e74f45d29b7b7 task-2904507 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100645
Before this commit, printing an invoice which is not created yet reloaded the view with a new record. Now, the view reloads with the current record. Forward-Port-Of: odoo/odoo#101857
Original PR description
Before this commit, printing an invoice which is not created yet reloaded the view with a new record. Now, the view reloads with the current record. Forward-Port-Of: odoo/odoo#101857
Steps to reproduce: - have a project with a stage having the user_id set to Mitchell Admin (in this scenario you would have to add the field in the view) - create a task in this stage - log in with Marc Demo - Try to open the project Issue: There will be an access error Cause: The domain allows to fetch all tasks from a project; even those from a prohibited stage Solution: - As in d4252825f52a3172420dcda0ea394e42da9f8853, we'll restrict the domain and "hide task stages if user is
Original PR description
Steps to reproduce: - have a project with a stage having the user_id set to Mitchell Admin (in this scenario you would have to add the field in the view) - create a task in this stage - log in with Marc Demo - Try to open the project Issue: There will be an access error Cause: The domain allows to fetch all tasks from a project; even those from a prohibited stage Solution: - As in d4252825f52a3172420dcda0ea394e42da9f8853, we'll restrict the domain and "hide task stages if user is set". - Prevent the user to create/modify a record to it with with a `user_id` and `project_ids` opw-2917631 X-original-commit: 7727c09a0c32416c7c4febec91002e8339b65ba5 Forward-Port-Of: odoo/odoo#101919
In the list view of bank statement, when we group by statement we would like to be able to see the latest running balance in the groupby line. That way we can easily see the "ending balance" of each statement which is a huge help for the accountant Forward-Port-Of: odoo/odoo#101612
Original PR description
In the list view of bank statement, when we group by statement we would like to be able to see the latest running balance in the groupby line. That way we can easily see the "ending balance" of each statement which is a huge help for the accountant Forward-Port-Of: odoo/odoo#101612
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding UOM or days. Since odoo/odoo#99417, and the fact back-end views are cached, keys on which the model views depends on for the cache must be added through an override of the method `_get_view_cache_key`. Without this revision, if a database has one company using hours as timesheet encoding uom, a
Original PR description
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding…
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding UOM or days. Since odoo/odoo#99417, and the fact back-end views are cached, keys on which the model views depends on for the cache must be added through an override of the method `_get_view_cache_key`. Without this revision, if a database has one company using hours as timesheet encoding uom, and a second company using days as timesheet encoding uom, the label for one of the two company could be wrong according to which user/company accessed first the view, for which company the view has been put in the cache first. These overrides of `_get_view` should be replaced by another mechanism, for instance by a Javascript widget, as this mechanism doesn't really make sense when browsing multiple companies at a time (selecting multiple companies in the companies dropdown menu). When going from one record to another with the left/right arrows, the company can depend from one record to another, and therefore the label should change from one record to another according to its company, which is not the case with the current implementation. It could also be achieved by setting two different labels, with an invisible attrs based on a related field of company.timesheet_encode_uom_id. However, as we are close to release, and 16.0 is already frozen, no unstable changes should be done, hence I restore the behavior which was there before odoo/odoo#99417. Related to odoo/enterprise#31888 Forward-Port-Of: odoo/odoo#101356
[FIX] website: remove 'Odoo' prefix on the WebsitePreview document title Before this commit, the WebsitePreview document title was not completely replaced with the iframe's one: it was still prefixed by 'Odoo - ' by the title service. Now, the WebsitePreview, introduced in [1], is adapted to remove the 'zopenerp' part when replacing the title (and adding it again when unmounted). While doing this, the backend's favicon is also changed with the frontend's one, to be consistent with dis
Original PR description
[FIX] website: remove 'Odoo' prefix on the WebsitePreview document title Before this commit, the WebsitePreview document title was not completely replaced with the iframe's one: it was still prefixed…
[FIX] website: remove 'Odoo' prefix on the WebsitePreview document title Before this commit, the WebsitePreview document title was not completely replaced with the iframe's one: it was still prefixed by 'Odoo - ' by the title service. Now, the WebsitePreview, introduced in [1], is adapted to remove the 'zopenerp' part when replacing the title (and adding it again when unmounted). While doing this, the backend's favicon is also changed with the frontend's one, to be consistent with displaying the frontend document title only. This commit also adds an effect on the Optimize SEO dialog, so that the document title matches the user's input. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b task-2687506 ----- [FIX] web_editor, website: fix website edition with rtl languages Before this commit, for the following flow: - Add arabic language (or any other rtl language), - On one of the websites, set it as the only website's language, - Reload and go to the client action, => The frontend is correctly displayed in rtl, - Click on edit, => The frontend, in the iframe, is reverted to ltr, The WysiwygAdapter, introduced in [1], was not passing the correct direction option to the OdooEditor, which would revert the editable to the default 'ltr' direction. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b task-2687506 ----- [FIX] website: hide "Editor Menu" on translatable websites Before this commit, the Editor Menu was confusing when opened for a translatable website: it would list the menus in the user's language, not in the displayed website's language. First, this commit shows that menu only for websites in their default language, as the user should edit his website structure in the default language. Secondly, the 'get_tree' and 'save' requests on the website menus are done with the website's language, not the user's language. This commit also fixes a bug introduced with [1]: the website override of the start method of the SnippetsMenu was incorrectly done. In translate mode, it should not activate snippets on clicks, otherwise, the LinkPopover was instantiated when clicking on navbar menus, allowing to edit the menus from the translate mode, and breaking it. [1]: https://github.com/odoo/odoo/commit/df1869153a90898bad3e0b61e5fc43a9ed3d59c9 task-2687506 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100039
Forward-Port-Of: odoo/odoo#101890
Original PR description
Forward-Port-Of: odoo/odoo#101890
Since the bank statements have been removed, we don't have anymore a stat button to show the bank statement. So we re)introduce a button that display the statement lines. caused by: https://github.com/odoo/odoo/pull/99092 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#101865
Original PR description
Since the bank statements have been removed, we don't have anymore a stat button to show the bank statement. So we re)introduce a button that display the statement lines. caused by: https://github.com/odoo/odoo/pull/99092 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#101865
During tests, when matching ir.mail_server has `smtp_encryption` set to `starttls`, connect() will crash with an AttributeError as follows: ```python 2022-09-22 07:04:27,882 20445 ERROR tests-150-starttls odoo.addons.base.tests.test_ir_mail_server: ERROR: TestIrMailServer.test_mail_server_send_email Traceback (most recent call last): File "/home/odoo/src/odoo/15.0/odoo/tools/misc.py", line 804, in deco return func(*args, **kwargs) File "/home/odoo/src/odoo/15.0/odoo/addons/base/te
Original PR description
During tests, when matching ir.mail_server has `smtp_encryption` set to `starttls`, connect() will crash with an AttributeError as follows: ```python 2022-09-22 07:04:27,882 20445 ERROR…
During tests, when matching ir.mail_server has `smtp_encryption` set to `starttls`, connect() will crash with an AttributeError as follows:
```python
2022-09-22 07:04:27,882 20445 ERROR tests-150-starttls odoo.addons.base.tests.test_ir_mail_server: ERROR: TestIrMailServer.test_mail_server_send_email Traceback (most recent call last):
File "/home/odoo/src/odoo/15.0/odoo/tools/misc.py", line 804, in deco
return func(*args, **kwargs)
File "/home/odoo/src/odoo/15.0/odoo/addons/base/tests/test_ir_mail_server.py", line 261, in test_mail_server_send_email
IrMailServer.send_email(message, mail_server_id=self.server_domain.id)
File "/home/odoo/src/odoo/15.0/odoo/addons/base/models/ir_mail_server.py", line 575, in send_email
smtp = self.connect(
File "/usr/lib/python3.8/unittest/mock.py", line 1081, in __call__
return self._mock_call(*args, **kwargs)
File "/usr/lib/python3.8/unittest/mock.py", line 1085, in _mock_call
return self._execute_mock_call(*args, **kwargs)
File "/usr/lib/python3.8/unittest/mock.py", line 1146, in _execute_mock_call
result = effect(*args, **kwargs)
File "/home/odoo/src/odoo/15.0/odoo/addons/base/models/ir_mail_server.py", line 313, in connect
connection.starttls(context=ssl_context)
AttributeError: 'TestingSMTPSession' object has no attribute 'starttls'
```
This commit adds a dummy `starttls()` method to `TestingSMTPSession` to gracefully handle such case.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#100779task-2998137 enterprise: https://github.com/odoo/enterprise/pull/31952 Forward-Port-Of: odoo/odoo#101469
Original PR description
task-2998137 enterprise: https://github.com/odoo/enterprise/pull/31952 Forward-Port-Of: odoo/odoo#101469
Purpose: -------- When opening one of the sample surveys, the name of the survey was not displayed entirely, and deleting the sample survey didn't do anything. Specs: ------- Removed "target" parameter of the show sample action which was set to "main", which clears the breadcrumbs. Since the breadcrumbs were cleared, when opening a sample, one could not go back to the kanban view and was stuck in the form view when deleting the sample. Task-3004137 Forward-Port-Of: odoo/odoo#10
Original PR description
Purpose: -------- When opening one of the sample surveys, the name of the survey was not displayed entirely, and deleting the sample survey didn't do anything. Specs: ------- Removed "target" parameter of the show sample action which was set to "main", which clears the breadcrumbs. Since the breadcrumbs were cleared, when opening a sample, one could not go back to the kanban view and was stuck in the form view when deleting the sample. Task-3004137 Forward-Port-Of: odoo/odoo#101893
*: website_blog, website_forum, website_hr_recruitment, website_sale, website_slides The goal of this PR is to add some fixes on website "pages" list / kanban views after [1]. [1]: https://github.com/odoo/odoo/pull/101319 Related to task-2889981 Forward-Port-Of: odoo/odoo#101332
Original PR description
*: website_blog, website_forum, website_hr_recruitment, website_sale, website_slides The goal of this PR is to add some fixes on website "pages" list / kanban views after [1]. [1]: https://github.com/odoo/odoo/pull/101319 Related to task-2889981 Forward-Port-Of: odoo/odoo#101332
In some place the search params are mandatory in the route. We now add the search params to the editedObjectPath to avoid having an error when trying to go back. task-2993826 Forward-Port-Of: odoo/odoo#101011
Original PR description
In some place the search params are mandatory in the route. We now add the search params to the editedObjectPath to avoid having an error when trying to go back. task-2993826 Forward-Port-Of: odoo/odoo#101011
The util method to get the key was removed with [1] as no more useful in our codebase. But it was still actually needed for internal reason [2]. This commit restores that. [1]: https://github.com/odoo/odoo/commit/e10493711879c7f0cc8832db3f1936c622ea605c [2]: https://github.com/odoo/internal/commit/de3532b3640793049d356c659df0497edd9a7fc6 Forward-Port-Of: odoo/odoo#101875
Original PR description
The util method to get the key was removed with [1] as no more useful in our codebase. But it was still actually needed for internal reason [2]. This commit restores that. [1]: https://github.com/odoo/odoo/commit/e10493711879c7f0cc8832db3f1936c622ea605c [2]: https://github.com/odoo/internal/commit/de3532b3640793049d356c659df0497edd9a7fc6 Forward-Port-Of: odoo/odoo#101875
Since it was introduced with [1], only the key could be added in the settings, but not the app id. Still, both are needed to actually use unsplash, otherwise it won't work and the media dialog will keep showing the crendentials part, where one can also add its credentials. Basically, without the app id field, the access key field was useless in the settings. [1]: https://github.com/odoo/enterprise/commit/88746157ca16af4033576361dddae0b694aca70d Forward-Port-Of: odoo/odoo#101885
Original PR description
Since it was introduced with [1], only the key could be added in the settings, but not the app id. Still, both are needed to actually use unsplash, otherwise it won't work and the media dialog will keep showing the crendentials part, where one can also add its credentials. Basically, without the app id field, the access key field was useless in the settings. [1]: https://github.com/odoo/enterprise/commit/88746157ca16af4033576361dddae0b694aca70d Forward-Port-Of: odoo/odoo#101885
Followup on d8d47f9ff8554f4b39487fd2f13c153c7d6f958d [task-2956509](https://www.odoo.com/web#id=2956509&model=project.task) Forward-Port-Of: odoo/odoo#98414
Original PR description
Followup on d8d47f9ff8554f4b39487fd2f13c153c7d6f958d [task-2956509](https://www.odoo.com/web#id=2956509&model=project.task) Forward-Port-Of: odoo/odoo#98414
Steps to reproduce: - Select a company whose currency is USD. - Create an invoice in EUR. - Go to the "Journal Items" tab. The amounts in the "Debit" and "Credit" columns are correct, but the currency symbol is € (invoice currency) instead of $ (company currency). This should not happen since both of these fields have `currency_field='company_currency_id'` in their definition: https://github.com/odoo/odoo/blob/702adc878e897461c4c9976110cee84d397ff4af/addons/account/models/account_move_
Original PR description
Steps to reproduce: - Select a company whose currency is USD. - Create an invoice in EUR. - Go to the "Journal Items" tab. The amounts in the "Debit" and "Credit" columns are correct, but the…
Steps to reproduce: - Select a company whose currency is USD. - Create an invoice in EUR. - Go to the "Journal Items" tab. The amounts in the "Debit" and "Credit" columns are correct, but the currency symbol is € (invoice currency) instead of $ (company currency). This should not happen since both of these fields have `currency_field='company_currency_id'` in their definition: https://github.com/odoo/odoo/blob/702adc878e897461c4c9976110cee84d397ff4af/addons/account/models/account_move_line.py#L90-L99 But since those fields fulfill the conditions in `canUseFormatter`: https://github.com/odoo/odoo/blob/702adc878e897461c4c9976110cee84d397ff4af/addons/web/static/src/views/list/list_renderer.xml#L228-L229 `currencyField` remains undifined in the `formatOptions` when going through `getFormattedValue`: https://github.com/odoo/odoo/blob/702adc878e897461c4c9976110cee84d397ff4af/addons/web/static/src/views/list/list_renderer.js#L722-L734 Which is why the current fix looks at `options.field.currency_field` before falling back to `currency_id` when setting `currencyField`. A test is also added to make sure the issue does not creep back in again. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#100836
Prior to this fix, it was possible to move to trash an article that was set on a helpdesk team as website_article_id. As a consequence, clicking on 'Browse Articles', on the website help page led to an empty page or an error. Now, a validation error is displayed when trying to move to trash. task-3002241 Forward-Port-Of: odoo/enterprise#32093
Original PR description
Prior to this fix, it was possible to move to trash an article that was set on a helpdesk team as website_article_id. As a consequence, clicking on 'Browse Articles', on the website help page led to an empty page or an error. Now, a validation error is displayed when trying to move to trash. task-3002241 Forward-Port-Of: odoo/enterprise#32093
This PR fixes two problems in the automatic generation and deletion of project folders: - In `documents_project`, the folders are generated based on the domain defined in the `_get_basic_project_domain` method. This can create inconsistenties when installing documents while fsm is already installed, where a fsm project will have `use_documents` to True, but no folder will be generated. - In `documents_fsm`, the folders are removed for fsm projects but the `use_documents` field is not set to
Original PR description
This PR fixes two problems in the automatic generation and deletion of project folders: - In `documents_project`, the folders are generated based on the domain defined in the `_get_basic_project_domain` method. This can create inconsistenties when installing documents while fsm is already installed, where a fsm project will have `use_documents` to True, but no folder will be generated. - In `documents_fsm`, the folders are removed for fsm projects but the `use_documents` field is not set to False, which causes an error when editing those projects because the folder is then required but not set Forward-Port-Of: odoo/enterprise#32197
Purpose: - - Replace app's PNG icon with SVG icon. - Make clicks in "Publish Article" panel publish/unpublish the article (not needed to aim the toggle anymore). - Change filters and groups in the search view. - Make width of narrow style a little bit larger. Task-2980724 Forward-Port-Of: odoo/enterprise#32097
Original PR description
Purpose: - - Replace app's PNG icon with SVG icon. - Make clicks in "Publish Article" panel publish/unpublish the article (not needed to aim the toggle anymore). - Change filters and groups in the search view. - Make width of narrow style a little bit larger. Task-2980724 Forward-Port-Of: odoo/enterprise#32097
Before this PR, the sign request activity was not converted to wowl. Moreover, a traceback occured when executing the sign request action. The traceback occured because we were trying to execute the `sign.SignableDocument` action even if the user had no authority to sign the document. This PR restores the sign request activity and fixes this issue. task-2998137 community: https://github.com/odoo/odoo/pull/101469 Forward-Port-Of: odoo/enterprise#31952
Original PR description
Before this PR, the sign request activity was not converted to wowl. Moreover, a traceback occured when executing the sign request action. The traceback occured because we were trying to execute the `sign.SignableDocument` action even if the user had no authority to sign the document. This PR restores the sign request activity and fixes this issue. task-2998137 community: https://github.com/odoo/odoo/pull/101469 Forward-Port-Of: odoo/enterprise#31952
There were 2 issues that appeared after the accounting rework of Odoo 16 : - Tax rounding incorrectly applied with large difference between OCR total and Odoo computed total - Tax prediction done after invoice lines creation by the OCR, leaving incoherent taxes with regards to what was detected Forward-Port-Of: odoo/enterprise#32121
Original PR description
There were 2 issues that appeared after the accounting rework of Odoo 16 : - Tax rounding incorrectly applied with large difference between OCR total and Odoo computed total - Tax prediction done after invoice lines creation by the OCR, leaving incoherent taxes with regards to what was detected Forward-Port-Of: odoo/enterprise#32121
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding UOM or days. Since odoo/odoo#99417, and the fact back-end views are cached, keys on which the model views depends on for the cache must be added through an override of the method `_get_view_cache_key`. Without this revision, if a database has one company using hours as timesheet encoding uom, a
Original PR description
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding…
`hr_timesheet`, and other timesheet related modules, overrides `_get_view` to change some timesheet time field label from "Hours" to "Days" according if the company uses hours as timesheet encoding UOM or days. Since odoo/odoo#99417, and the fact back-end views are cached, keys on which the model views depends on for the cache must be added through an override of the method `_get_view_cache_key`. Without this revision, if a database has one company using hours as timesheet encoding uom, and a second company using days as timesheet encoding uom, the label for one of the two company could be wrong according to which user/company accessed first the view, for which company the view has been put in the cache first. These overrides of `_get_view` should be replaced by another mechanism, for instance by a Javascript widget, as this mechanism doesn't really make sense when browsing multiple companies at a time (selecting multiple companies in the companies dropdown menu). When going from one record to another with the left/right arrows, the company can depend from one record to another, and therefore the label should change from one record to another according to its company, which is not the case with the current implementation. It could also be achieved by setting two different labels, with an invisible attrs based on a related field of company.timesheet_encode_uom_id. However, as we are close to release, and 16.0 is already frozen, no unstable changes should be done, hence I restore the behavior which was there before odoo/odoo#99417. Related to odoo/odoo#101356 Forward-Port-Of: odoo/enterprise#31888
Forward-Port-Of: odoo/enterprise#32099
Original PR description
Forward-Port-Of: odoo/enterprise#32099
This commit adapts the props of ActionMenus since they changed. Forward-Port-Of: odoo/enterprise#32148
Original PR description
This commit adapts the props of ActionMenus since they changed. Forward-Port-Of: odoo/enterprise#32148
Task-2998282. \* = approvals, crm_enterprise, documents, knowledge, sign, voip, voip_onsip, website_helpdesk Community: https://github.com/odoo/odoo/pull/101282 Forward-Port-Of: odoo/enterprise#31866
Original PR description
Task-2998282. \* = approvals, crm_enterprise, documents, knowledge, sign, voip, voip_onsip, website_helpdesk Community: https://github.com/odoo/odoo/pull/101282 Forward-Port-Of: odoo/enterprise#31866
Fix the UI issue with uninterpreted characters on rental wizard and in the pricing tab. task-3001171 Forward-Port-Of: odoo/enterprise#32074
Original PR description
Fix the UI issue with uninterpreted characters on rental wizard and in the pricing tab. task-3001171 Forward-Port-Of: odoo/enterprise#32074
Fix the test so that in now works with the new always-edit mode. Forward-Port-Of: odoo/enterprise#32065
Original PR description
Fix the test so that in now works with the new always-edit mode. Forward-Port-Of: odoo/enterprise#32065
Forward-Port-Of: odoo/enterprise#31955
Original PR description
Forward-Port-Of: odoo/enterprise#31955
Fix the eu OSS tax report which incorrectly call a private function (_export_to_xml) instead of the one defined in the custom handler Forward-Port-Of: odoo/enterprise#31979
Original PR description
Fix the eu OSS tax report which incorrectly call a private function (_export_to_xml) instead of the one defined in the custom handler Forward-Port-Of: odoo/enterprise#31979
Purpose ======= Refunds are automatically inverting the line signs, don't try to magically guess the line signs when posting the accounting entries as it won't be relevant with what was computed. TaskID: 2995358 Forward-Port-Of: odoo/enterprise#31825 Forward-Port-Of: odoo/enterprise#31764
Original PR description
Purpose ======= Refunds are automatically inverting the line signs, don't try to magically guess the line signs when posting the accounting entries as it won't be relevant with what was computed. TaskID: 2995358 Forward-Port-Of: odoo/enterprise#31825 Forward-Port-Of: odoo/enterprise#31764
This commit removes unecessary overrides of the Notebook component styling in the Form and Kanban columns examples. Additionally, it also moves the most generic styles (like responsive) into the Notebook component itself. Related PR in community: https://github.com/odoo/odoo/pull/101355 Forward-Port-Of: odoo/enterprise#32067
Original PR description
This commit removes unecessary overrides of the Notebook component styling in the Form and Kanban columns examples. Additionally, it also moves the most generic styles (like responsive) into the Notebook component itself. Related PR in community: https://github.com/odoo/odoo/pull/101355 Forward-Port-Of: odoo/enterprise#32067
Before this commit: If you try to ship within the same country with EasyPost, you would receive an error from EasyPost API: `Easypost returned an error: 1100683: International Information cannot be specified for Domestic Shipments.` According to: https://www.easypost.com/customs-guide ``` When shipping internationally, you go through the same steps as shipping domestically, except that you need to add customs information to your shipment. [...] You need to pass customs information whenever y
Original PR description
Before this commit: If you try to ship within the same country with EasyPost, you would receive an error from EasyPost API: `Easypost returned an error: 1100683: International Information cannot be specified for Domestic Shipments.` According to: https://www.easypost.com/customs-guide ``` When shipping internationally, you go through the same steps as shipping domestically, except that you need to add customs information to your shipment. [...] You need to pass customs information whenever you are shipping between two countries. ``` After this commit: The custom information process is skipped if it is a domestic shipping. So it goes through as intended OPW-2949124 (Manual) Forward-Port-Of: odoo/enterprise#30871 Forward-Port-Of: odoo/enterprise#31205
1. Go to Projects -> edit 2. Click on the "Assets" smart button 3. Try to create an asset -> Traceback This happens because the `asset_type` depends on the context and it is better to explicitly pass it to the view. task-2927428 Forward-Port-Of: odoo/enterprise#32092 Forward-Port-Of: odoo/enterprise#31847
Original PR description
1. Go to Projects -> edit 2. Click on the "Assets" smart button 3. Try to create an asset -> Traceback This happens because the `asset_type` depends on the context and it is better to explicitly pass it to the view. task-2927428 Forward-Port-Of: odoo/enterprise#32092 Forward-Port-Of: odoo/enterprise#31847
The primary action_invoice_subscription button and the non primary one have the same id. Id should be unique by element, it will make inheritance easier. Forward-Port-Of: odoo/enterprise#32107
Original PR description
The primary action_invoice_subscription button and the non primary one have the same id. Id should be unique by element, it will make inheritance easier. Forward-Port-Of: odoo/enterprise#32107
The Alerts menu item is now hidden for users who are not allowed to access it. task-3001169 Forward-Port-Of: odoo/enterprise#32004
Original PR description
The Alerts menu item is now hidden for users who are not allowed to access it. task-3001169 Forward-Port-Of: odoo/enterprise#32004
With the introduction of cfdi 4.0, the MX gov decided that the name given of the supplier and the customer should be an official name. (so they would check if RFC and name match or something) But sometimes people put the name of their company or customer as e.g. Odoo SA or Odoo Technologies SL to include the type of company, but in the XML it will not want the SA, SL or S de RL (de CV) and as such we put a little heuristic that removes it automatically when the company name or partner name
Original PR description
With the introduction of cfdi 4.0, the MX gov decided that the name given of the supplier and the customer should be an official name. (so they would check if RFC and name match or something) But sometimes people put the name of their company or customer as e.g. Odoo SA or Odoo Technologies SL to include the type of company, but in the XML it will not want the SA, SL or S de RL (de CV) and as such we put a little heuristic that removes it automatically when the company name or partner name has it to hopefully already match the official name with the MX gov. Forward-Port-Of: odoo/enterprise#31514
Forward-Port-Of: odoo/enterprise#31666
Original PR description
Forward-Port-Of: odoo/enterprise#31666
The actions to open the detail of the tax grids were using the _get_options_domain method from the account.report model. But since this report is no longer inheriting account.report, it doesn't work anymore. Adapt the call to _get_options_domain to properly use the account.report. Forward-Port-Of: odoo/enterprise#31897
Original PR description
The actions to open the detail of the tax grids were using the _get_options_domain method from the account.report model. But since this report is no longer inheriting account.report, it doesn't work anymore. Adapt the call to _get_options_domain to properly use the account.report. Forward-Port-Of: odoo/enterprise#31897
[IMP] account_accountant: Add reconciliation cog to bank recon [IMP] handle too many and too large recon models [FIX] searchbar not displayed on the down panel of bank recon form [FIX] non-standard table look for top panel of bank recon form [FIX] Liquidity lines are bold instead of shaded [FIX] Two columns displayed on the left of the bank recon in large screens --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#
Original PR description
[IMP] account_accountant: Add reconciliation cog to bank recon [IMP] handle too many and too large recon models [FIX] searchbar not displayed on the down panel of bank recon form [FIX] non-standard table look for top panel of bank recon form [FIX] Liquidity lines are bold instead of shaded [FIX] Two columns displayed on the left of the bank recon in large screens --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#31934