Friday, September 27, 2024
49 changes · 18.0
New functionality added to Odoo
This update adds support for Swiggy delivery orders through UrbanPiper in Odoo Point of Sale. It also improves order tracking by using consistent platform IDs and sequence numbers, making delivery order handling clearer for staff.
Original PR description
After this commit: ----------------------- - A sequence number has been introduced to manage floating orders. - We display the platform ID instead of the order OTP because the platform ID is consistent across all providers, while the OTP information may vary depending on the provider. - A new pos_urban_piper_swiggy module added to support Swiggy integration with Urbanpiper. Task-4195863
A new Uber Eats integration has been added for Point of Sale through UrbanPiper. This allows businesses using UrbanPiper to manage Uber Eats delivery orders more directly within Odoo, reducing manual handling and improving operational coverage.
Original PR description
After this commit: ==== - A new pos_urban_piper_ubereats module added to support Ubereats integration with Urbanpiper. Task-4190230
Enhancements to existing features
The web interface now lets teams define custom visual styles for fields that show remaining days. This makes it easier to highlight time-sensitive records according to each business process, such as marking items as healthy or urgent based on configured day thresholds.
Original PR description
This commit adds the ability to customize the classes of the `remaining_days` field through the `classes` option.
Usage:
```xml
<field
name="fname"
widget="remaining_days"
options="{'classes': {'success': 'days >= 10'}"
/>
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prResolved issues and error corrections
The Discuss sidebar now makes the selected conversation easier to identify in dark mode. This reduces visual confusion in compact sidebars and improves readability for users working in Odoo Discuss.
Original PR description
The active item had black background with light grey rounding. The border looked too hard especially in a narrow space like the sidebar, and the black background was too similar with background of…
The active item had black background with light grey rounding. The border looked too hard especially in a narrow space like the sidebar, and the black background was too similar with background of channel with subthreads or in a call when compact. This commit adapt style to match `$o-action` of white theme, while adjusting color of background and border to look nice with dark theme of discuss app. Before / After <img width="300" alt="Screenshot 2024-09-26 at 18 30 11" src="https://github.com/user-attachments/assets/89ad4598-0182-44d6-9cd1-9dd29782c86a"> <img width="302" alt="Screenshot 2024-09-26 at 18 40 00" src="https://github.com/user-attachments/assets/526ad052-fab7-4e56-b6a1-88d1e8fe1a03"> Before / After <img width="59" alt="Screenshot 2024-09-26 at 18 41 14" src="https://github.com/user-attachments/assets/18688413-04b8-4f14-9966-ebed7416585d"> <img width="63" alt="Screenshot 2024-09-26 at 18 40 59" src="https://github.com/user-attachments/assets/ab6178d2-2a05-41e0-bb73-0433191f64b9">
Code cleanup and technical improvements
This update simplifies the way imported data is processed, reducing unnecessary database work. It should make imports more efficient while keeping existing behavior unchanged for users.
Original PR description
https://github.com/odoo/odoo/pull/174366 task-4027103
Miscellaneous changes
Steps to reproduce: 1) Create new attribute value (do not save) 2) Click on delete 3) Confirm deletion in the dialog Reason: When the record is new it does not have resId. But `unlink` only accepts list of type 'number' otherwise it throws an error. Forward-Port-Of: odoo/odoo#181151
Original PR description
Steps to reproduce: 1) Create new attribute value (do not save) 2) Click on delete 3) Confirm deletion in the dialog Reason: When the record is new it does not have resId. But `unlink` only accepts list of type 'number' otherwise it throws an error. Forward-Port-Of: odoo/odoo#181151
Users can now include property fields when importing and exporting records, making these flexible custom data points easier to manage in bulk. This improves data migration and reporting workflows while keeping property definitions controlled by the related parent record.
Original PR description
https://github.com/odoo/enterprise/pull/69287 task-4027103
Event reminder and follow-up messages now send in smaller batches instead of trying to process every registration at once. This reduces the risk of failed scheduled jobs, duplicate messages, and performance issues for large events using email or SMS communications.
Original PR description
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards…
RATIONALE
When invoked through cron, event schedulers currently run on all available
registrations. This can lead to Memory or Time errors when dealing with
big events. We should instead move towards an interactive sending, committing
after each batch, to gradually send communications without errors and without
sending multiple times mails, sms, whatsapp messages, ...
SPECIFICATIONS
Global approach for this PR
* rewrite schedulers execution code, notably to have more control on
input / output of each type: event-based or attendee-based schedulers,
give registrations to contact as input, ... ;
* introduce more performance oriented code: avoid filters on all attendees,
search for batches instead; find once attendees to contact then;
delegate the sending only to sub modules;
* make communications iterative
* event-based: use recently introduced "last_registration_id" field to know
at which point process was stopped, and resume communication sending;
* attendee-based: contact by batches;
* make code more defensive against ill defined templates and issues during
communication sending;
* add / improve tests;
See sub commits for more details.
Task-3814592: Event: Limit scheduler in cron mode
Task-3084943: Event: Improve communication scheduler scalabilityThe shop floor view no longer applies the default “This Station” filter, so teams can see manufacturing orders beyond the current workstation by default. This change is possible because prior performance improvements now keep the view responsive without needing that restriction.
Original PR description
The 'This Station' default filter was introduced in [1] as a stopgap solution for limiting the amount of MOs loaded simultaneously in the view, to avoid performance bottlenecks. Since the introduction of a limit (also in [1]), as well as later performance improvements from [2], the performance of the shop floor is now acceptable without this filter, so we proceed with removing it completely in this PR. [1] https://github.com/odoo/enterprise/pull/64551 [2] https://github.com/odoo/enterprise/pull/66898
Event-related automated messages now run in smaller batches and can resume where they stopped, reducing failures for large events. This helps prevent duplicate emails, SMS, WhatsApp messages, and social posts while improving reliability and performance.
Original PR description
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards…
RATIONALE
When invoked through cron, event schedulers currently run on all available
registrations. This can lead to Memory or Time errors when dealing with
big events. We should instead move towards an interactive sending, committing
after each batch, to gradually send communications without errors and without
sending multiple times mails, sms, whatsapp messages, ...
SPECIFICATIONS
Global approach for this PR
* rewrite schedulers execution code, notably to have more control on
input / output of each type: event-based or attendee-based schedulers,
give registrations to contact as input, ... ;
* introduce more performance oriented code: avoid filters on all attendees,
search for batches instead; find once attendees to contact then;
delegate the sending only to sub modules;
* make communications iterative
* event-based: use recently introduced "last_registration_id" field to know
at which point process was stopped, and resume communication sending;
* attendee-based: contact by batches;
* make code more defensive against ill defined templates and issues during
communication sending;
* add / improve tests;
See sub commits and linked community PR for more details.
Task-3814592: Event: Limit scheduler in cron mode
Task-3084943: Event: Improve communication scheduler scalabilityAppointment manual confirmation now depends on the selected booking slot rather than the scheduled day, giving administrators better control during busy periods. Customer confirmation emails are clearer because accept and decline actions are reserved for admins, and cancelled appointment records are labeled more accurately.
Original PR description
### Purpose Currently, manual confirmation was inconveniently triggered based on scheduled booking days, causing users inconvenience. The purpose of this PR is to Change the Manual Confirmation Trigger conditions and Change Mail Template when Manual Confirmation is enabled. ### Specs **1. Update Trigger Conditions for Manual Confirmation** - Change trigger conditions to be based on booking slots instead of scheduled days. This allows admins to verify bookings manually before confirmation, especially during peak times. **2. Revise Mail Template for Confirmation** - Update mail template context for users receiving confirmation notifications. - Remove 'Accept' and 'Decline' buttons, as only admins can now accept or decline bookings. **3. Appointment Booking Form View Improvements** - Changed 'Archived' ribbon to 'Cancelled', when an appointment type is set. Task-3918889
The quote builder now restores the document preview in sales quotations and improves how the PDF placeholder appears. This helps sales users verify attached quote documents more reliably before sending them to customers.
Original PR description
`o_kanban_previewer` was wrongly removed in dbe94039de1be49f33505445d1e27543c3137d4f. This commit brings it back and improves the display of the pdf placeholder.
Combo products no longer show the invoicing policy field in Sales and Point of Sale product forms. This avoids displaying a setting that does not apply to combo products, reducing confusion during product setup.
Original PR description
Issue: - The invoicing policy field is displayed for all product types, including combo products. Fix: - Hide invoicing policy field for products of type 'combo'. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where paid orders created while the point of sale was offline could remain unsynced after the session was restarted. Businesses can rely on offline sales being uploaded once connectivity returns, reducing the risk of missing orders or revenue records.
Original PR description
Before this commit, orders created in offline mode would not sync upon restarting the session once back online. opw-4213314 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several issues in return and exchange workflows, including incorrect quantity handling, duplicate procurement creation, and sale order updates during multi-step returns. It helps businesses process returns more accurately, especially when products use lots, different units of measure, or exchange shipments.
Original PR description
This commit unpack the keys and values of `layers_by_lot` correctly + use the uom of the product's move not the lot Task :4210510 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
Fixes an issue in the restaurant point of sale demo data where paid demo orders could remain stuck on the floor plan, and one demo table could not accept new orders. This helps users testing or demonstrating restaurant workflows complete payments and continue ordering normally.
Original PR description
Steps to reproduce : --------------------------- - Install the pos_restaurant module. - Open any demo orders, let's say table 1 - Make the payment, then go to the receipt screen then the floor plan - [ISSUE] Order is still there. - In Table 6, can't even place the order Cause : --------- 1. Demo orders case was not handled in the "sync_from_ui" method leading to this issue 2. Uuid was not given for the Table 6 order line, causing this misbehavior. Fix : ------ 1. Handled the case for demo orders in the "sync_from_ui" method 2. Provide uuid for table 6 order line at the time of creation Task: 4212901
This fixes searches by display name for records in affected areas where that search option had stopped working. Users can again find the right aliases, project tasks, and recruitment department pages using familiar names.
Original PR description
Since https://github.com/odoo/odoo/pull/181529, we cannot search on display name for some models that define themselves the field without specifying the search method. The `display_name` field is defined (including its compute method) only when the model does not define it yet. Existing declarations were missing a `search` declaration. odoo/enterprise#70746 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix corrects how amounts are calculated for the accounting dashboard so the displayed figures better match the underlying journal entries. It helps finance users rely on dashboard totals for quicker, more accurate day-to-day review.
Original PR description
It's hard to describe in words, hope you understand through the attached description file  https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1079 https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1083 https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1088 [description table.ods](https://github.com/user-attachments/files/17140814/description.table.ods) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Several website building blocks were adjusted so images keep their intended size and layouts remain consistent. The changes remove problematic alignment behavior, improve grid editing options, and fix visual issues on desktop and mobile.
Original PR description
This PR regroups some fixes about snippets with columns wrongly set to `display: flex` in order to have a "Vertical Alignment" option to align the content in it. Indeed, `display: flex` should be avoided, as any element in it tries to fill the available space, making the images not have their real size.
The barcode scanner now waits until the camera is ready before related actions can close it, reducing interruptions during startup. It also stops repeated scan attempts once the camera stream is closed, preventing potential loops and instability when users exit the scanner.
Original PR description
This commit changes two things: 1. Adds `onReady` props to be able to call a method when the video scanner is ready. In the Barcode app for example, this prop will let us to prevent to close the camera during its initialization. 2. Avoids to set a timeout for `detectCode` if there is no more stream. Without this change, it could happens something goes wrong when closing the camera video scanner and then, it will loop infinitly on `detectCode` because the timeout code part is outside of the try/catch and so it is called anyway everytime `detectCode` is run. Enterprise PR: odoo/enterprise#70607
Fixes layout and visibility issues in the website text cover snippet so it behaves more consistently across screen sizes. This helps website editors create pages that resize smoothly and display correctly on mobile devices.
Original PR description
This commit fixes the `s_text_cover` snippet template to: - remove the padding `pt pb` classes, as they are useless in grid mode, - fix the `g-height-*` classes, as they were not matching the number of rows and it is needed to resize smoothly, - fix a `col-lg-*` class as it needs to match with the grid one, - fix the mobile visibility classes: the mobile breakpoint is at `LG` and it was missing the `o_snippet_mobile_invisible` class. task-3665300
The Project app now shows the correct wording for the stat button that lists tasks blocking the current task. This avoids confusion by changing the label from "Blocking Tasks" to "Blocked Tasks" so users better understand the task relationship.
Original PR description
Before: The 'blocked by' stat button in the Project module incorrectly displays as 'Blocking Tasks'. After: The text of the 'blocked by' stat button has been updated from 'Blocking Tasks' to 'Blocked Tasks' in the Project module. task-4119271
The editor now shows the placeholder hint inside empty quote blocks with the same padding as typed text. This makes the editing experience look cleaner and reduces confusion about where text will appear.
Original PR description
This commit adds the styling rules for the blockquote (present in the web_editor module), and fixes the padding for the hint that is displayed when the blockquote is empty. Before this commit, the hint would be displayed on the top left corner of the blockquote without any padding, which, other than looking bad, does not match the position in which the text is inserted after typing. task-4207507
Product images in field service sales now appear at a more appropriate size, and placeholder images are shown when no product image is available. This makes product views cleaner and more consistent for users.
Original PR description
Currently, the product image is displayed in a large size, and the empty image is not shown. Both issues have been fixed in this commit. task-4188603
Fixed an issue where validation and export buttons could disappear on batch payments when online payments were installed but not configured for a bank journal. This ensures users can continue validating and exporting relevant payment batches without unnecessary setup changes.
Original PR description
Before this commit, when account_online_payment was installed and no payment initiation was configured on a bank journal, the batch validation and export buttons never appeared on the batch payments made on this journal.
Users can now create a new spreadsheet from Documents while debug mode is enabled without running into an error. This fixes a crash caused by certain folder selections, improving reliability for users and administrators working in debug mode.
Original PR description
Steps to reproduce: - enable debug mode - go to Documents - select My Drive - click on New > Spreadsheet => boom `OwlError: Invalid props for component 'TemplateDialog': 'folderId' is not a number` The props can also be a string like `"MY"`, `"COMPANY"` or `"TRASH"`
This update prevents copied databases from unintentionally connecting to Urban Piper external services. It helps support teams investigate issues safely without affecting live operations or customers.
Original PR description
This commit adds the missing neutralization necessary for the pos_urban_piper module introduced in [1] The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/enterprise/pull/66733
Bookkeepers can now use the Secure Entries wizard as intended. This removes an access-rights blocker so accounting teams can complete secure entry workflows without needing extra help or elevated roles.
Original PR description
Currently bookkeepers do not have the rights to use the Secure Entries wizard. This is fixed in this commit.
This fix restores the ability to search records by their displayed name in several business areas where it had stopped working. Users can again find relevant records more easily in accounting synchronization, payroll, sales subscriptions, commissions, and signing workflows.
Original PR description
Since https://github.com/odoo/odoo/pull/181529, we cannot search on display name for some models that define themselves the field without specifying the search method. The `display_name` field is defined (including its compute method) only when the model does not define it yet. Existing declarations were missing a `search` declaration. odoo/odoo#181563
This fix removes an extra message panel that was appearing in manufacturing maintenance screens. Users will now see a single chatter area, reducing visual clutter and avoiding duplicate communication sections.
Original PR description
The chatter was added in the main view via odoo/odoo#175329 so we need to remove this one otherwise we'll see 2 chatters.
Online payment setup now excludes internal transfers because they are no longer supported. This prevents unsupported payment initiation data from being sent, helping businesses avoid failed or confusing payment workflows.
Original PR description
Internal transfers are no longer supported as per b4da30bfa8a82959f91f606cb94c0704d4afccb8. This commit adjusts payment initiations' payloads to reflect this change.
When a spreadsheet-based quality check fails, users now remain on the spreadsheet screen so they can read the failure message. This helps operators understand what went wrong before choosing to return to the Shop Floor view.
Original PR description
When a quality check of type 'spreadsheet' fails, we want to show the failure message and stay on the spreadsheet view. That way the user has the time to see what failed. They can still use the 'Shop Floor' link to return to the shopfloor view.
Portal users can now see the Home section in the Documents search panel. This makes it easier to return to the full overview of folders and documents after browsing inside a specific folder.
Original PR description
This commit enables the display of the home section in the documents search panel for portal users. This allows portal users, for example, to return to a view encompassing all folders and documents after inspecting the contents of a folder. task-3373836
Dragging a single document no longer shows an incorrect “undefined” message in list or kanban views. Document cards also keep key visual details, like the owner avatar and activity icon, consistently positioned for a clearer user experience.
Original PR description
This commit fix the 'undefined' message when trying to drag and drop a single document in the kanban and list view. It also fix the owner avatar and activity icon to always stick to the bottom of the kanban card.
When users preview a document and then switch folders, the control panel actions now refresh correctly. This prevents outdated options from lingering, making document navigation more reliable and reducing user confusion.
Original PR description
…ewing This commit fixes the remaining actions after switching folders while previewing a document.
Portal users can now switch to the document list view without encountering a client error. This improves reliability for external users who access and manage shared documents through the portal.
Original PR description
When portal users try to switch to the list view, they get a client error. The error is solved by keeping the studio service accessible to the ListRenderer. task-3373836
The barcode scanner can no longer be closed while the camera is still starting up. This prevents errors and failed scanning sessions for warehouse users who use camera-based barcode scanning.
Original PR description
This commit makes it not possible to close the barcode video scanner during its initialization. It prevents a lot of issue. Community PR: odoo/odoo#181294
Before this commit, the "tour pointers" that indicated to users that they needed to scroll the "snippets modal" were misaligned. Their position did not account for the iframe offset of the modal. task-4072655 Forward-Port-Of: odoo/odoo#181146
Original PR description
Before this commit, the "tour pointers" that indicated to users that they needed to scroll the "snippets modal" were misaligned. Their position did not account for the iframe offset of the modal. task-4072655 Forward-Port-Of: odoo/odoo#181146
In the context of the industries we want to create custome js tours. The role of these tours is to explain some flows to the user in a more intuitive version than text. Currently those tours are counted in the mainenance line of code. This comportment is not intended. After this commit, we will look at the cloc_excluded argument in the manifest and exclude those from the maintenance line of code. task-4056239 Description of the issue/feature this PR addresses: Current behavior before
Original PR description
In the context of the industries we want to create custome js tours. The role of these tours is to explain some flows to the user in a more intuitive version than text. Currently those tours are counted in the mainenance line of code. This comportment is not intended. After this commit, we will look at the cloc_excluded argument in the manifest and exclude those from the maintenance line of code. task-4056239 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#178190
Steps to reproduce: - Create 2 websites and give them a different domain - Go to any product page (shared between all websites) - Check the source code with https://validator.schema.org/: the URL and image microdata start with the wrong domain. => Case 1: if no company_id was set on the product, the URL returns `web.base.url`. => Case 2: if a company_id is set and that company has a website_id set, both websites return the company's website domain. This commit makes sure to return the cu
Original PR description
Steps to reproduce: - Create 2 websites and give them a different domain - Go to any product page (shared between all websites) - Check the source code with https://validator.schema.org/: the URL and image microdata start with the wrong domain. => Case 1: if no company_id was set on the product, the URL returns `web.base.url`. => Case 2: if a company_id is set and that company has a website_id set, both websites return the company's website domain. This commit makes sure to return the current website domain. opw-4113559 Forward-Port-Of: odoo/odoo#179455
In the Inventory Adjustments view, it is currently possible to select any user for a count request or assign any user to a specific stock.quant, even portal users. This fix ensures only stock users are selected. task 4207784 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181376
Original PR description
In the Inventory Adjustments view, it is currently possible to select any user for a count request or assign any user to a specific stock.quant, even portal users. This fix ensures only stock users are selected. task 4207784 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181376
Steps to reproduce: -go to shop -choose product which has multi option attribute -tick atleast one attribute -add to cart Issue: -multi option values are not visible in cart description in mobile view. Cause: -the issue caused due to use of d-none and d-md-block classes, due to this it will not show in small size devices. Fix: -replace d-none and d-md-block with empty string, so now the values will show for all devices. opw-3853263 --- I confirm I have signed the CLA a
Original PR description
Steps to reproduce: -go to shop -choose product which has multi option attribute -tick atleast one attribute -add to cart Issue: -multi option values are not visible in cart description in mobile view. Cause: -the issue caused due to use of d-none and d-md-block classes, due to this it will not show in small size devices. Fix: -replace d-none and d-md-block with empty string, so now the values will show for all devices. opw-3853263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178308
Finetuning of #176391, when ecommerce access was disabled to public users, the admin were unable to reference /shop urls even in restricted parts of the website if needed, because autocomplete didn't suggest those links anymore. Forward-Port-Of: odoo/odoo#181680
Original PR description
Finetuning of #176391, when ecommerce access was disabled to public users, the admin were unable to reference /shop urls even in restricted parts of the website if needed, because autocomplete didn't suggest those links anymore. Forward-Port-Of: odoo/odoo#181680
readonly was added to product template in commit 0d75323600a14dd8964b0b3d29d69aa0fde3ee45 When it should've just been on product.product, so users were no longer able to set as favorite from form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181531
Original PR description
readonly was added to product template in commit 0d75323600a14dd8964b0b3d29d69aa0fde3ee45 When it should've just been on product.product, so users were no longer able to set as favorite from form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181531
Before this commit, if there was an issue with printing via an ePoS printer, the system did not allow for printing the receipt through the web as a fallback. This was due to the erroneous passing of the error object instead of the receipt content. opw-4209073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181595
Original PR description
Before this commit, if there was an issue with printing via an ePoS printer, the system did not allow for printing the receipt through the web as a fallback. This was due to the erroneous passing of the error object instead of the receipt content. opw-4209073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181595
The Accounting and Benchmark dashboards were designed with a global filter working with months. But when filtering by quarter, everything breaks because formulas do not expect an input such as "Q4/2020". This commit disable the possibility to select quarters. Task: 4184088 Forward-Port-Of: odoo/enterprise#69991
Original PR description
The Accounting and Benchmark dashboards were designed with a global filter working with months. But when filtering by quarter, everything breaks because formulas do not expect an input such as "Q4/2020". This commit disable the possibility to select quarters. Task: 4184088 Forward-Port-Of: odoo/enterprise#69991
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70492 Forward-Port-Of: odoo/enterprise#70309
Original PR description
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70492 Forward-Port-Of: odoo/enterprise#70309
Make ShopFloor use IoT task: 4017327 Forward-Port-Of: odoo/enterprise#70733 Forward-Port-Of: odoo/enterprise#68706
Original PR description
Make ShopFloor use IoT task: 4017327 Forward-Port-Of: odoo/enterprise#70733 Forward-Port-Of: odoo/enterprise#68706
Currently, an error occurs when the system tries to access the attribute name 'account_fiscal_id' through 'company_id' [1] but it is not available in 'res_company' model. Step to produce: - Install the 'l10n_ke_edi_oscu_stock' module. - Create a product, Set a company as Kenya, Change a 'Product Type' storable to service or consumable. - Again change a 'Product Type' to a storable product. ```AttributeError: 'res.company' object has no attribute 'account_fiscal_id'``` Link [1]: ht
Original PR description
Currently, an error occurs when the system tries to access the attribute name 'account_fiscal_id' through 'company_id' [1] but it is not available in 'res_company' model. Step to produce: - Install the 'l10n_ke_edi_oscu_stock' module. - Create a product, Set a company as Kenya, Change a 'Product Type' storable to service or consumable. - Again change a 'Product Type' to a storable product. ```AttributeError: 'res.company' object has no attribute 'account_fiscal_id'``` Link [1]: https://github.com/odoo/enterprise/blob/3f0113b0d95200466f51b9c1f75b58a3534fb34c/l10n_ke_edi_oscu_stock/models/product.py#L21-L22 To resolve this issue, Get a product country code from 'account_fiscal_country_id' instead of 'account_fiscal_id' Sentry-5862212825 Forward-Port-Of: odoo/enterprise#70244 Forward-Port-Of: odoo/enterprise#70148