Tuesday, January 16, 2024
19 changes · master
Enhancements to existing features
The My Timesheets kanban view no longer displays the user avatar. This creates a cleaner, less redundant view for employees reviewing their own timesheet entries.
Original PR description
Following this commit, user avatar is been hide inside kanban view of 'my timesheets' option. task-3504529
This update aligns the names of demo email and SMS templates used in Field Service. It also adjusts the demo workflow so email is shown for planned work and SMS for work in progress, making automation examples easier to understand.
Original PR description
- Improve consistency between email and sms demo templates name - For the demo data, use the email template to inform user on `Planned` stage, and sms template on `In Progress` stage to better show automatisation possibilities. task-3504571
Resolved issues and error corrections
Field service product availability reports now show the warehouse tied to the sales order, or the user's default warehouse when no sales order warehouse is set. This helps teams see accurate stock forecasts for the relevant warehouse instead of defaulting to the first warehouse created.
Original PR description
In a FSM project, when using the `products` smart button, then `view availability` in the 3-dots menu, the warehouse displayed was always the first created one. The warehouse displayed should be related to which is defined on the SO or the current user one if missing. If user's default is also missing, we use the warehouse that have the lowest sequence (and that belong the the task's company). To reproduce behavior: - Install `industry_fsm_stock` - Create second warehouse (WH2) - Assign the new warehouse (WH2) to current user - Open a project in FSM app - On `Products` smart button, check the availability of a product. The displayed forecast report should be the base warehouse (YourCompany) task-3522292
Features or functions removed from Odoo
An outdated wizard for creating sales orders from projects has been removed from the timesheet sales module. This cleans up legacy functionality that was already deprecated and helps reduce maintenance overhead without affecting current workflows.
Original PR description
In this commit we have removed unused "project.create.sale.order" wizard this wizard was deprecated in this task 2637495, but it's still in the code and used in some tests. task-3632161
Miscellaneous changes
This draft change updates VoIP-related user and settings screens. It appears to adjust how VoIP preferences are managed for users, but the available information is limited because the pull request is still marked as work in progress.
Guests added to an appointment will now receive an email with the expected message instead of a blank body. This improves appointment communication by ensuring all invitees get the relevant details even when they are not the customer or event owner.
Original PR description
Fix the empty email body guests receive when being added to an appointment. Adding a condition in the template to handle the case when the user isn't a customer or the responsible of the event. Task-3684299
This update removes an obsolete grouping setting from several reports and dashboards because it no longer has any effect. Users should see no functional change, but the cleanup reduces outdated configuration across affected business areas.
Original PR description
As of https://github.com/odoo/odoo/pull/110737, 'group_by_no_leaf' is no longer used. Previously it was used to change the name of the '__count' aggregate of read_group() but had no effect anywhere (and the webclient just didn't care). Remove this remnant. https://github.com/odoo/odoo/pull/147735
When reconciling two exchange differences that should result into a full reconciliation the wizard raise an error. Forward-Port-Of: odoo/enterprise#54112
Original PR description
When reconciling two exchange differences that should result into a full reconciliation the wizard raise an error. Forward-Port-Of: odoo/enterprise#54112
Mirror of the following PR for WorldlineDriver_W: https://github.com/odoo/enterprise/pull/53951 Apart from the changes same as in the mentionned PR desribed below this PR also improves the WorldlineDriver_W. It adds some very much needed logging and smart sleep mechanics already present in the WorldlineDriver_L. It also adds a unique buffer size for all the variables used by C++ code (also already on WorldlineDriver_W). Finally it adds some comments to the C++ variables mapping to easily i
Original PR description
Mirror of the following PR for WorldlineDriver_W: https://github.com/odoo/enterprise/pull/53951 Apart from the changes same as in the mentionned PR desribed below this PR also improves the…
Mirror of the following PR for WorldlineDriver_W: https://github.com/odoo/enterprise/pull/53951 Apart from the changes same as in the mentionned PR desribed below this PR also improves the WorldlineDriver_W. It adds some very much needed logging and smart sleep mechanics already present in the WorldlineDriver_L. It also adds a unique buffer size for all the variables used by C++ code (also already on WorldlineDriver_W). Finally it adds some comments to the C++ variables mapping to easily identify them (you guessed it, also on WorldlineDriver_W already). The description below matches the https://github.com/odoo/enterprise/pull/53951 Currently, if you have 2 browser tabs or 2 different PoS using the same Worldline terminal, there was a way to do some damage if requests were started at the same time 1) Since we call C++ code through a thread without a mutex, it was possible to get a race condition and provoke a segmentation fault 2) Even if there was no race condition, we were not specifying to who the driver is replying all the time. So a cancel request on the 1st PoS could cancel an active transaction on the 2nd PoS. This PR fixes both issues by specifying the owner of the request and the cid in every single response sent from the driver to the frontend. I am also adding the cid to the data sent in a cancellation request as otherwise we don't know which transaction line we're cancelling. It replaces the threads by a queue to avoid race conditions in the future and respect the condition that all the Driver class logic must be executed in the "run" method for safe execution. It also fixes the Last Transaction Status popup which could accidentally "catch" the response from a transaction since it doesn't care about the cid. This PR also makes the popup consistent with the response (using error popup for a response resulting in an error). task-3676153 Forward-Port-Of: odoo/enterprise#54073
Let's say a `sale.subscription.report` list is inserted into a spreadsheet (e.g. in the Subscriptions dashboard). Right click on one of the list cells and click on "See record". It opens an auto-generated form view which is unusable. Ideally we would want to be redirected to the related sale order form view. That's what is done when click on a `sale.subscription.report` in the list view. It's done with `action="action_open_subscription_order"` on the list arch. Unfortunatly, we don't have suc
Original PR description
Let's say a `sale.subscription.report` list is inserted into a spreadsheet (e.g. in the Subscriptions dashboard). Right click on one of the list cells and click on "See record". It opens an auto-generated form view which is unusable. Ideally we would want to be redirected to the related sale order form view. That's what is done when click on a `sale.subscription.report` in the list view. It's done with `action="action_open_subscription_order"` on the list arch. Unfortunatly, we don't have such a mechanism to overwrite the action for lists in spreadsheet. So, in this commit, we introduce a minimal form view allowing to go the sale order, without having to find the field among the many many fields in the auto-generated form view. Task: 3680601 Forward-Port-Of: odoo/enterprise#54183
Forward-Port-Of: odoo/enterprise#52969
Original PR description
Forward-Port-Of: odoo/enterprise#52969
Versions: --------- saas-16.4 Steps: --------- - Installed planning module - Open Planning - Create shift and published - copy the shift Issue: --------- When we copy the published shift, a new shift published stage is created. Cause: --------- Copy true is given in the stage field, so the stage of the new shift is copied. Fix: --------- Prevent copying the status field when duplicating shifts. task-3524295 Forward-Port-Of:
Original PR description
Versions:
---------
saas-16.4
Steps:
---------
- Installed planning module
- Open Planning
- Create shift and published
- copy the shift
Issue:
---------
When we copy the published shift, a new shift published stage is created.
Cause:
---------
Copy true is given in the stage field, so the stage of the new shift is copied.
Fix:
---------
Prevent copying the status field when duplicating shifts.
task-3524295
Forward-Port-Of: odoo/enterprise#48614Enterprise counterpart of https://github.com/odoo/odoo/pull/148619 Task: 3668916 Forward-Port-Of: odoo/enterprise#54095 Forward-Port-Of: odoo/enterprise#53905
Original PR description
Enterprise counterpart of https://github.com/odoo/odoo/pull/148619 Task: 3668916 Forward-Port-Of: odoo/enterprise#54095 Forward-Port-Of: odoo/enterprise#53905
Forward-Port-Of: odoo/enterprise#54294 Forward-Port-Of: odoo/enterprise#54135
Original PR description
Forward-Port-Of: odoo/enterprise#54294 Forward-Port-Of: odoo/enterprise#54135
TaskID: 3672229 Forward-Port-Of: odoo/enterprise#53800
Original PR description
TaskID: 3672229 Forward-Port-Of: odoo/enterprise#53800
Forward-Port-Of: odoo/enterprise#54194
Original PR description
Forward-Port-Of: odoo/enterprise#54194
How to reproduce: -Insert a datasource from a standard pivot view - open the corresponding sidepanel (top menu > Data > datasource in question) - undo 2-3 times so that the datasource is no longer in the sheet -> crash Task: 3551443 Forward-Port-Of: odoo/enterprise#49866 Forward-Port-Of: odoo/enterprise#48871
Original PR description
How to reproduce: -Insert a datasource from a standard pivot view - open the corresponding sidepanel (top menu > Data > datasource in question) - undo 2-3 times so that the datasource is no longer in the sheet -> crash Task: 3551443 Forward-Port-Of: odoo/enterprise#49866 Forward-Port-Of: odoo/enterprise#48871
[FIX] account_consolidation: prevent too-long account name Issue: Requesting consolidation report for consolidation name that is more than 40 characters resulted in runtime error Steps to reproduce: 1- Install consolidation app 2- create a new consolidation with a name longer than 40 characters 3- click the smart button "Consolidated Balance" Solution: Issue was that while generating the consolidation report for long name we needed to check if it is to be exported to pdf or xml or ju
Original PR description
[FIX] account_consolidation: prevent too-long account name Issue: Requesting consolidation report for consolidation name that is more than 40 characters resulted in runtime error Steps to reproduce: 1- Install consolidation app 2- create a new consolidation with a name longer than 40 characters 3- click the smart button "Consolidated Balance" Solution: Issue was that while generating the consolidation report for long name we needed to check if it is to be exported to pdf or xml or just a normal request and no export. This was done by checking the options dictionary but using a key named 'print_mode' this key no longer exists and has been replaced with 'export_mode'. opw-3629651 Forward-Port-Of: odoo/enterprise#53104
There is a field type 'reference' whose column type is 'varchar', but as reference is not a data type; it raises the traceback: "type 'reference' does not exist". So converted that reference field type to a text data type manually, as done for selection. reference: https://github.com/odoo/odoo/blob/60a3e7f9261bbf0b26cf815133bafd7628bc4133/odoo/fields.py#L2829 opw-3633753 Forward-Port-Of: odoo/enterprise#53482
Original PR description
There is a field type 'reference' whose column type is 'varchar', but as reference is not a data type; it raises the traceback: "type 'reference' does not exist". So converted that reference field type to a text data type manually, as done for selection. reference: https://github.com/odoo/odoo/blob/60a3e7f9261bbf0b26cf815133bafd7628bc4133/odoo/fields.py#L2829 opw-3633753 Forward-Port-Of: odoo/enterprise#53482