Wednesday, October 30, 2024
23 changes · master
New functionality added to Odoo
Payroll can now automatically add commission input lines based on the sales commission report when payslips are generated. This reduces manual data entry, helps ensure commission payments reflect current sales results, and improves payroll accuracy for commission-based employees.
Original PR description
- Add an option to auto fill a commission input line on payroll based on the sale commission report at the time of generation
Enhancements to existing features
Helpdesk ticket lists now use narrower columns, making it easier to scan more information on screen. Planning slot lists are clearer with planned dates better labeled and allocated time shown alongside the date information where it is more useful.
Original PR description
**Improvement** helpdesk == This PR reduces the width of columns in the helpdesk ticket list view for better space utilization. planning == Key changes: - The 'Allocated Time' label is removed to position the value closer to the 'Start Date' field. - The 'Start Date' field is renamed to 'Planned Date' in the list view. task-4034478
Resolved issues and error corrections
This update removes a reference to a field that no longer exists in the Field Service reporting views. It helps prevent reporting screens from failing or showing outdated information after related system changes.
Original PR description
Related: https://github.com/odoo/odoo/pull/184934 task-4269588
Features or functions removed from Odoo
The Luxembourg payroll module no longer shows a warning about missing employee tax classification because that information is now mandatory. This reduces irrelevant alerts and simplifies related employee tax classification settings.
Original PR description
The tax classification is now required, so there can be no employee without a tax classification rendering the warning useless. Also, the tax classification field was computed before, but it's no longer the case. So the 'store' and 'readonly' attributes are not needed any more. Task: 4193439
Miscellaneous changes
Steps to reproduce: - insert a pivot or a list in a spreadsheet - click on the Share button to share the spreadsheet - Choose "Viewer" for "Anyone with the link" - Copy the link and open it in an incognito window - in the URL, add ?debug=assets => boom This rendered page doesn't have `odoo.__session_info__` which crashes any code trying to read it. In standard, the view validation (only enabled in debug mode) reads it crash. On the saas, some custo also reads it and crashes.
Original PR description
Steps to reproduce: - insert a pivot or a list in a spreadsheet - click on the Share button to share the spreadsheet - Choose "Viewer" for "Anyone with the link" - Copy the link and open it in an incognito window - in the URL, add ?debug=assets => boom This rendered page doesn't have `odoo.__session_info__` which crashes any code trying to read it. In standard, the view validation (only enabled in debug mode) reads it crash. On the saas, some custo also reads it and crashes. Two observations: - this page doesn't need the asset `documents.webclient` (in which is included the backend view stuff and the saas custo) - we can use the `documents.public_page_layout` which already includes `odoo.__session_info__` and the design is more aligned with the other documents public pages Note that I can't really write a test because nothing breaks in standard (except in debug mode) Task: 4297246 Forward-Port-Of: odoo/enterprise#73042
This update removes unused code from the Indian GST returns reporting area. It should make the module easier to maintain without changing day-to-day functionality for users.
Users can now remove an online bank synchronization from the cog menu even if the connection is currently showing an error. This avoids getting stuck with failed or broken connections that previously could not be deleted.
Original PR description
This commit will authorize to delete an online synchronization from the cog menu even if the connection is in error. Previously, we added a check that if the connection throws a user error or a redirect warning we can't delete it. We will remove this. task: 3981648
The subscription close reason list has been cleaned up by merging two entries that represented the same end-of-contract reason. This reduces confusion for users and keeps subscription reporting and selection more consistent.
Original PR description
The close reason with id 'close_reason_3', is currently the same reason as the 'close_reason_end_of_contract'. To avoid having subscriptions with the same functionnal reason in two different reasons, we merge these two. We keep the one with the id 'close_reason_end_of_contract' as it is referenced in the code base. TASK-ID: 4294258
Intrastat reports can now include service transactions in addition to goods, supporting Belgian declarations that require service statistics. Users get filters, service codes, and clearer product labels so service reporting can be handled in the existing Intrastat workflow.
Original PR description
[IMP] account_intrastat,l10n_be_intrastat: Add support for service Currently, the Intrastat report is restricted to products whose product type is different than services. Though, statistics report can also be required on Services, such as Declarations F01DGS & F02CMS (Manual : https://www.nbb.be/doc/dq/e_pdf_bb/f01dgs-f02cms_manual_en.pdf) This commit intend to improve the Intrastat report to also include services. Since commodities and services share a lot of similarities, we didn't create a new report but rather added a filter inside the current Intrastat report. It also adds a new column for the service categories and all the service codes. On the product, the string of the commodity code changes if the product is a commodity or a service (and become Service Code in that case) task-2835786
Users can now open CSV files directly in Odoo Spreadsheet from Documents. This makes it easier to view and work with tabular data without converting files outside Odoo.
Original PR description
This commit allows users to open and work with CSV files directly in the Odoo Spreadsheet application task-3869098
Sign email templates now adapt better to mobile screens. This improves readability and usability for people reviewing or signing documents from phones or tablets.
Original PR description
Before this commit, email templates in sign are not responsive in mobile which can cause inconvenience to user. After this commit, make sign email templates responsive for mobile so users will have a better experience with email templates on their mobile devices task-4034697
Knowledge article comments have been reorganized to make editing content easier and comment placement more reliable. The update also centralizes comment actions such as adding, resolving, deleting, and storing comments, which should make the experience more consistent for users.
Original PR description
This commit modifies the comments system so that it is more compliant with the actual state of the codebase in Odoo. The handler is moved below the editor instead of next to it so that it is easier to interact with the editable content. The position of comments is now handled by the KnowledgeCommentsHandler which sets each comment's top position before displaying them. All the bus communications between the handler and the panel are mostly gone and replaced by a service (KnowledgeCommentsService) which handles all the operations linked to the comments' destruction, resolution, insertion and storage. task-3557584
Timesheet leaderboard rankings now take each user's access rules into account, including company-specific permissions. This helps ensure rankings are accurate and fair when employees can record time across different companies or restricted records.
Original PR description
Currently, ir.rules are totally ignored in the leaderboard calculation, leading to wrong ranking in some cases (e.g. ir.rule allowing the user to timesheet across companies). This PR aims to make the leaderboard cognizant to ir.rules, by making sure all the ir.rules are applied to every query used in the leaderboard calculation. task-4040044
Updated the help text in the barcode stock workflow so users see clearer, accurate guidance. This reduces confusion during warehouse operations without changing underlying functionality.
when running this test in no-demo mode, test was breaking as there was no email information created during test. Creating email information for partner fixes the issue. [link to runbot build errors](https://runbot.odoo.com/web#id=102115&menu_id=424&cids=1&action=573&model=runbot.build.error&view_type=form) Forward-Port-Of: odoo/enterprise#72959
Original PR description
when running this test in no-demo mode, test was breaking as there was no email information created during test. Creating email information for partner fixes the issue. [link to runbot build errors](https://runbot.odoo.com/web#id=102115&menu_id=424&cids=1&action=573&model=runbot.build.error&view_type=form) Forward-Port-Of: odoo/enterprise#72959
Before this commit, next appointment was shown on a table even if this appointment was not for today. We not only allow to show today's appointment on the floor screen. task-id: 4285487 Forward-Port-Of: odoo/enterprise#72762
Original PR description
Before this commit, next appointment was shown on a table even if this appointment was not for today. We not only allow to show today's appointment on the floor screen. task-id: 4285487 Forward-Port-Of: odoo/enterprise#72762
Purpose ======= Show the documents types (folder, url and files mimetypes) using icons in the list view. Specification ============= Creating a new 'documents_type_icon" widget that can be displayed alongside the documents names. Reducing the 'type' column's width and removing the column title to make the type icon feel like a part of the document name. Also coloring the shortcuts in blue in the list view. Task-4263142 Forward-Port-Of: odoo/enterprise#72163
Original PR description
Purpose ======= Show the documents types (folder, url and files mimetypes) using icons in the list view. Specification ============= Creating a new 'documents_type_icon" widget that can be displayed alongside the documents names. Reducing the 'type' column's width and removing the column title to make the type icon feel like a part of the document name. Also coloring the shortcuts in blue in the list view. Task-4263142 Forward-Port-Of: odoo/enterprise#72163
This pr is created to help de user to know the origin of the afip error 10016. The error 10016 can be caused by different origins, so here we give the user more precision about the origin. The objective of this pr is to be able to differentiate what is the origin of error 10016 and to be able to give a more precise message to the client. 1) If the last afip invoice validated has a higher date than the date of the invoice that is being validated then the message shown to the user is '10016-
Original PR description
This pr is created to help de user to know the origin of the afip error 10016. The error 10016 can be caused by different origins, so here we give the user more precision about the origin. The…
This pr is created to help de user to know the origin of the afip error 10016.
The error 10016 can be caused by different origins, so here we give the user more precision about the origin. The objective of this pr is to be able to differentiate what is the origin of error 10016 and to be able to give a more precise message to the client.
1) If the last afip invoice validated has a higher date than the date of the invoice that is being validated then the message shown to the user is '10016-1': 'The invoice date cannot be after the last invoice validated in AFIP.'
2) If the last afip invoice number is higher than the current invoice number being validated in Odoo, then the message shown to the user is '10016-2': 'There may have been a mismatch in the numbering of this type of document between Odoo and AFIP.'
3) If any other reason cause the error '10016' then the message shown to the user is:
* Please note that if you are trying to validate an invoice with a date other than today, you must verify if it falls within the date range according to the AFIP concept or document type:
a) If it is Product: N+5 or N-5 with N being today's date.
b) If it is Services or Products and services: N+10 or N-10 with N being today's date.
c) If it is a MiPyme Invoice: N-5 0 N+1 with N being today's date. For Debit Note or Credit Note only N-5"
Task Adhoc side: 37771
Task latam side: 1194
This pr replaces https://github.com/odoo/enterprise/pull/65675
Forward-Port-Of: odoo/enterprise#72901
Forward-Port-Of: odoo/enterprise#72656When this report contained too many lines (~6000), the browser couldn't handle the load and did not manage to render it. This is a known case, which normally only happens with line expansion, for which the prefix groups and load more features have been made. In this case, though, it's a bit different, as those lines are directly at the root of the report (they don't come from a line expansion). We make the choice here to use the load_more_limit anyway as a means to put a limit to the number of l
Original PR description
When this report contained too many lines (~6000), the browser couldn't handle the load and did not manage to render it. This is a known case, which normally only happens with line expansion, for…
When this report contained too many lines (~6000), the browser couldn't handle the load and did not manage to render it. This is a known case, which normally only happens with line expansion, for which the prefix groups and load more features have been made. In this case, though, it's a bit different, as those lines are directly at the root of the report (they don't come from a line expansion). We make the choice here to use the load_more_limit anyway as a means to put a limit to the number of lines that are shown. When this limit is reached, we just don't display the exceeding lines, and replace them by a summary line. To avoid confusion, a warning is now shown on top of the report when some lines need to be hidden. Since such a warning requires a module update (because it's a template, and needs to exist in db), we only apply our new trimming mechanism if the warning template exists (and can hence be displayed). This way, we won't change the behavior on existing databases without being sure the user is properly notified. Plus, thanks to that, we're sure the old load_more_limit value (originally 80 by default) set on the VAT Book will have been increased to a value fitting our use case more, so we won't bother people with excessive trimming. Original fix suggestion raised here by Adhoc: https://github.com/odoo/enterprise/pull/45936 Forward-Port-Of: odoo/enterprise#72836 Forward-Port-Of: odoo/enterprise#72096
**Current behavior:** Return labels are being generated with the `shipper` field set to the partner defined on the delivery picking (i.e., customer). **Expected behavior:** `shipper` should match the `ship_to` field (the original sender) as this field informs who gets billed for the return shipment. **Steps to reproduce:** Generate a return label with `delivery_ups_rest`. **Cause of the issue:** The return label is generated with `shipper=picking.partner_id`. **Fix:** Set it to
Original PR description
**Current behavior:** Return labels are being generated with the `shipper` field set to the partner defined on the delivery picking (i.e., customer). **Expected behavior:** `shipper` should match the `ship_to` field (the original sender) as this field informs who gets billed for the return shipment. **Steps to reproduce:** Generate a return label with `delivery_ups_rest`. **Cause of the issue:** The return label is generated with `shipper=picking.partner_id`. **Fix:** Set it to `shipper=picking.picking_type_id.warehouse_id.partner_id` (which matches the `ship_to` argument). opw-4147118 Forward-Port-Of: odoo/enterprise#72482
Steps to reproduce: - Switch to 'FR company' > New employee > New contract (Use defaults) - Payroll app > Payslips > All Payslips - New Payslip for your employee using a french structure (like 'cadre') - Compute sheet > Salary computation tab - (Maybe set 'Salary Journal' in Configuration > Structures if needed) Salary rule codes were translated leading to confusion in the fields to fetch when computing payroll sheets. opw-4240326 Forward-Port-Of: odoo/enterprise#72872
Original PR description
Steps to reproduce: - Switch to 'FR company' > New employee > New contract (Use defaults) - Payroll app > Payslips > All Payslips - New Payslip for your employee using a french structure (like 'cadre') - Compute sheet > Salary computation tab - (Maybe set 'Salary Journal' in Configuration > Structures if needed) Salary rule codes were translated leading to confusion in the fields to fetch when computing payroll sheets. opw-4240326 Forward-Port-Of: odoo/enterprise#72872
It was previously already done in commit 148810637bf9e7a9cc53338f665ec612221a1ba2 . But in the meantime new modules were added or the 'countries' info were added back to the manifest. Currently the auto_install does not work correctly. E.g. installing `account_reports` and then `l10n_lv` does not automatically install `l10n_lv_reports` (which it should). After this commit the auto_install works again. Forward-Port-Of: odoo/enterprise#73015 Forward-Port-Of: odoo/enterprise#72299
Original PR description
It was previously already done in commit 148810637bf9e7a9cc53338f665ec612221a1ba2 . But in the meantime new modules were added or the 'countries' info were added back to the manifest. Currently the auto_install does not work correctly. E.g. installing `account_reports` and then `l10n_lv` does not automatically install `l10n_lv_reports` (which it should). After this commit the auto_install works again. Forward-Port-Of: odoo/enterprise#73015 Forward-Port-Of: odoo/enterprise#72299
Some reports have been edited to have qweb default content that was meant to only be used from within studio. ```xml <t t-field="some_field">studio placeholder</t> ``` This content is displayed if the evaluated value is either False or None. This can also happen outside studio, if the field is not required. An attribute `data-oe-demo` was introduced for t-fields. ```xml <t t-field="some_field" data-oe-demo="studio placeholder"/> ``` This attribute was introduced for t-field no
Original PR description
Some reports have been edited to have qweb default content that was meant to only be used from within studio. ```xml <t t-field="some_field">studio placeholder</t> ``` This content is displayed if the evaluated value is either False or None. This can also happen outside studio, if the field is not required. An attribute `data-oe-demo` was introduced for t-fields. ```xml <t t-field="some_field" data-oe-demo="studio placeholder"/> ``` This attribute was introduced for t-field nodes in order to only display placeholder content inside the report editor. We didn't introduce it for `t-out` as it was possible to change the expression `<t t-out="obj.prop"/>` -> `<t t-out="obj.prop or ''"/>` While this definitely works, the attribute better signals the intent of the change. We thus add support for the attribute on t-out. Forward-Port-Of: odoo/enterprise#72967