Daily updates from Odoo
Navigate
Branch
Wednesday, March 30, 2022
18 changes
New functionality added to Odoo
This update adds payroll localization for Luxembourg, including payroll structures, salary rules, employee and contract fields, demo data, and accounting integration. It also improves payroll report extensibility and ensures Belgian-specific benefits fields are only shown for Belgian companies.
Adds a new India EDI module that lets businesses submit invoices to the Indian government through an API. This supports local compliance requirements and reduces manual work for electronic invoicing.
Original PR description
New EDI module for India to submit an invoice to Government using API.
Enhancements to existing features
Users assigned as approvers can now see the approval requests they need to review, even without broad approval access rights. Managers can also view requests from their direct reports when manager approval is required, while users with full approval rights continue to see all requests.
Original PR description
In Approvals, if the user is added to an approval request as approver or if an approval requires the manager to approve but the approver or manager hasn't the "Approve all requests" security group, he won't be able to see the request to approve. At the same time, if the user is part of the "Approve all requests" security group, he has access to all requests made and not only the ones where he is an approver. This commit adds the ability for a user to see the requests where he is an approver or the requests of his reports if the approval request requires manager approval. task-2742881
Appointment managers can now see and analyze how attendees answer booking questions, including choice breakdowns and text responses. The setup screens are also clearer, with easier answer editing, ordering, and validation to prevent incomplete choice questions.
Original PR description
PURPOSE This commit adds reporting for answers of questions on appointment types. It also makes the display of these answers cleaner and more efficient on their form. CHANGES The last three changes…
PURPOSE This commit adds reporting for answers of questions on appointment types. It also makes the display of these answers cleaner and more efficient on their form. CHANGES The last three changes mainly concern selectable-answers questions: select, radio, checkbox. 1. Add placeholders to avoid blank fields on the calendar appointment question form, and give insight of different fields. 2. Use o2m instead of m2m for answer_ids Before, the answers were a many2many field on calendar.appointment.question model. However, it did not make much sense to have all existing answers available to choose from. After this commit, the field answer_ids is set as a one2many instead, only containing meaningful answers. The use of a o2m is therefore natural. An exception is raised if no answer is set when using a selection mode (select / radio / checkbox) 3. Better display in back-end The many2many tags in question form is replaced with a editable tree view which makes it simpler to edit, see and remove answers. A field sequence is added to answers in order for them to be sorted with handle widget. In the appointment_type form, the embedded question tree view now displays available answers (in order) with a many2many tags widget. The user do not have to click on it and open the menu to see what available answers there are. 4. Add reporting for answer breakdown In order for the appointment manager to see what the participants answer, this commit adds reporting features for each question, directly accessible via the bar chart icon on the question tree view in appointment type form. - select/radio/checkbox question_type: pivot/graph/tree - char/text question_type: tree To do so, a new model calendar.appointment.answer.input is added, and answers are now added in database. Before, they were only stored as a formatted text: the description of the calendar_event created for the appointment. - select/radio : store id of selected answer - checkbox : create one record per selected answer and store it - text/char : store the text answer --- Links --- Task Id - 2621327 Ent PR - odoo/enterprise#20433 UPG PR - odoo/upgrade#2984
This update refreshes the spreadsheet component used in Documents with recent fixes and usability improvements. Users benefit from more reliable sheet behavior, better formula guidance, improved error tooltip placement, and cleaner rendering for large text and merged cells.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/82a7624a [FIX] formulas: remove trailing chars in DATE args description…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/82a7624a [FIX] formulas: remove trailing chars in DATE args description https://github.com/odoo/o-spreadsheet/commit/41cfb8fb [FIX] sheet: undeterministic sheet id https://github.com/odoo/o-spreadsheet/commit/bc26d9ff [FIX] selection: preserve columns/rows size on moving https://github.com/odoo/o-spreadsheet/commit/fb66021e [IMP] tests: introduce move columns-rows helpers https://github.com/odoo/o-spreadsheet/commit/88d20005 [IMP] composer: changed formula bracket or string highlight color https://github.com/odoo/o-spreadsheet/commit/96bdf7fa [FIX] functions: remove some optional flags https://github.com/odoo/o-spreadsheet/commit/f20b977a [FIX] functions: Split multiple repeatable args everywhere https://github.com/odoo/o-spreadsheet/commit/9e32f9f6 [IMP] functions: Only allow valid function names in registry https://github.com/odoo/o-spreadsheet/commit/657aa592 [FIX] popover: error tooltip position https://github.com/odoo/o-spreadsheet/commit/ddae1e94 [FIX] renderer : number align wrong for big font https://github.com/odoo/o-spreadsheet/commit/9d0252d0 [FIX] renderer : clipping inside merges
Users assigned as approvers can now see the approval requests they need to act on, even without broad approval access. Managers can also view requests from their direct reports when manager approval is required, while users with full approval rights retain wider visibility.
Original PR description
In Approvals, if the user is added to an approval request as approver or if an approval requires the manager to approve but the approver or manager hasn't the "Approve all requests" security group, he won't be able to see the request to approve. At the same time, if the user is part of the "Approve all requests" security group, he has access to all requests made and not only the ones where he is an approver. This commit adds the ability for a user to see the requests where he is an approver or the requests of his reports if the approval request requires manager approval. task-2742881
Resolved issues and error corrections
This fix prevents the login page from crashing when the signup feature is installed. Users can access the login screen normally again, avoiding a blocking error that prevented account access.
Original PR description
Install auth_signup, go to /web/login, 500 Internal Server Error. auth_signup extends the /web/login template and in this extension calls `keep_query()` which has been wrongly moved from base to http_routing in commit 880954ebfc1. Here, we restored `keep_query()` were it was.
This update fixes several small field service workflow issues across planning, helpdesk, timesheets, projects, and sales-linked projects. Users should see clearer views, fewer misleading warnings, and fewer incorrect access errors when working with scheduled tasks and timesheets.
Original PR description
some bug fixes for field services - In Planning, the avatar widget should still be displayed when the employee is archived - In Helpdesk, aligned the kanban state to the right in helpdesk ticket - In Timesheets grid view, removed the dark grey background color of total column -In Project gantt view, when the task is planned during the time off of an employee, the task in conflict warning should not be displayed if there are no conflicts -In Timesheet, fixed access right error while user create sale order project task-2774812
This update prevents shared test settings in the Gantt planning view from being accidentally changed by one test and affecting later tests. It improves the reliability of automated checks, reducing false failures and helping development teams maintain quality with less rework.
Original PR description
Since https://github.com/odoo/enterprise/commit/fc5179a3580e1a01d66f5ebd0e2fc58854476e44 `ganttViewParams` which is used for all the tests is modified during the test on `collapse_first_level`. As such, it is potentially breaking tests that are performed after as they were relying on the fact that `collapse_first_level` is not set. This commit prevent the mutation of `ganttViewParams`. This commit also: - Adds missing `;` in tests. - Modifies some of the assert in order to improve debugging when test fails.
Code cleanup and technical improvements
The Gantt planning view was updated to stay compatible with a related platform change in how linked records are handled. This is an internal cleanup that helps keep scheduling features stable without changing the user experience.
Miscellaneous changes
Step to reproduce: - Create an approval with automated_sequence name (e.g. Number N) - Create another and discard before saving/submitting - Create a third approval Current Behaviour: - Third approval has number N+2 Behaviour after PR: - Approval are named on submission/write - Third approval has number N+1 opw-2715603 Forward-Port-Of: odoo/enterprise#24784 Forward-Port-Of: odoo/enterprise#23117
Original PR description
Step to reproduce: - Create an approval with automated_sequence name (e.g. Number N) - Create another and discard before saving/submitting - Create a third approval Current Behaviour: - Third approval has number N+2 Behaviour after PR: - Approval are named on submission/write - Third approval has number N+1 opw-2715603 Forward-Port-Of: odoo/enterprise#24784 Forward-Port-Of: odoo/enterprise#23117
**[FIX] stock_barcode: display warning** > Before this commit, the warning triggered by an onchange wasn't shown. > > How to reproduce: > - Create a product tracked by serial number; > - Create a new transfer and add a move line for this product; > - Open this transfer with the barcode application and open the move line form view; > - For the `qty_done`, set the quantity upper than 1 -> Should display a warning but doesn't. **[FIX] stock_barcode_picking_batch: suggested pack** >
Original PR description
**[FIX] stock_barcode: display warning** > Before this commit, the warning triggered by an onchange wasn't shown. > > How to reproduce: > - Create a product tracked by serial number; > - Create a new…
**[FIX] stock_barcode: display warning** > Before this commit, the warning triggered by an onchange wasn't shown. > > How to reproduce: > - Create a product tracked by serial number; > - Create a new transfer and add a move line for this product; > - Open this transfer with the barcode application and open the move line form view; > - For the `qty_done`, set the quantity upper than 1 -> Should display a warning but doesn't. **[FIX] stock_barcode_picking_batch: suggested pack** > Before this commit, if a package is scanned and assigned on a move line of a batch, it will not be immediately suggested on the other same picking's lines. It was due to the suggested packages were only computed when the state is created/refreshed. Now, it will also be done when a package is assigned on a line. **[FIX] stock_barcode: picking form view traceback** > How to reproduce: > - Use GS1 nomenclature; > - Open a picking form view and edit it; > - Scan a barcode -> Traceback. > > The issue was, when the barcode is parsed, the parsed result isn't the same if it's parsed by the default nomenclature (returns always a dict) or by the GS1 nomenclature (returns a list of dict or nothing at all) and the current code doesnt' support if the parsing result is None. > > With this fix, the barcode will be parsed only if the nomenclature isn't a GS1 nomenclature. That means the default search on the different model's types will be processed in case the company use the GS1 nomenclature. task-2641528 Forward-Port-Of: odoo/enterprise#20922
The supplier can now be identified by its associated IBANs. Task: 2800584 Forward-Port-Of: odoo/enterprise#25651 Forward-Port-Of: odoo/enterprise#25550
Original PR description
The supplier can now be identified by its associated IBANs. Task: 2800584 Forward-Port-Of: odoo/enterprise#25651 Forward-Port-Of: odoo/enterprise#25550
Steps : Install Subscription. Create a 2nd company (say B, and A the first one). Create a Subscription for Portal in B, and make sure you already have 3 Subs for him in A. Log in with Portal in A. On the home page, note 'Subscription - x' (x the Subs count in A). Click on it. Issue : You see all your Subs, A and B included (more than x Subs). Fix : If user has access, count with sudo. opw-2802829 Forward-Port-Of: odoo/enterprise#25557
Original PR description
Steps : Install Subscription. Create a 2nd company (say B, and A the first one). Create a Subscription for Portal in B, and make sure you already have 3 Subs for him in A. Log in with Portal in A. On the home page, note 'Subscription - x' (x the Subs count in A). Click on it. Issue : You see all your Subs, A and B included (more than x Subs). Fix : If user has access, count with sudo. opw-2802829 Forward-Port-Of: odoo/enterprise#25557
Purpose ======= This issue is caused by the forwarded fix from my [PR](https://github.com/odoo/enterprise/pull/25234) where I didn't pay attention that `tag_ids` was renamed to `tax_tag_ids` in v14 and `tax_exigible = True` was removed in v15. Specification ============= To solve the issue the domain was corrected opw-2809024 Forward-Port-Of: odoo/enterprise#25721 Forward-Port-Of: odoo/enterprise#25712
Original PR description
Purpose ======= This issue is caused by the forwarded fix from my [PR](https://github.com/odoo/enterprise/pull/25234) where I didn't pay attention that `tag_ids` was renamed to `tax_tag_ids` in v14 and `tax_exigible = True` was removed in v15. Specification ============= To solve the issue the domain was corrected opw-2809024 Forward-Port-Of: odoo/enterprise#25721 Forward-Port-Of: odoo/enterprise#25712
A write function should always have a return statement opw-2797958 Forward-Port-Of: odoo/enterprise#25531
Original PR description
A write function should always have a return statement opw-2797958 Forward-Port-Of: odoo/enterprise#25531
It was no longer possible to mark an appraisal as done without HR Officer rights. TaskID: 2802762 Forward-Port-Of: odoo/enterprise#25545
Original PR description
It was no longer possible to mark an appraisal as done without HR Officer rights. TaskID: 2802762 Forward-Port-Of: odoo/enterprise#25545
Steps to reproduce: 1) Create the system parameter 'l10n_be_reports.xml_export_representative_*'. To do so, first, ensure that you are on debug mode then, go to the application ‘Setting’, then click on ‘Technical > Parameter > System parameter’. Create a new parameter (l10n_be_reports.xml_export_representative_*) and replace the * by the ID of your company and define the value of the parameter as the Partner ID to be used as a proxy (ID of the accounting company). For example: if the ID of you
Original PR description
Steps to reproduce: 1) Create the system parameter 'l10n_be_reports.xml_export_representative_*'. To do so, first, ensure that you are on debug mode then, go to the application ‘Setting’, then click…
Steps to reproduce: 1) Create the system parameter 'l10n_be_reports.xml_export_representative_*'. To do so, first, ensure that you are on debug mode then, go to the application ‘Setting’, then click on ‘Technical > Parameter > System parameter’. Create a new parameter (l10n_be_reports.xml_export_representative_*) and replace the * by the ID of your company and define the value of the parameter as the Partner ID to be used as a proxy (ID of the accounting company). For example: if the ID of your company is 4 and the ID of the fiduciary is 12, you will create the following parameter l10n_be_reports.xml_export_representative_4 with 12 as the value. More information in the following video: https://drive.google.com/file/d/1FVKqVXYyYa4VbBGZEomDFOBdt3_ZETsj/view 2) Ensure that the Partner has a phone number 3) Export XML for report (Partner VAT Listing) Issue: The file contains phone numbers with spaces => NOK Cause: Partners and companies numbers are sanitised automatically with `phonenumbers`. And those numbers have spaces in their format which is not accepted according to the specification https://finances.belgium.be/fr/E-services/Intervat/documentation-technique. Solution: Extract the pattern accepted by intervat; That is, phone numbers with no spaces. The library `phonenumbers` has not been used to avoid complexity in case of the library is not installed. OPW-2454136 Forward-Port-Of: odoo/enterprise#25542 Forward-Port-Of: odoo/enterprise#24923