Monday, June 3, 2024
35 changes · saas-17.1
Enhancements to existing features
This update adds a short explanatory note to one of the hotkey settings. It helps users better understand what the option does, reducing confusion when configuring keyboard shortcuts.
Original PR description
Adds a bit more information regarding one option for hotkeys.
Resolved issues and error corrections
This fixes an issue where leaving a Discuss channel could trigger an unnecessary request to reload information for the channel just left. The change makes the leave action cleaner and avoids wasted background activity, improving reliability without changing the user workflow.
Original PR description
When a channel is left, a `discuss.channel/new_message` and a `discuss.channel/leave` notifications are received from the bus in the same batch. Before [1], we checked if a `discuss.channel/leave` notification was received as part of the same batch and we ignore the `discuss.channel/new_message` one if it was the case. After [1], the check is not done anymore which results in fetching the channel infos of the channel that was just left. This PR adapts the code to only remove the channel member of the current user instead of deleting the whole channel. This prevents the channel info request since it is already known. Steps to reproduce the issue: - Go to the discuss app - Join a channel - Leave the channel - Notice that à call to `/discuss/channel/info` was done for the channel that was left. [1]: https://github.com/odoo/odoo/pull/147747
Miscellaneous changes
Getting link preview on invalid links creates problems (eg: https://..), which results in sms and mail to be stuck in a queue and not being sent. task-3729538 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#167373
Original PR description
Getting link preview on invalid links creates problems (eg: https://..), which results in sms and mail to be stuck in a queue and not being sent. task-3729538 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#167373
This update keeps accounting reports compatible with newer Ubuntu system packages. It prevents report export and formatting issues caused by changes in underlying image and spreadsheet libraries, helping ensure stable report generation after platform upgrades.
Original PR description
[FIX] account_reports: adapt pil usage for ubuntu noble
The `getsize` method on a FreeTypeFont object was deprecated [0] in Pillow
9.2.0. Ubuntu Noble provides Pillow 10.2.0. They advise to use `getbbox`
which is already available in Pillow 9.0.1 provided by Ubuntu Jammy.
See: https://pillow.readthedocs.io/en/stable/releasenotes/9.2.0.html#font-size-and-offset-methods
[FIX] account_report: adapt xlsxwriter usage for ubuntu noble
The `col_sizes` attribute on an worksheet was removed in xlsxwriter
version 3.0.6 [0]. Ubuntu Noble provides xlsxwriter 3.1.9.
The xlsxwriter author advises [1] to use the `col_info` attribute
instead, but this attribute appeared in 3.0.6 too (rename of `colinfo`).
With this commit, the version is checked in order to use the right
attribute.
See: jmcnamara/XlsxWriter@860f4a2404549aca1eccf9bf8361df95dc574f44
and jmcnamara/XlsxWriter#937[FIX] base_import_module: fix the tree view Steps to Reproduce: When we click on tree view of industry its showing the error that can't fetch record they might have been deleted. Issue: In Kanban, it works because we passed the context on the xml side, however in the tree view, we can't access those contexts, and because the modules aren't stored, we only get the resId as -1. Fix: So we restricted the click and no redirect on the tree view, and as an alternative, we introduc
Original PR description
[FIX] base_import_module: fix the tree view Steps to Reproduce: When we click on tree view of industry its showing the error that can't fetch record they might have been deleted. Issue: In Kanban, it works because we passed the context on the xml side, however in the tree view, we can't access those contexts, and because the modules aren't stored, we only get the resId as -1. Fix: So we restricted the click and no redirect on the tree view, and as an alternative, we introduced a More Info button that redirects us to the form view. Task - 3834095 Forward-Port-Of: odoo/odoo#166470
Before PR: --- If the invoice has already been sent to the government, then it's allowed to change in sequence. After PR: --- The sequence can't be changed once the invoice is created and sent to the government. task ID :- 3254322 Forward-Port-Of: odoo/odoo#167691 Forward-Port-Of: odoo/odoo#123899
Original PR description
Before PR: --- If the invoice has already been sent to the government, then it's allowed to change in sequence. After PR: --- The sequence can't be changed once the invoice is created and sent to the government. task ID :- 3254322 Forward-Port-Of: odoo/odoo#167691 Forward-Port-Of: odoo/odoo#123899
Problem --- When creating/editing expenses, if the user doesn't have any access rights to employee, a ValueError is thrown when clicking the employee field. The Error happens because the model used for employees for users without access is `hr.employee.public` instead of the usual `hr.employee` and `hr.employee.public` does not define the `filter_for_expense` field, which is used for searching / filtering employees to set. Fix --- `hr.employee` and `hr.employee.public` both inheri
Original PR description
Problem --- When creating/editing expenses, if the user doesn't have any access rights to employee, a ValueError is thrown when clicking the employee field. The Error happens because the model used for employees for users without access is `hr.employee.public` instead of the usual `hr.employee` and `hr.employee.public` does not define the `filter_for_expense` field, which is used for searching / filtering employees to set. Fix --- `hr.employee` and `hr.employee.public` both inherit from `hr.employee.base`, therefore we can put the search field and method, into an `hr.expense` child model of `hr.employee.base`. Note that (as far as I understand) this will not break stable because the `filter_for_expense` field is `store=False`. opw-3858951 Forward-Port-Of: odoo/odoo#164960
Go to Accounting > Configuration > Journals Delete the EXCH journal Go to Settings > Companies, open the main company Try to create a new branch Traceback comes up: "ValueError: External ID not found in the system: account.2_exch" This occurs because when setting up the new company we are looking for the ref 'exch'. The system will look for the xmlid `account.<company_id>_exch` but the journal has been deleted so it will not be found. A solution is to avoid blocking the company c
Original PR description
Go to Accounting > Configuration > Journals Delete the EXCH journal Go to Settings > Companies, open the main company Try to create a new branch Traceback comes up: "ValueError: External ID not found in the system: account.2_exch" This occurs because when setting up the new company we are looking for the ref 'exch'. The system will look for the xmlid `account.<company_id>_exch` but the journal has been deleted so it will not be found. A solution is to avoid blocking the company creation, the user will need to create the missing journal afterward opw-3932849 Forward-Port-Of: odoo/odoo#167407
**Steps to reproduce:** - open attendance module - go to overview and create a new attendance within 5:30 AM **Issue:** - Extra hours[overtime_hours] are not calculated accurately[output = 0]. **Cause:** The [SQL Query](https://github.com/odoo/odoo/blob/17.0/addons/hr_attendance/models/hr_attendance.py#L77-L91) [condition : date_trunc('day',att.check_in) = date_trunc('day', ot.date)] compares `att.check_in` time stored in UTC with `ot.date` stored in employee timezone, leading to inco
Original PR description
**Steps to reproduce:** - open attendance module - go to overview and create a new attendance within 5:30 AM **Issue:** - Extra hours[overtime_hours] are not calculated accurately[output = 0].…
**Steps to reproduce:**
- open attendance module
- go to overview and create a new attendance within 5:30 AM
**Issue:**
- Extra hours[overtime_hours] are not calculated accurately[output = 0].
**Cause:**
The [SQL Query](https://github.com/odoo/odoo/blob/17.0/addons/hr_attendance/models/hr_attendance.py#L77-L91)
[condition : date_trunc('day',att.check_in) = date_trunc('day', ot.date)] compares `att.check_in` time stored in UTC with `ot.date` stored in employee timezone, leading to incorrect calculations.
**Solution:**
Modify SQL query to convert `att.check_in` time to employee timezone before comparison with `ot.date`.
In saas-16.4, This [SQL Query](https://github.com/odoo/odoo/blob/saas-16.4/addons/hr_attendance/report/hr_attendance_report.py#L40-L46) is responsible for converting `check_in` time to employee
timezone.
Description of the issue/feature this PR addresses:
**Current behavior before PR:**
RUNBOT-17.0

**Desired behavior after PR is merged:**

UPG - 1573228
TASK - 3900287
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#166302Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers / Receipts and create a receipt, add 'Receive From', and also add 'Product' and 'Demand' in Operations. - Click on 'Validate' then click on 'Return', and open 'Detailed Operations'. - Now try to create a new stock quant (Pick From) from a list view. ```ValueError: Wrong container value 'WH/
Original PR description
Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers /…
Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers / Receipts and create a receipt, add 'Receive From', and also add 'Product' and 'Demand' in Operations. - Click on 'Validate' then click on 'Return', and open 'Detailed Operations'. - Now try to create a new stock quant (Pick From) from a list view. ```ValueError: Wrong container value 'WH/Stock'``` An error occurs when attempting to create or edit a 'picked'(Pick From) in the list view of 'Detailed Operations' and the system raises a value error at [1] as 'product_id takes a string instead of an integer' in default values. link[1]: https://github.com/odoo/odoo/blob/259cba71690c500c335a4a2c43e4c606697bc817/odoo/fields.py#L3582-L3583 To resolve the issue, restricted to creating a stock quant from the 'Detailed Operations' list view sentry-5089715517 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#165705
**Current behavior:** Using the Delivery smart button in a rental order and then clicking on a picking listed causes a traceback in some flows. **Expected behavior:** The picking form opens. **Steps to reproduce:** *Install sale_stock_renting* 1. Create a new rental order with some rental product and at least 2 storable products 2. Confirm the order and go to the Schedule overview 3. Click on the new order and then on the stock picking smart button (Delivery) 4. Click on any o
Original PR description
**Current behavior:** Using the Delivery smart button in a rental order and then clicking on a picking listed causes a traceback in some flows. **Expected behavior:** The picking form opens. **Steps to reproduce:** *Install sale_stock_renting* 1. Create a new rental order with some rental product and at least 2 storable products 2. Confirm the order and go to the Schedule overview 3. Click on the new order and then on the stock picking smart button (Delivery) 4. Click on any of the pickings listed in the tree view -> Traceback **Cause of the issue:** We load the rental order from the Schedule view with some "form_view_ref" context. We still have this context once we navigate to the picking tree view and it results in the incorrect view being loaded and model fields being accessed which don't exist. **Fix:** Clean the context in the action before serving the new view. opw-3813524 Forward-Port-Of: odoo/odoo#166963
## Description: Previously, when entering a pivot and applying a filter domain, the pivot formula (without domain field and domain value in function parameter) would return 'FALSE' if it did not match any records. The code now checks the value and returns an empty string if it's 'FALSE'. Task - [3888401](https://www.odoo.com/web#id=3888401&cids=2&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at w
Original PR description
## Description: Previously, when entering a pivot and applying a filter domain, the pivot formula (without domain field and domain value in function parameter) would return 'FALSE' if it did not match any records. The code now checks the value and returns an empty string if it's 'FALSE'. Task - [3888401](https://www.odoo.com/web#id=3888401&cids=2&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#165976
After version >= `16.4` module **repair** is **[using](https://github.com/odoo/odoo/blob/c002aad906bef390d6d7fd5c795a8e6baa5fd31d/addons/repair/models/repair.py#L571-L578)** attribute `_get_default_warehouse_id` which is **[defined](https://github.com/odoo/odoo/blob/c002aad906bef390d6d7fd5c795a8e6baa5fd31d/addons/sale_stock/models/res_users.py#L12-L17)** in module `sale_stock`. There is no dependency between that 2 modules. But as the module `sale_stock` is **autoinstall=1** and its all depen
Original PR description
After version >= `16.4` module **repair** is **[using](https://github.com/odoo/odoo/blob/c002aad906bef390d6d7fd5c795a8e6baa5fd31d/addons/repair/models/repair.py#L571-L578)** attribute…
After version >= `16.4` module **repair** is **[using](https://github.com/odoo/odoo/blob/c002aad906bef390d6d7fd5c795a8e6baa5fd31d/addons/repair/models/repair.py#L571-L578)** attribute `_get_default_warehouse_id` which is **[defined](https://github.com/odoo/odoo/blob/c002aad906bef390d6d7fd5c795a8e6baa5fd31d/addons/sale_stock/models/res_users.py#L12-L17)** in module `sale_stock`. There is no dependency between that 2 modules.
But as the module `sale_stock` is **autoinstall=1** and its all dependencies are being installed when we install `repair` the module **sale_stock** is also being installed automatically. That is why when we install **repair** we will not have any problem on using that attribute. If we uninstall that `sale_stock` we will have problem because `repair` module will not be able to find the attribute `_get_default_warehouse_id`.
For fixing the issue I added that attribute in module `stock` as it is dependent for both of `repair` and `sale_stock`, and also I use the inheritence in module `sale_stock`
**Steps to reproduce:**
1. Install `repair` on `16.0`
2. Uninstall `sale_stock`
3. Try to upgrade to `17.0`
You will error similar to this:
```
File "/home/odoo/src/odoo/17.0/addons/repair/models/repair.py", line 28, in _default_picking_type_id
return self._get_picking_type().get((self.env.company, self.env.user))
File "/home/odoo/src/odoo/17.0/addons/repair/models/repair.py", line 563, in _get_picking_type
default_warehouse = self.env.user.with_company(companies.id)._get_default_warehouse_id()
AttributeError: 'res.users' object has no attribute '_get_default_warehouse_id'
```
upg-1565705
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#166006As the selection badge is not checking if a badge is selected to set the value, when clicking to a badge that is selected yet, is updating the value to itself, so the value does not change.  By checking if the badge is trying to assign the same value, we can set the badge to false.  cc @Te
Original PR description
As the selection badge is not checking if a badge is selected to set the value, when clicking to a badge that is selected yet, is updating the value to itself, so the value does not change.  By checking if the badge is trying to assign the same value, we can set the badge to false.  cc @Tecnativa --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141557 Forward-Port-Of: odoo/odoo#140544
- Before this commit: The system is sending E invoice requests for the Nil, Zero, Exempt, Non GST supply. which is not required by the government, cause of which E-way bill creation for Bill of Supply is not becoming possible. - After this commit: Fix this issue by filtering out invoices that only use Nil, Zero, Exempt, Non GST as their taxes. task - 3957555 Forward-Port-Of: odoo/odoo#167647 Forward-Port-Of: odoo/odoo#167337
Original PR description
- Before this commit: The system is sending E invoice requests for the Nil, Zero, Exempt, Non GST supply. which is not required by the government, cause of which E-way bill creation for Bill of Supply is not becoming possible. - After this commit: Fix this issue by filtering out invoices that only use Nil, Zero, Exempt, Non GST as their taxes. task - 3957555 Forward-Port-Of: odoo/odoo#167647 Forward-Port-Of: odoo/odoo#167337
Problem --- In sales, when variants are disabled from the settings, the variant grid entry / variant configurator is disabled as well. In purchase, it is not. Fix --- Adapt the onchanges from the sale module to get consistent behavior, ie: * variants disabled -> grid disabled * grid enabled -> variants enabled Note: the onchanges are adapted from their equivalent for sales in `product/models/res_config_settings.py`: https://github.com/odoo/odoo/blob/11bd6708111f9063e8927be2ee5ea26a8b
Original PR description
Problem --- In sales, when variants are disabled from the settings, the variant grid entry / variant configurator is disabled as well. In purchase, it is not. Fix --- Adapt the onchanges from the sale module to get consistent behavior, ie: * variants disabled -> grid disabled * grid enabled -> variants enabled Note: the onchanges are adapted from their equivalent for sales in `product/models/res_config_settings.py`: https://github.com/odoo/odoo/blob/11bd6708111f9063e8927be2ee5ea26a8b816398/addons/product/models/res_config_settings.py#L37-L52 opw-3884106 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#163740
[FIX] Correcting the address format for Sweden. The format should be like this: %(street)s %(street2)s %(zip)s %(city)s %(country_name)s --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167479
Original PR description
[FIX] Correcting the address format for Sweden. The format should be like this: %(street)s %(street2)s %(zip)s %(city)s %(country_name)s --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167479
If customer returned to confirmation step,by clicking back arrow from already confirmed sale order in portal view, if they would not refresh they would get an error that this Sale Order is not able to be confirmed. Now, in this case, double confirmation is skipped. opw-3819450 Forward-Port-Of: odoo/odoo#161525
Original PR description
If customer returned to confirmation step,by clicking back arrow from already confirmed sale order in portal view, if they would not refresh they would get an error that this Sale Order is not able to be confirmed. Now, in this case, double confirmation is skipped. opw-3819450 Forward-Port-Of: odoo/odoo#161525
 -According to DECREE 123/2020/ND-CP https://thuvienphapluat.vn/van-ban/Ke-toan-Kiem-toan/Nghi-dinh-123-2020-ND-CP-quy-dinh-hoa-don-chung-tu-445980.aspx (English version required paid to see) the content of invoice need to have amount in word (Article 10 , section D) -> So this commit is to enable it for vn COA by default Description of the issue/feature this PR addresses: Current
Original PR description
 -According to DECREE 123/2020/ND-CP https://thuvienphapluat.vn/van-ban/Ke-toan-Kiem-toan/Nghi-dinh-123-2020-ND-CP-quy-dinh-hoa-don-chung-tu-445980.aspx (English version required paid to see) the content of invoice need to have amount in word (Article 10 , section D) -> So this commit is to enable it for vn COA by default 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#167155
**Description of the issue/feature this PR addresses:** Go to Blacklist Click create --> Impossible to save --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#128230
Original PR description
**Description of the issue/feature this PR addresses:** Go to Blacklist Click create --> Impossible to save --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#128230
Currently, when trying to merge a PDF generated from Google sheet in the PDF quote builder, a traceback happens due to a known problem in older versions of pypdf2. This was fixed in pypdf2 2.4.2 (see: https://github.com/py-pdf/pypdf/commit/02c601c86819578d9796479a1b8953accefea92b ) It doesn't seem to happen with other editors, and google sheet doesn't allow the use of form fields anyway. Forward-Port-Of: odoo/odoo#166901
Original PR description
Currently, when trying to merge a PDF generated from Google sheet in the PDF quote builder, a traceback happens due to a known problem in older versions of pypdf2. This was fixed in pypdf2 2.4.2 (see: https://github.com/py-pdf/pypdf/commit/02c601c86819578d9796479a1b8953accefea92b ) It doesn't seem to happen with other editors, and google sheet doesn't allow the use of form fields anyway. Forward-Port-Of: odoo/odoo#166901
With the popup-styled cookies bar, the cookies policy page is unreadable. It is also the case with all cookies bar with a backdrop. The "discrete" and "classic" bars can also potentially hide the last paragraph(s) of the page. To avoid that, this commit adds a button to toggle the bar on that page. Note that the cookies policy page could be on any URL, but it has to be referenced in the `a.o_cookies_bar_text_policy` link within the cookies bar. task-3733860 Forward-Port-Of: odoo/odo
Original PR description
With the popup-styled cookies bar, the cookies policy page is unreadable. It is also the case with all cookies bar with a backdrop. The "discrete" and "classic" bars can also potentially hide the last paragraph(s) of the page. To avoid that, this commit adds a button to toggle the bar on that page. Note that the cookies policy page could be on any URL, but it has to be referenced in the `a.o_cookies_bar_text_policy` link within the cookies bar. task-3733860 Forward-Port-Of: odoo/odoo#167039 Forward-Port-Of: odoo/odoo#162386
Ubuntu 24.04 Noble ships werkzeug==3.0.1[^1], that version dropped some Py2/Py3 code compatibility to only support Py3. This is the case for the `iri_to_uri` function that since 3.0.0 doesn't support bytes anymore[^2]. Since Odoo 13 only supports Py3 too, it is fine to always decode the query string (which was what `iri_to_uri` was doing anyway). [^1]: https://packages.ubuntu.com/noble/python3-werkzeug [^2]: https://werkzeug.palletsprojects.com/en/3.0.x/urls/ Forward-Port-Of: odoo/odoo#1668
Original PR description
Ubuntu 24.04 Noble ships werkzeug==3.0.1[^1], that version dropped some Py2/Py3 code compatibility to only support Py3. This is the case for the `iri_to_uri` function that since 3.0.0 doesn't support bytes anymore[^2]. Since Odoo 13 only supports Py3 too, it is fine to always decode the query string (which was what `iri_to_uri` was doing anyway). [^1]: https://packages.ubuntu.com/noble/python3-werkzeug [^2]: https://werkzeug.palletsprojects.com/en/3.0.x/urls/ Forward-Port-Of: odoo/odoo#166854 Forward-Port-Of: odoo/odoo#166814
Problem -------- https://github.com/odoo/odoo/pull/156655 hides the miscellaneous entry total if there is a discrepancy between the journal currency and journal's default account currency. This fix is not ideal as the total is the sum of the balance field (company currency), while the displayed total uses the journal currency. Since this could be a foreign bank account, the journal currency is correct. Solution -------- Sum the `amount_currency` field instead of the `balance` field.
Original PR description
Problem -------- https://github.com/odoo/odoo/pull/156655 hides the miscellaneous entry total if there is a discrepancy between the journal currency and journal's default account currency. This fix is not ideal as the total is the sum of the balance field (company currency), while the displayed total uses the journal currency. Since this could be a foreign bank account, the journal currency is correct. Solution -------- Sum the `amount_currency` field instead of the `balance` field. Caveat ------- Yes, it's possible we are summing apples and oranges as the currencies of the misc move lines may not be the same. In this case, a warning icon is displayed indicating multiple currencies. A module update is required to view this icon. https://github.com/odoo/odoo/commit/7ef468402d327855ee6323b6a7f82ac6989ee28a#r141889189 opw-3767010 Forward-Port-Of: odoo/odoo#165441
Intended: Generate pdfs is meant to run in every hour. It was intention as well at creation and it shows from how nextcall is defined: <field name="nextcall" eval="(DateTime.now() + timedelta(hours=1))"/> Current behavior: But regardless how nextcall is defined, now the cron runs in every month. This is because interval_type is not explicitly defined on the cron and thus it takes default value - that is 'months'. To correct the cron behavior, we explicitly define interval_number
Original PR description
Intended: Generate pdfs is meant to run in every hour. It was intention as well at creation and it shows from how nextcall is defined: <field name="nextcall" eval="(DateTime.now() + timedelta(hours=1))"/> Current behavior: But regardless how nextcall is defined, now the cron runs in every month. This is because interval_type is not explicitly defined on the cron and thus it takes default value - that is 'months'. To correct the cron behavior, we explicitly define interval_number and interval_type task-3960037 Forward-Port-Of: odoo/enterprise#63565
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#62024
Original PR description
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#62024
The tariff fraction catalog has been updated on April 2024: https://www.snice.gob.mx/cs/avi/snice/ligie.info22.mod24.html opw-3921546 Forward-Port-Of: odoo/enterprise#62638
Original PR description
The tariff fraction catalog has been updated on April 2024: https://www.snice.gob.mx/cs/avi/snice/ligie.info22.mod24.html opw-3921546 Forward-Port-Of: odoo/enterprise#62638
Previously, Gantt, Pivot, and Graph views were listed before Kanban and List views. In this commit, we've reordered based on priority. Upgrade script: No upgrade script is required as we've updated records added in this version task-3902382 Forward-Port-Of: odoo/enterprise#61834
Original PR description
Previously, Gantt, Pivot, and Graph views were listed before Kanban and List views. In this commit, we've reordered based on priority. Upgrade script: No upgrade script is required as we've updated records added in this version task-3902382 Forward-Port-Of: odoo/enterprise#61834
Versions -------- - 17.0+ Steps ----- 1. Go to an employee w/ a running contract; 2. open their working schedule; 3. change lunch breaks from the default 12:00 to 12:30; 4. go to the Payroll app; 5. check the work entries of the employee. Issue ----- Each work entry has two rows: 1. first half of working day, pill takes up the entire column; 2. second half of working day, pill takes up half a column. Cause ----- Commit 19c957264ed reworked how gantt pills get rounded, maki
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Go to an employee w/ a running contract; 2. open their working schedule; 3. change lunch breaks from the default 12:00 to 12:30; 4. go to the Payroll app; 5.…
Versions -------- - 17.0+ Steps ----- 1. Go to an employee w/ a running contract; 2. open their working schedule; 3. change lunch breaks from the default 12:00 to 12:30; 4. go to the Payroll app; 5. check the work entries of the employee. Issue ----- Each work entry has two rows: 1. first half of working day, pill takes up the entire column; 2. second half of working day, pill takes up half a column. Cause ----- Commit 19c957264ed reworked how gantt pills get rounded, making it so that a if a record extends on a day/half-day/hour/month for even a minute, the pill includes it. Because the half-day is hardcoded to 12:00, this means that a lunch break that's one minute later than that will display the first shift as a full day in work entry gantt view. Solution -------- Partially re-introduce the old pill rounding logic for this specific view/module. Add it to the hr_gantt module so the same visual issue gets resolved in hr_attendance_gantt views. opw-3895160 Forward-Port-Of: odoo/enterprise#62390
Original bug: 1) Create an invoice of 2000 for partner A 2) Create a misc operation with a line of -500 on the receivable account used in 1) 3) Reconcile the receivable lines of 1) and 2). 4) Open the Partner Ledger for A; filter with A's name in the search bar. 5) Print the pdf ====> The misc operation appears under A in the UI, but not in the pdf. The pdf should behave as the UI. The bug came from the fact the domain enforced when filtering and printing was too simple ; it needs t
Original PR description
Original bug: 1) Create an invoice of 2000 for partner A 2) Create a misc operation with a line of -500 on the receivable account used in 1) 3) Reconcile the receivable lines of 1) and 2). 4) Open the Partner Ledger for A; filter with A's name in the search bar. 5) Print the pdf ====> The misc operation appears under A in the UI, but not in the pdf. The pdf should behave as the UI. The bug came from the fact the domain enforced when filtering and printing was too simple ; it needs to consider the move lines reconciled with a move line made for the matching partners as well. Manual forward-port of https://github.com/odoo/enterprise/pull/63347 opw-3915724 Forward-Port-Of: odoo/enterprise#63449
Current behavior: --- When rendering a linkedin feed, if one of the posts includes a video, no images will be displayed. Steps to reproduce: --- 1. Go to Configuration > Social Media 2. Link a linkedin account 3. Make a post with an image on linkedin 4. Make a post with a video 5. Go to feed 6. Neither the video nor the image is displayed Cause of the issue: --- When getting the image URNs with `post.get('content', {}).get('media', {}).get('id') ` you can get a video URN in th
Original PR description
Current behavior:
---
When rendering a linkedin feed, if one of the posts includes a video, no images will be displayed.
Steps to reproduce:
---
1. Go to Configuration > Social Media
2. Link a linkedin account
3. Make a post with an image on linkedin
4. Make a post with a video
5. Go to feed
6. Neither the video nor the image is displayed
Cause of the issue:
---
When getting the image URNs with
`post.get('content', {}).get('media', {}).get('id') `
you can get a video URN in the shape of
`'urn:li:video:abcdefghijklmnop1234'`
opw-3775212
Forward-Port-Of: odoo/enterprise#60950Steps --- * create a subscription sale order (monthly recurrence, at least one product) * confirm > create invoice * add a line to the invoice with a start and end date (invisible by default) * confirm invoice, we get a traceback. Cause --- This happens because, when `_post`ing account moves, we try to apply the subscription specific logic to all the move lines, even if there is no associated sale-order/subscription. In particular the traceback is thrown when we try to access the `nex
Original PR description
Steps --- * create a subscription sale order (monthly recurrence, at least one product) * confirm > create invoice * add a line to the invoice with a start and end date (invisible by default) * confirm invoice, we get a traceback. Cause --- This happens because, when `_post`ing account moves, we try to apply the subscription specific logic to all the move lines, even if there is no associated sale-order/subscription. In particular the traceback is thrown when we try to access the `next_invoice_date` field from a `False` subscription/sale-order. https://github.com/odoo/enterprise/blob/a9ad8b5e62481fc31dffb723af4d1578ada501e7/sale_subscription/models/account_move.py#L38 opw-3940682 Forward-Port-Of: odoo/enterprise#63512 Forward-Port-Of: odoo/enterprise#63258
Before this commit, when hitting enter while typing in multi-line text, The cursor would move to the next sign item. But it should simply add a new line and remain focused on the multi-line item. This commit aims to fix this issue by preventing jumping to the next item when being at multi-line. Task: 3910934 Forward-Port-Of: odoo/enterprise#63490 Forward-Port-Of: odoo/enterprise#62378
Original PR description
Before this commit, when hitting enter while typing in multi-line text, The cursor would move to the next sign item. But it should simply add a new line and remain focused on the multi-line item. This commit aims to fix this issue by preventing jumping to the next item when being at multi-line. Task: 3910934 Forward-Port-Of: odoo/enterprise#63490 Forward-Port-Of: odoo/enterprise#62378
Steps: - Create a database on SaaS - Activate debug mode - Load demo data if not enabled - Install l10n_be_hr_contract_salary Actual result: - Module l10n_be_hr_contract_salary installed - Demo data not loaded properly, traceback Expected result - Module l10n_be_hr_contract_salary installed - Demo data loaded opw-3930487 Forward-Port-Of: odoo/enterprise#63433 Forward-Port-Of: odoo/enterprise#63328
Original PR description
Steps: - Create a database on SaaS - Activate debug mode - Load demo data if not enabled - Install l10n_be_hr_contract_salary Actual result: - Module l10n_be_hr_contract_salary installed - Demo data not loaded properly, traceback Expected result - Module l10n_be_hr_contract_salary installed - Demo data loaded opw-3930487 Forward-Port-Of: odoo/enterprise#63433 Forward-Port-Of: odoo/enterprise#63328
Steps to reproduce ================== - Create a new model with studio - Go to the contaxt form view - Add a new many2one field linked to the newly created model - Exit studio - Create a new contact - Type something in the many2one field - Click on Create an Edit => The name should be kept Cause of the issue ================== Studio models uses x_name as the _rec_name opw-3919262 Forward-Port-Of: odoo/enterprise#63362 Forward-Port-Of: odoo/enterprise#62424
Original PR description
Steps to reproduce ================== - Create a new model with studio - Go to the contaxt form view - Add a new many2one field linked to the newly created model - Exit studio - Create a new contact - Type something in the many2one field - Click on Create an Edit => The name should be kept Cause of the issue ================== Studio models uses x_name as the _rec_name opw-3919262 Forward-Port-Of: odoo/enterprise#63362 Forward-Port-Of: odoo/enterprise#62424