Wednesday, May 29, 2024
14 changes · 17.0
Resolved issues and error corrections
The attendance kiosk now leaves the job position area blank when an employee has no job title set, instead of displaying the word “false.” This removes a confusing visual error for staff using manual identification in kiosk mode.
Original PR description
Description of the issue/feature this PR addresses: This PR addresses an issue in the attendance module. When an employee's job position is not set, the kiosk mode displays `false` in the employee kanban view when manually identified. Cause The issue arises when the job position is not set in the employee profile. Fix: This PR resolves the issue by modifying the kanban view template of employees in kiosk mode.if condition is added to ensure that the job position is displayed only if it is set for the employee. task-3892580
The spreadsheet pivot context menu now shows the global filter option only when it is relevant to pivot header cells. This prevents users from seeing an action that should not apply to regular pivot formula cells, reducing confusion when working with spreadsheet reports.
Original PR description
The context menu (and clickable cell) `use_global_filter` should take the value of the underlying pivot formula, and apply it to the matching global filters. This works, but was supposed to work only for `ODOO.PIVOT.HEADER` formulas, and not simple `ODOO.PIVOT` formulas. This commit fixes the visibility of the `use_global_filter` option in the context menu, so that it is only visible for `ODOO.PIVOT.HEADER`. Also removed/changed tests that were testing that the menu was visible for positional `ODOO.PIVOT` formulas. Task: [3714696](https://www.odoo.com/web#id=3714696&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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
The Discuss notification settings menu now handles longer translated labels more gracefully. This prevents options such as channel mute settings from being cut off or displayed awkwardly in languages with longer text, making the menu easier to use for international users.
Original PR description
Before this commit, the notification settings in discuss app that is used to mute channels was not showing items properly in some languages like vietnamese. This happens because the width is hard-coded to 150px as to keep the dropdown menu small. This commit fixes the issue by putting a max-width of 250px for dropdown menu and sub-menu, so that it keeps right positioning of submenu. If text is too long, it know wraps. 
This update ensures that the test_discuss_full_enterprise module is automatically installed when both test_discuss_full and web_enterprise modules are present. This fix resolves test failures that were occurring when these modules were used together, improving the reliability of the testing environment.
Original PR description
When `test_discuss_full` and at least `web_enterprise` are installed, `test_discuss_full_enterprise` must be installed for the tests in `test_discuss_full` to pass. runbot-65732 Forward-Port-Of: odoo/enterprise#63366
Miscellaneous changes
(wrote by LSE) Before this commit: If an error happened when trying to synchronise a PoS order nothing is saved on the backend to inform the user regarding the error. Note: Odoo logs would contain the information, but it is out of reach for certain clients (on odoo online for instance). In theory, we can't lose any information as, if the sync process raise an exception, the order is still on the PoS browser cache that will then try to be resync when another order sync happen. But,
Original PR description
(wrote by LSE) Before this commit: If an error happened when trying to synchronise a PoS order nothing is saved on the backend to inform the user regarding the error. Note: Odoo logs would contain…
(wrote by LSE) Before this commit: If an error happened when trying to synchronise a PoS order nothing is saved on the backend to inform the user regarding the error. Note: Odoo logs would contain the information, but it is out of reach for certain clients (on odoo online for instance). In theory, we can't lose any information as, if the sync process raise an exception, the order is still on the PoS browser cache that will then try to be resync when another order sync happen. But, in practice, the support received some cases of "missing PoS orders". Which can happen as we fully rely on the client browser cache that can be cleared or use another computer/browser/session. After this commit: If an order can not be processed in the backend: - the PoS order data is saved in the PoS session attachments - a scheduled activity is created in the PoS session As an un-synced keep being tried to be sync (and will likely fail each time), we compare it with the already attached one to avoid having the content repeated multiple times. If the order was modified in between, a new attachment with the same name is created. Note: draft orders that will fail to validate are NOT stored The attachment and activity are automatically removed when the order of same reference is validated  opw-3650239 Forward-Port-Of: odoo/odoo#155401 Forward-Port-Of: odoo/odoo#147130
Bug: Invoices created for sales orders generated by a repair order didn't show SN/lot number for products that are tracked when activating "Display Lots & Serial Numbers on Invoices" setting. This was because the method generating the lots for the report only included stock move lines that had `customer` in its source or destination location usage, which is not the case in the move lines of a repair order. Fix: Exclude repair move lines from this check. Task-3848611 --- I confirm I h
Original PR description
Bug: Invoices created for sales orders generated by a repair order didn't show SN/lot number for products that are tracked when activating "Display Lots & Serial Numbers on Invoices" setting. This was because the method generating the lots for the report only included stock move lines that had `customer` in its source or destination location usage, which is not the case in the move lines of a repair order. Fix: Exclude repair move lines from this check. Task-3848611 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166979
before this commit: users without read permission of ir.module.category cannot search res.groups by names. An access error will be raised. after this commit: all users with read permission of res.groups can search res.groups by names Backport of odoo/odoo#97877 with small fix for bool case Forward-Port-Of: odoo/odoo#108204 Forward-Port-Of: odoo/odoo#108155
Original PR description
before this commit: users without read permission of ir.module.category cannot search res.groups by names. An access error will be raised. after this commit: all users with read permission of res.groups can search res.groups by names Backport of odoo/odoo#97877 with small fix for bool case Forward-Port-Of: odoo/odoo#108204 Forward-Port-Of: odoo/odoo#108155
This commit adds a check to ensure that the listId exists when processing the command `UPDATE_ODOO_LIST_DOMAIN` in the `beforeHandle` function. Task: 3908657 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#167000 Forward-Port-Of: odoo/odoo#166797
Original PR description
This commit adds a check to ensure that the listId exists when processing the command `UPDATE_ODOO_LIST_DOMAIN` in the `beforeHandle` function. Task: 3908657 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#167000 Forward-Port-Of: odoo/odoo#166797
When connecting to a remote server using the "certificate" authentication method, both a x509 PEM certificate and a PEM public key are required. Forward-Port-Of: odoo/odoo#166870 Forward-Port-Of: odoo/odoo#163584
Original PR description
When connecting to a remote server using the "certificate" authentication method, both a x509 PEM certificate and a PEM public key are required. Forward-Port-Of: odoo/odoo#166870 Forward-Port-Of: odoo/odoo#163584
Issue: ===== We can't scroll in iframe using the mouse (no scroll available) Steps to reproduce the issue: ============================= - Install events, mass_mailing - Go to any event and click invite - Choose any template - You can't scroll inside the template Origin of the issue: ==================== Many other apps inherits the view with id `view_mail_mass_mailing_form` and not the view with id `mailing_mailing_view_form_full_width` which have the logic of resizing the ifra
Original PR description
Issue: ===== We can't scroll in iframe using the mouse (no scroll available) Steps to reproduce the issue: ============================= - Install events, mass_mailing - Go to any event and click…
Issue: ===== We can't scroll in iframe using the mouse (no scroll available) Steps to reproduce the issue: ============================= - Install events, mass_mailing - Go to any event and click invite - Choose any template - You can't scroll inside the template Origin of the issue: ==================== Many other apps inherits the view with id `view_mail_mass_mailing_form` and not the view with id `mailing_mailing_view_form_full_width` which have the logic of resizing the iframe to the length of its content (introduced here [1]) so we don't really need to scroll inside the iframe. But for the other apps since they inherit from the first mentioned view, they will have the iframe class `.o_mass_mailing_iframe` but we specified in mass_mailing.ui.scss file that html that have that class we don't assign `overflow:visible` to them , that's why we can't scroll inside the iframe. Solution: ========= There are a lof of ways to solve this problem but most of them needs an xml change which requires an update of the module. The current solution is to add a special class to the full_width view using js from it's already defined js_class and then we exclude it from the scss selector. opw-3897165 [1]: https://github.com/odoo/odoo/commit/8a74c1f79340c58d62c9577f1011d9dc6a58ff70 Forward-Port-Of: odoo/odoo#164666
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 @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#141427 Forward-Port-Of: odoo/odoo#140544
Since [this other commit], we match all purchase orders using the vendor bill reference. However, this was not working for factur-x because the `invoice_origin_node` was not being found. This commit addresses the issue by correctly identifying and searching for the appropriate XML node. [this other commit]: https://github.com/odoo/odoo/commit/f39c28ec451daaa54ad00c26815c9cde6acf7e4a task-3932965 Forward-Port-Of: odoo/odoo#166199
Original PR description
Since [this other commit], we match all purchase orders using the vendor bill reference. However, this was not working for factur-x because the `invoice_origin_node` was not being found. This commit addresses the issue by correctly identifying and searching for the appropriate XML node. [this other commit]: https://github.com/odoo/odoo/commit/f39c28ec451daaa54ad00c26815c9cde6acf7e4a task-3932965 Forward-Port-Of: odoo/odoo#166199
Purpose ======= Fix the course title which was truncated with a single letter in the website breadcrumbs. Specification ============= The course title breadcrumb had its width limited by a w-25 class which always prevented the title from being fully visible. Removing that class and allowing each breadcrumb to take the whole available width before being truncated. Also adding the "title" attribute on each breadcrumb so that, even truncated, hovering on it will still make them readable.
Original PR description
Purpose ======= Fix the course title which was truncated with a single letter in the website breadcrumbs. Specification ============= The course title breadcrumb had its width limited by a w-25 class which always prevented the title from being fully visible. Removing that class and allowing each breadcrumb to take the whole available width before being truncated. Also adding the "title" attribute on each breadcrumb so that, even truncated, hovering on it will still make them readable. Co-authored-by: pko-odoo pko@odoo.com Co-authored-by: amdi-odoo amdi@odoo.com Task-3876972 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166878 Forward-Port-Of: odoo/odoo#165625
Method ``sale.order._get_subscription_mail_payment_context()`` is used by ``sale.order._handle_automatic_invoices()`` with ``self._get_subscription_mail_payment_context()`` However, ``sale.order._handle_automatic_invoices()`` accepts ``self`` being a recordset containing multiple records, while ``sale.order._get_subscription_mail_payment_context()`` requires a single record (``self.ensure_one()`` is invoked to check this requirement). This commit fixes this inconsistency by calling ``get_s
Original PR description
Method ``sale.order._get_subscription_mail_payment_context()`` is used by ``sale.order._handle_automatic_invoices()`` with ``self._get_subscription_mail_payment_context()`` However, ``sale.order._handle_automatic_invoices()`` accepts ``self`` being a recordset containing multiple records, while ``sale.order._get_subscription_mail_payment_context()`` requires a single record (``self.ensure_one()`` is invoked to check this requirement). This commit fixes this inconsistency by calling ``get_subscription_mail_payment_context()`` with a singleton within the ``for order in self`` loop. Forward-Port-Of: odoo/enterprise#63057