Friday, May 31, 2024
22 changes
8 changes
Enhancements to existing features
Products with instant attributes now appear only once in the preparation display instead of being repeated for every possible combination. When selected, staff can choose the relevant combination from a popup, making the product list easier to scan and use.
Original PR description
Before this commit when a product have attribute in instantly mode, the product was duplicated in the list of products as many times as there were possible combinations. Now, the product is displayed only once and when the user clicks on it, a popup is displayed with the possible combinations. taskId: 3884515 Related: https://github.com/odoo/odoo/pull/163781
The Help menu now sends visitors to a team selection page when multiple support teams are available, instead of duplicating the ticket submission page at different addresses. This creates clearer navigation for customers and helps avoid SEO issues caused by duplicate pages.
Original PR description
Before this PR, clicking on the 'Help' menu would lead to a submit ticket page with a specific link. And, accessing the '/helpdesk' route would also display the same page. It will have a negative impact on SEO In this PR, if there are multiple teams, clicking on the 'Help' menu will redirect users to a page where they can select the specific team they wish to contact, and clicking on a team will take users to the submit ticket page. task-3453870
Spreadsheet charts now support more design options, including title styling, axis settings, and dataset colors. This helps users create clearer, more polished charts directly in Odoo spreadsheets without extra manual work.
Original PR description
## Description This task aims to improve the design customization of the charts in o-spreadsheets, adding many customizable options like the title alignment/color/style, the axes configurations, the datasets colors, ... This PR adapts odoo's part to take the changes of o-spreadsheet into account. ## Related Task(s) - Task [3792009](https://www.odoo.com/web#id=3792009&action=333&active_id=2328&model=project.task&view_type=form&cids=1&menu_id=4720) - https://github.com/odoo/o-spreadsheet/pull/3893 - https://github.com/odoo/odoo/pull/166538
Employees now see only open shifts that fit their working hours and time off, reducing confusion and unsuitable self-assignments. The planning screen also gives clearer guidance when no shifts are assigned and displays shift durations based on each employee's working schedule.
Original PR description
[IMP] planning: Improve Front-End UX Before this commit: - The list of open shifts contains shifts for which the employee wouldn't be available anyways because it falls outside of their working…
[IMP] planning: Improve Front-End UX Before this commit: - The list of open shifts contains shifts for which the employee wouldn't be available anyways because it falls outside of their working hours, or during their time off. - A blank screen is displayed when the employee doesn't have any shifts assigned yet. - Shifts are displayed with their real duration instead of the employee working hours. - technically, _prepare_slot_vals in _planning_get inside project_forecast and inside sale_planning is having duplicated code (line 46 - 49 = line 27 - 30 inside sale_planning) and computing again the full title each time by erasing the old title. It is doing 2 extra search calls for each slot. _planning_get is also iterating over the slots 3 times when the 3 modules installed. After this commit: - front-end > open shifts available list: shifts that fall outside of the working hours of the employee or during their time off are not displayed. - front-end view when publishing open shifts but no shifts > list view > "You don't have any shifts planned yet. You can assign yourself some of the available open shifts." (the second sentence should only be visible if there are open shifts available for this employee) is now displayed in no shifts. - front-end > shifts are displayed with the employee working hours duration. - technically, it was replaced by a new refactoring without doing extra work. - technically, u' \U0001F4AC' is replaced by ' \U0001F4AC' for slots having notes due to UP025 (Remove unicode literals from strings https://docs.astral.sh/ruff/rules/unicode-kind-prefix/) task-3186609
Helpdesk ticket descriptions can now support collaboration directly in the ticket form. This makes it easier for team members to work together on ticket details and keep information aligned in one place.
Original PR description
After this PR merge: - implement collaboration feature for description in the helpdesk ticket form view task-3817497
A new Notifications submenu in Configuration lets administrators set default notification behavior for all Discuss channels. This makes it easier to manage whether users receive all messages, mentions only, no notifications, or muted notifications unless a channel has its own specific setting.
Original PR description
Add a sub-menu for "Notifications" in the "Configuration" menu. The "notifications" sub-menu should have the following options to apply to all Discuss channels. Same options as for notifications on each channel: Mute (+choose time period) / All messages = default / @mentions/ nothing This setting should apply to all channels that use the default one unless another configuration has been made for a specific one. split of task-3503901
Planning shift emails now include buttons that let employees self-assign open shifts or self-unassign when allowed. Sharing logic was also improved so internal planning users open the appropriate planning view instead of being sent to the front-end view.
Original PR description
Prior to version 15 we had action buttons in the single shift email of the planning app. Specifically, if an open shift was shared from the planning app, employees could get the open shift assigned…
Prior to version 15 we had action buttons in the single shift email of the planning app. Specifically, if an open shift was shared from the planning app, employees could get the open shift assigned to them through a self-assign button in the email. Similarly, if the self-unassign setting is enabled from the planning app's settings, employees could unassign themselves from their shifts directly from the shift's sharing email through a self-unassign button. This PR re-introduces the two buttons to the shift emails. The code for their logic was never removed so we only reintroduce them in the email template. We also change the way that the planning is shared. Prior to this PR, we would check whether the employee was a planning internal user by checking whether they have a corresponding user and whether that user belongs to the "group_planning_user" group. In the planning app though, there are three types of internal users, ones who can see only the "My Planning" menu, ones who can see other menus and other resources, and planning managers. The former type of planning users do not belong to a specific group. This, resulted in the planning being shared with internal users (the former kind) but only opening in front-end view. task-3791152
Resolved issues and error corrections
Fixed an issue where the self-order preparation display could appear blank when opened. This helps staff reliably view and manage incoming orders without interruption.
Original PR description
Before this commit: =========== - When we open the preparation display, it becomes blank. After this commit: =========== - The preparation display works fine. task-3958744
14 changes
Enhancements to existing features
When users modify a bank transaction entry that uses a temporary Suspense Account, the system now automatically updates the general Soda mapping configuration. This eliminates the need for users to manually update the mapping twice, improving the user experience. The change only applies when modifying individual entries—updating the general mapping won't retroactively change existing transactions.
Original PR description
If we upload a Soda and an account is not mapped, we'll fall back on the Suspense Account. However, when modifying the entry line with the Suspense Account, the general Soda Mapping is not updated. For UX reasons, we should update the general Soda Mapping too so that the user doesn't have to modify it twice. However, we shouldn't do the reverse. I.e. when modifying the general Soda Mapping, we shouldn't modify the existing entries. taks-id: 3954585
This update enables the automatic display of invoice amounts in written word format for Vietnamese Chart of Accounts, making it compliant with Vietnamese Decree 123/2020/ND-CP. This regulatory requirement ensures that all invoices now include amounts written out in words, improving compliance with local accounting standards.
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
Resolved issues and error corrections
This fix resolves an issue where reloading AI-extracted invoice data would incorrectly overwrite information that was previously matched from a purchase order. The system now properly preserves purchase order data while allowing AI detection updates, ensuring that matched purchase order details are not lost when refreshing the invoice extraction.
Original PR description
When a purchase order was matched and imported by the OCR, it wasn't working properly, the data imported was overwritten with the detected fields of the OCR. This happened because, in the implementation before this commit, a flag `force_write` was used to indicate that the data should be overwritten, but this implied that the data imported from the PO was also overwritten. In this new implementation, the content of the invoice is first reset and then the logic to fill in the invoice with the OCR data and/or purchase order is applied. Task: [#3834665](https://www.odoo.com/odoo/project.task/3834665?cids=1) Forward-Port-Of: odoo/enterprise#63510 Forward-Port-Of: odoo/enterprise#63290
This update fixes the ability to issue purchase invoices (code 46) to foreign vendors for digital services in Chile's electronic invoicing system. The fix corrects schema validation errors by properly handling export tags, adding mandatory activity descriptions, and including vendor country information as required by Chilean tax law.
Original PR description
Before this PR: When we included the ability to create "Facturas de compra" (code 46, needed mainly for the purchase of digital services to foreign vendors), we get schema errors sending these type of invoices to the SII (l10n_cl_reference_doc_type_selection == 46). The use of the tag Exportaciones for document type '46' is not correct. This tag should be used only for foreign customers on Export documents. This case is only for the following codes: '110', '111', '112'. An "Activity description" is mandatory, as it's not an export document. The country customs code must be included in the Nacionalidad tag as well, as the vendor is foreign. Reference: Law Nº21420, and resolution Nº46 (May 13th, 2022) https://www.bcn.cl/leychile/navegar?idNorma=1172303 https://www.sii.cl/normativa_legislacion/resoluciones/2022/reso46.pdf After this PR: These issues are fixed. Community PR: https://github.com/odoo/odoo/pull/166793 Forward-Port-Of: odoo/enterprise#63244
This fix resolves a crash that occurred when adding deferred accounting lines to subscription invoices. The system was incorrectly trying to apply subscription-specific logic to all invoice lines, even those without an associated subscription, causing an error. Now the system properly checks if a subscription exists before applying subscription-specific processing.
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#63258
This fix corrects a visual display issue in the payroll work entries calendar where shift periods were incorrectly shown as full-day blocks instead of being properly split when lunch breaks were adjusted. When employees' lunch breaks were changed from the default 12:00 time, the calendar would incorrectly display the morning shift as taking up the entire day column. The fix restores proper visual separation of split shifts in the work schedule calendar view.
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
This fix resolves an error that occurred when branch companies tried to access Journal Reports with inherited taxes from parent companies. The system was only looking for tax data within the current company, ignoring parent company tax structures. Now the report correctly retrieves tax information from both the current and parent companies, allowing branch companies to generate reports without errors.
Original PR description
Create a branch company In the parent company: - Create a [tax] of type "Group of Taxes" and add a child tax - add [tax] to a [product] record In the branch company: - Create an invoice with [product] - Open journal Reports KeyError will raise It occurs because we fetch the tax data by SQL selecting data belonging to the current company only, without considering parent companies opw-3874824
This fix corrects an issue where the Direct Debit payment message was incorrectly appearing on all invoices, even those not using Direct Debit. The problem was caused by invalid HTML formatting in the invoice report template. After this fix, the Direct Debit message will only display on invoices that actually use Direct Debit payment method.
Original PR description
The problem is that the message ``` This invoice will be paid using direct debit and is only sent for informative purposes. sent for informative purposes ``` is displayed even in invoices that…
The problem is that the message
```
This invoice will be paid using direct debit and is only sent for
informative purposes. sent for informative purposes
```
is displayed even in invoices that doesn't use Direct Debit after a studio change.
Steps:
- install `account_sepa_direct_debit`
- install `web_studio`
- Edit `Invoices` report on studio
- Save
- Try to print an invoice report
- SDD (Sepa Direct Debit) message will be displayed
even if this invoice doesn't use SDD
This inconsistency was due to two errors in the report generated by SDD
```xml
<p t-if="o.sdd_mandate_id">
<span>
<p>
This invoice will be paid using direct debit and is only
sent for informative purposes.
</p>
<p>
Please do not pay it manually, the payment will be asked to your bank to be processed
automatically.
</p>
</span>
</p>
```
A `<p>`/`<span>` can't contains another `<p>`
as defined here https://html.spec.whatwg.org/#the-p-element or https://html.spec.whatwg.org/#the-span-element `<P>`/`<span>` can only contains "Phrasing content" (https://html.spec.whatwg.org/#phrasing-content-2) `<div>` and `<p>` for example are not phrasing content
opw-3908411
Forward-Port-Of: odoo/enterprise#63345Fixed a bug where pressing Enter while typing in multi-line text fields during document signing would incorrectly move focus to the next field instead of creating a new line. Users can now add line breaks within multi-line fields without losing their place, improving the document signing experience.
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#62378
Fixed an issue where clicking on Knowledge Article notifications would incorrectly open a technical view instead of the article itself. Users will now be directed to the proper article view when opening notifications, providing a better and more intuitive experience.
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
This fix resolves a crash that occurred when exporting a General Ledger to PDF after deleting the name field from a journal entry. The system now properly handles empty name fields, preventing the export process from failing with a technical error.
Original PR description
Create a new journal entry Post it Reset to draft Delete the name Go to General Ledger Export PDF Error TypeError: object of type 'NoneType' has no len() This occurs because when the name field is blanked, it is set to False opw-3925088
Fixed an issue where miscellaneous transactions reconciled with a partner's invoices were appearing in the Partner Ledger view but not in the printed PDF report. The system now correctly includes all reconciled entries when filtering and printing partner ledger reports, ensuring consistency between screen display and PDF output.
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
This update corrects inaccurate Danish translations in the financial reporting module. Several financial terms like "Gross profit/gross loss" were mistranslated to unrelated phrases like "Advertising and marketing." These translation errors have been identified and fixed to ensure accurate financial reporting for Danish users.
Original PR description
There were translations such as "1. Gross profit/gross loss", which were translated to "1. Annoncering og reklame" That translation does not match and we have therefore identified the ones that were off and updated them
This update improves the evaluation system with better question handling, enhanced mobile responsiveness, and various bug fixes. Changes include adding conditional questions support, improving the visual layout of scale-based questions, and fixing issues with report filtering and evaluation response functionality.
Original PR description
Fix/mbi1.86 87