Daily updates from Odoo
Navigate
Branch
Monday, November 4, 2024
41 changes
11 changes
Resolved issues and error corrections
Kiosk self-ordering now receives timely online payment status updates, including when a payment is in progress and when it is completed. This prevents customers from getting stuck after scanning the payment QR code and helps the kiosk move smoothly to order validation once payment succeeds.
Original PR description
Currently, when using the kiosk with an online payment method, the kiosk does not receive notification about the payment status. Steps to reproduce: ------------------- * Select the **Point of Sale**…
Currently, when using the kiosk with an online payment method, the kiosk does not receive notification about the payment status. Steps to reproduce: ------------------- * Select the **Point of Sale** App * Under Configuration select **Payment Methods** * Create a new payment method (Online payment, Allowed Providers: Demo) * Now go into the setting of the restaurant (make sure session was closed) * Change the Payment methods, remove the cash and add the one created * Change Self Ordering to Kiosk then save * Open the kiosk and create an order * Go to pay the order * Scan the qr code * Pa with demo > Observation: 2 observations. First we don't receive the "In progress" notification after scanning the qr code. Second, we are not redirected to the validation page after the order was paid. In the backend orders are marked as paid. Why the fix: ------------ `request.env['bus.bus']` is empty. The issue was already solved in the next version with https://github.com/odoo/odoo/commit/31226b1a95242631a190d92e9ffb5ad97822bcbd#diff-a843415b00d5a84e604420ec6a19040426294ec9b5deeacf6f12876c12af06dd opw-4120145
Miscellaneous changes
Steps to reproduce: - Invoice any product(s) with only one percent based tax - Print the invoice > Check subtotals The mention 'n% on X' appears but other versions don't display this text if only one tax group is applied (Since there is no ambiguity). opw-4110516 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183871
Original PR description
Steps to reproduce: - Invoice any product(s) with only one percent based tax - Print the invoice > Check subtotals The mention 'n% on X' appears but other versions don't display this text if only one tax group is applied (Since there is no ambiguity). opw-4110516 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183871
* Before this commit, if you have .. image in manifest description like .. image:: image.png (image.png stay in static/description) , it will only work on odoo app store but in module info it isn't * After this commit, make it work in module info of Apps (base module) by replace 'src' (image.png) with static/description resource (/module_name/static/description/image.png) Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged
Original PR description
* Before this commit, if you have .. image in manifest description like .. image:: image.png (image.png stay in static/description) , it will only work on odoo app store but in module info it isn't * After this commit, make it work in module info of Apps (base module) by replace 'src' (image.png) with static/description resource (/module_name/static/description/image.png) 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#184436 Forward-Port-Of: odoo/odoo#182875
Steps to reproduce: - Fleet app > Any vehicle > Drivers History > Attachments - In mobile view > Primary button 'Upload' is not accessible - Primary button 'New' does not do anything This happens because the controller cannot find a form view for ir.attachment in fleet, which is the default view type for record creation (barring quickcreate stuff). Also d-none class hides the display of the 'Upload' button but the dropdown menu arrow is still there which is rather confusing. Seeing how
Original PR description
Steps to reproduce: - Fleet app > Any vehicle > Drivers History > Attachments - In mobile view > Primary button 'Upload' is not accessible - Primary button 'New' does not do anything This happens because the controller cannot find a form view for ir.attachment in fleet, which is the default view type for record creation (barring quickcreate stuff). Also d-none class hides the display of the 'Upload' button but the dropdown menu arrow is still there which is rather confusing. Seeing how both buttons serve the same purpose, there is no need to keep 'New' which has no corresponding view. opw-4229756 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183904
When viewing more than 1 viewable file in the FileViewer, the navigation buttons `<` and `>` are barely visible. This commit fixes it by putting white icon on dark rounded background for the buttons. Task-4056907 <img width="2559" alt="Screenshot 2024-10-30 at 17 34 03" src="https://github.com/user-attachments/assets/b26cc55c-d2e0-47f4-8c60-99fd55a46bf2"> Backport of https://github.com/odoo/odoo/pull/185909 Forward-Port-Of: odoo/odoo#185944 Forward-Port-Of: odoo/odoo#185910
Original PR description
When viewing more than 1 viewable file in the FileViewer, the navigation buttons `<` and `>` are barely visible. This commit fixes it by putting white icon on dark rounded background for the buttons. Task-4056907 <img width="2559" alt="Screenshot 2024-10-30 at 17 34 03" src="https://github.com/user-attachments/assets/b26cc55c-d2e0-47f4-8c60-99fd55a46bf2"> Backport of https://github.com/odoo/odoo/pull/185909 Forward-Port-Of: odoo/odoo#185944 Forward-Port-Of: odoo/odoo#185910
Before this commit, the selected value in dropdowns within the text editor toolbar was barely visible. This commit adds styles to highlight the selected option, making it clearly visible and aligned with the other dropdowns for better user experience and consistency. Before:  After:  task-4150489 Forward
Original PR description
Before this commit, the selected value in dropdowns within the text editor toolbar was barely visible. This commit adds styles to highlight the selected option, making it clearly visible and aligned with the other dropdowns for better user experience and consistency. Before:  After:  task-4150489 Forward-Port-Of: odoo/odoo#181060
Specification: This PR aims to resolve the issue occured while discarding the upload process the `this.fileInput.el` becomes undefined as image is discarded which resulted in traceback. task-4255826 Forward-Port-Of: odoo/odoo#183547
Original PR description
Specification: This PR aims to resolve the issue occured while discarding the upload process the `this.fileInput.el` becomes undefined as image is discarded which resulted in traceback. task-4255826 Forward-Port-Of: odoo/odoo#183547
Steps to reproduce: - Create and confirm an invoice at 2024/10/01 with a line containeing a tax_id - In journal items, try to "cut-off" Issue: You won't be able to do so because of the tax lock date Cause: We need the correct accounting date to find back the reference move but before the fix, a side effect was to check for tax lock date which does not make sense in this flow. We create move line without tax_ids/tag_grid and so it does not impact the tax report: https://github.com/odoo/
Original PR description
Steps to reproduce: - Create and confirm an invoice at 2024/10/01 with a line containeing a tax_id - In journal items, try to "cut-off" Issue: You won't be able to do so because of the tax lock date Cause: We need the correct accounting date to find back the reference move but before the fix, a side effect was to check for tax lock date which does not make sense in this flow. We create move line without tax_ids/tag_grid and so it does not impact the tax report: https://github.com/odoo/odoo/blob/16.0/addons/account/wizard/account_automatic_entry_wizard.py#L242-L271 Solution: we set the `has_tax` to False to byapss the check. The user, if he wishes, could excatly the same flow by creating an entry "a la mano" <-> We don't need to block this flow opw-4191527 Forward-Port-Of: odoo/odoo#185078
The regex used to extract the UID from `pos_reference` was too restrictive, failing when the session number exceeded 99999. This fix allows the UID extraction to handle references with larger session numbers. opw-4281163 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185155
Original PR description
The regex used to extract the UID from `pos_reference` was too restrictive, failing when the session number exceeded 99999. This fix allows the UID extraction to handle references with larger session numbers. opw-4281163 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185155
Steps to reproduce the bug: - Create a storable product “P1”: - tracked by serial number - Update the quantity with SN1 - Create a delivery: - Customer: Azure Interior - Product: P1 with SN1 - Validate the delivery - Create a return to WH/Stock and validate it - Go to the serial number Problem: The location is not updated and displays the partner location instead of WH/Stock. opw-4285271 Forward-Port-Of: odoo/odoo#185917
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1”:
- tracked by serial number
- Update the quantity with SN1
- Create a delivery:
- Customer: Azure Interior
- Product: P1 with SN1
- Validate the delivery
- Create a return to WH/Stock and validate it
- Go to the serial number
Problem:
The location is not updated and displays the partner location instead of WH/Stock.
opw-4285271
Forward-Port-Of: odoo/odoo#185917Currently, When the user adds a wrong ``div(eg: </div>)`` in a view's architecture and tries to save the view, then an error occurs. Steps to reproduce: - Go to Settings > Technical > Views > open a view - In View Architecture add ``closing div(eg: </div>)`` after any ``div`` - Then save manually, the error will occur. Traceback: `` ParserError: Multiple elements found (div, div)`` To solve this issue, the error has been handled using a try-except block in the ``parse_html`` method
Original PR description
Currently, When the user adds a wrong ``div(eg: </div>)`` in a view's architecture and tries to save the view, then an error occurs. Steps to reproduce: - Go to Settings > Technical > Views > open a view - In View Architecture add ``closing div(eg: </div>)`` after any ``div`` - Then save manually, the error will occur. Traceback: `` ParserError: Multiple elements found (div, div)`` To solve this issue, the error has been handled using a try-except block in the ``parse_html`` method. sentry-4147547360 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168422
16 changes
Enhancements to existing features
Helpdesk and Field Service Sales onboarding tours now recognize additional user actions, such as clicks or key presses, to complete certain steps. This makes guided setup more forgiving and smoother for users who interact with the interface in slightly different ways.
Original PR description
After this commit some steps accept alternative events(usually dispatched through click or key press) to satisfy the step rather than clicking on element pointed by tour pointer. task- 4009134
The Brazilian Avalara settings page now groups setup guidance, account credentials, and company configuration more clearly. This helps users understand the steps needed to configure Avalara correctly and avoid common setup mistakes.
Original PR description
This moves the Brazilian Avatax settings to the Brazilian localization <block>. It also adds steps that clarify common misconceptions and guide the user on what to do when they set up an Avalara account. task-4281794 PR note: translations will be merged separately when https://github.com/odoo/enterprise/pull/72650 is merged to avoid huge `.po` conflicts.
This update adds automated checks to confirm that field service report sending opens the correct customer communication flow in all supported situations. It also verifies that field service document layouts use the intended report template, reducing the risk of future changes breaking customer-facing reports.
Original PR description
Before this commit, no test exists to check if the `action_send_report` method in `project.task` model returns the right action. This commit adds a test to check all the cases managed inside the `action_send_report` method to make sure the behavior of that method is fully tested. This commit also checks the methods overriden in `industry_fsm` and `industry_fsm_report` for `base.document.layout` wizard to make sure the template rendered is the one defined in `industry_fsm` module. task-4237400
Resolved issues and error corrections
Point of Sale order creation now makes the new order available immediately, preventing follow-up actions from running before key order details are ready. This improves reliability for due settlements, delivery integrations, and related fiscal or compliance flows.
Original PR description
`add_new_order` method is now synchronous and returns the new order. This allows to directly use the new order in the next steps without the need to await the promise. The `pos_order` reference is now added to the order by calling `getNextOrderRefs` that's isn't awaited anymore. That's means that during a small amount of time, the order didn't have following fields: `pos_reference`, `tracking_number` and `sequence_number`
Features or functions removed from Odoo
The calendar event page no longer shows a separate "More Options" button because the same action is already available through the standard interface. Delete confirmation wording is also clearer, helping users better understand when they are removing records.
Original PR description
**Specifications** 1). This PR is the follow-up clean-up of this PR:-https://github.com/odoo/enterprise/pull/72176 2). The remove record dialog message will be updated to a delete dialog message to improve clarity and precision. Task-4246277
Code cleanup and technical improvements
This update reorganizes internal IoT-related code by separating box, device, connection, and dialog components into clearer locations. It does not introduce new user-facing behavior, but it should make future maintenance and improvements easier and safer for the IoT, POS IoT, self-order IoT, and quality IoT areas.
Original PR description
IoT Box/IoT Device models were placed in the same file, we separated them. Additionally, the IoT Channel model, which was placed in the same file too, has been moved to the `ir_websocket` one, and the "IoT Connection Error" dialog have been moved to a `dialogs/` directory for more clarity in the `iot` module.
Miscellaneous changes
To reproduce: 1) Activate storno accounting in the settings 2) Create a new partner 3) Create a Vendor Credit Note for that partner, post it 4) Register a full payment for the credit note 5) Open the Aged Payable report ====> The partner appears in the report, even though it has an amount of 0. It shouldn't, since there is no open amount for it. This was due to the way we checked the amount of the credit note was zero. In storno, the payable line of the refund is a negative credit inst
Original PR description
To reproduce: 1) Activate storno accounting in the settings 2) Create a new partner 3) Create a Vendor Credit Note for that partner, post it 4) Register a full payment for the credit note 5) Open the Aged Payable report ====> The partner appears in the report, even though it has an amount of 0. It shouldn't, since there is no open amount for it. This was due to the way we checked the amount of the credit note was zero. In storno, the payable line of the refund is a negative credit instead of being a debit. Still, it's linked through the debit_move_id field to the partial reconcile. So, removing the debit from the debit or credit from the credit wasn't enough in that setup. opw-4166891 Forward-Port-Of: odoo/enterprise#73011 Forward-Port-Of: odoo/enterprise#72422
The field extract_word_ids is in the account move view but raises an access error when someone without invoice rights open the invoice (rights you have when you have some sales rights). As this field is not used in the view or in the associated JS, we can remove it and fix the access rights issues. Forward-Port-Of: odoo/enterprise#73147
Original PR description
The field extract_word_ids is in the account move view but raises an access error when someone without invoice rights open the invoice (rights you have when you have some sales rights). As this field is not used in the view or in the associated JS, we can remove it and fix the access rights issues. Forward-Port-Of: odoo/enterprise#73147
This commit adds a new error modal when you clicking on deleted tweets and posts. It was decided to do so in stable as properly handling deleted posts requires a more consistent approach for each social network. This work should instead be done in later versions as such work will require a lot of changes. Which is against our stable version policy. task-3999571 Forward-Port-Of: odoo/enterprise#72934 Forward-Port-Of: odoo/enterprise#69168
Original PR description
This commit adds a new error modal when you clicking on deleted tweets and posts. It was decided to do so in stable as properly handling deleted posts requires a more consistent approach for each social network. This work should instead be done in later versions as such work will require a lot of changes. Which is against our stable version policy. task-3999571 Forward-Port-Of: odoo/enterprise#72934 Forward-Port-Of: odoo/enterprise#69168
*l10n_din5008_account_followup,l10n_din5008_industry_fsm, l10n_din5008_sale_renting Related to https://github.com/odoo/odoo/pull/184790 Forward-Port-Of: odoo/enterprise#72707
Original PR description
*l10n_din5008_account_followup,l10n_din5008_industry_fsm, l10n_din5008_sale_renting Related to https://github.com/odoo/odoo/pull/184790 Forward-Port-Of: odoo/enterprise#72707
This commit aims to fix an issue in the sanitize_communication function and move its logic to the account_batch_payment module to improve reusability and testability. The function trims the communication text after removing the '/' characters. However, if the communication text contains '/' and is truncated, the '/' could end up at the end of the string (see tests for more examples). The solution is to remove the '/' after truncating the text. Additionally, the sanitize_communication funct
Original PR description
This commit aims to fix an issue in the sanitize_communication function and move its logic to the account_batch_payment module to improve reusability and testability. The function trims the communication text after removing the '/' characters. However, if the communication text contains '/' and is truncated, the '/' could end up at the end of the string (see tests for more examples). The solution is to remove the '/' after truncating the text. Additionally, the sanitize_communication function has been moved to the account_batch_payment module, since this module is a dependency for both account_sepa and account_sepa_direct_debit, these two modules can now use it as well. The functions sanitize_communication and _sanitize_communication have been marked as deprecated and will be removed in the master branch. opw-4220421 Forward-Port-Of: odoo/enterprise#72961 Forward-Port-Of: odoo/enterprise#71552
With NL Company Open "General Ledger" Hit Save > Select XAF > Click 'Export' Issue: "TypeError: argument should be a bytes-like object or ASCII string, not 'generator'" This occurs because when calling `export_report` we save the attachment and we need the actual file content. opw-3820739 Forward-Port-Of: odoo/enterprise#72294
Original PR description
With NL Company Open "General Ledger" Hit Save > Select XAF > Click 'Export' Issue: "TypeError: argument should be a bytes-like object or ASCII string, not 'generator'" This occurs because when calling `export_report` we save the attachment and we need the actual file content. opw-3820739 Forward-Port-Of: odoo/enterprise#72294
ISSUE Introduced in odoo/odoo@01b87f1230beac0568f4e3b1b76e547909506892 the payments are not always linked to account moves. As the invoicing + appointment flow was creating the meeting on reconciliation between the invoice account move line and the payment account move line, using the _invoice_paid_hook method, the flow does not work out of the box anymore. FIX Let us align ourselves to what we do with eCommerce. As the only time we create a link between the invoice and the booking is u
Original PR description
ISSUE Introduced in odoo/odoo@01b87f1230beac0568f4e3b1b76e547909506892 the payments are not always linked to account moves. As the invoicing + appointment flow was creating the meeting on reconciliation between the invoice account move line and the payment account move line, using the _invoice_paid_hook method, the flow does not work out of the box anymore. FIX Let us align ourselves to what we do with eCommerce. As the only time we create a link between the invoice and the booking is using the flow, we are creating the invoice in draft at that time, we can consider that posting the invoice is either a manual action, either done automatically when post processing transactions, which would restore the previous flow, and also give more flexibility in the backend, as manually posting the invoice will also create the meeting. Task-4251392 Forward-Port-Of: odoo/enterprise#72377
As new portal users usually have no phone, let us ease their booking flow while ensuring correct data. Their phone will be updated if logged and not set. Encourage them to sign in with a new Sign In button. Also remove propagation to ecommerce flow so that we make sure appointment form data is kept as is and description remains correct. A test and pot files are adapted accordingly. Task-4207064 Forward-Port-Of: odoo/enterprise#71473
Original PR description
As new portal users usually have no phone, let us ease their booking flow while ensuring correct data. Their phone will be updated if logged and not set. Encourage them to sign in with a new Sign In button. Also remove propagation to ecommerce flow so that we make sure appointment form data is kept as is and description remains correct. A test and pot files are adapted accordingly. Task-4207064 Forward-Port-Of: odoo/enterprise#71473
In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the dropdown list. Cause of the issue: In the `appointment_type` model definition within the `appointment_account_payment` module, a domain was applied on the `product_id` field, restricting the selectable products. The domain filtered out products with the `service_tracking` field set to values other than `"no"`. As a result, products that creat
Original PR description
In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the dropdown list. Cause of the issue: In the `appointment_type` model definition within the `appointment_account_payment` module, a domain was applied on the `product_id` field, restricting the selectable products. The domain filtered out products with the `service_tracking` field set to values other than `"no"`. As a result, products that create tasks in projects (which have `service_tracking` set to `"task_global_project"`) were excluded. The commit https://github.com/odoo/enterprise/commit/ff54ff6cbdf79b1c24c468b5238d8eeb91e85cb9 aim was to prevent `event` and `event_booth` product to be selectable. This commit allows other product whose `service_tracking != 'no'` to be selectable while not allowing `event` and `event_booth`. opw-4146731 Forward-Port-Of: odoo/enterprise#73092 Forward-Port-Of: odoo/enterprise#71166
Due to a quirk in the JS framework, when a device form view is opened from the IoT box form view, it opens in a dialog box where it's `js_class` is not run. This causes updates to Display URL and Keyboard layout not to sync to the IoT box. This PR works around the issue by forcing the full device form view to open, rather than the dialog box. task-4141053 Forward-Port-Of: odoo/enterprise#72541 Forward-Port-Of: odoo/enterprise#72351
Original PR description
Due to a quirk in the JS framework, when a device form view is opened from the IoT box form view, it opens in a dialog box where it's `js_class` is not run. This causes updates to Display URL and Keyboard layout not to sync to the IoT box. This PR works around the issue by forcing the full device form view to open, rather than the dialog box. task-4141053 Forward-Port-Of: odoo/enterprise#72541 Forward-Port-Of: odoo/enterprise#72351
7 changes
Enhancements to existing features
Appointment types can no longer be moved between type groups by dragging them in the kanban view. This prevents accidental category changes that could cause confusing or incorrect field displays for users managing appointments.
Original PR description
Prevent being able to drag an appointment type when kanban is grouped by Type (category field) as this changes the appointment type category and messes up the fields display. Setting the category as readonly on the kanban view to remove the possibility to change it on groupby via drag and drop. Task-4282969
IoT Boxes now retrieve key database and subscription details automatically when Odoo starts, instead of receiving them through the setup link. This keeps setup links shorter and less information-heavy, while reducing manual work when subscription details change.
Original PR description
Currently, we provide the IoT Box the `db_uuid` and the `enterprise_code` through the connection link generated by the db. In order to reduce the size of this link and the information it contains, we move those two parameters to a `/iot/db_info` fetch when Odoo starts on the IoT Box. We also avoid the user to enter manually its `enterprise_code` if he changes his subscription, as the IoT Box will fetch it automatically. Community PR: [https://github.com/odoo/odoo/pull/184910](https://github.com/odoo/odoo/pull/184910) Task: 4282684
Resolved issues and error corrections
Creating time off from the Gantt view no longer fails when a resource has no working time set. This prevents an error during leave creation and keeps Time Off management usable in configurations with empty resource calendars.
Original PR description
The error occurs because we are setting ``Working Time`` to empty in ``Resources`` and then attempting to add leave from the ``Gantt`` view in the Time Off section. Steps to reproduce: --- - Install ``hr_holidays_gantt`` module(without demo data) - Go to resource and from ``Administrator`` remove ``Working Time`` - Now Time Off > Management > Time Off - Go to ``Gantt`` view > Create New and Click on ``Save & Close`` ``Traceback: KeyError: 6`` At [1], we are facing an error because ``leaves_mapping`` is empty and we are trying to access this dictionary using a key that doesn't exist. [1]- https://github.com/odoo/enterprise/blob/d4608a66f164940fe4383507e23eed9f54bf60df/hr_holidays_gantt/models/hr_leave.py#L181 sentry-6010228921
The rental order status label now lines up correctly in the sales rental order view. This small visual fix improves readability and makes the order screen look more polished for users.
Original PR description
Issue: Rental order status label are not aligned Fix: Added align-item-end to footer for sale_renting
Miscellaneous changes
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the subscription app, create a quotation with the specified product. 5. Preview the invoice for the quotation. 6. Copy the link for the portal invoice and open it in an incognito window. 7. Pay the invoice. You will encounter a TraceBack error depending on the modules installed. This is due to the
Original PR description
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the…
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the subscription app, create a quotation with the specified product. 5. Preview the invoice for the quotation. 6. Copy the link for the portal invoice and open it in an incognito window. 7. Pay the invoice. You will encounter a TraceBack error depending on the modules installed. This is due to the `company_id` being set to an empty record as a result of how it is computed here: https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_move.py#L696-L698 In our case, `move.journal_id.company_id` (the invoice company) exists, so `self.env.company` (the website company) gets ignored. However, since the public user of the website doesn't have access to the invoice company, the `company_id` is set to an empty record after checking the access rights with `._accessible_branches()[:1]`. opw-3999546 Forward-Port-Of: odoo/enterprise#70915 Forward-Port-Of: odoo/enterprise#68034
With NL Company Open "General Ledger" Hit Save > Select XAF > Click 'Export' Issue: "TypeError: argument should be a bytes-like object or ASCII string, not 'generator'" This occurs because when calling `export_report` we save the attachment and we need the actual file content. opw-3820739 Forward-Port-Of: odoo/enterprise#72294
Original PR description
With NL Company Open "General Ledger" Hit Save > Select XAF > Click 'Export' Issue: "TypeError: argument should be a bytes-like object or ASCII string, not 'generator'" This occurs because when calling `export_report` we save the attachment and we need the actual file content. opw-3820739 Forward-Port-Of: odoo/enterprise#72294
Before this commit, when the user horizontally scrolls in the grid view of `My Timesheets` menu, the grid timer button on each row is hidden, only the row title is kept. This commit keeps the grid timer button is kept when the user horizontally scroll in the grid view of `My Timesheets` menu as it is the case for the row title. task-3378510 Forward-Port-Of: odoo/enterprise#54052
Original PR description
Before this commit, when the user horizontally scrolls in the grid view of `My Timesheets` menu, the grid timer button on each row is hidden, only the row title is kept. This commit keeps the grid timer button is kept when the user horizontally scroll in the grid view of `My Timesheets` menu as it is the case for the row title. task-3378510 Forward-Port-Of: odoo/enterprise#54052
7 changes
Resolved issues and error corrections
This update corrects a recent change that prevented officers from viewing feedback answers. The fix ensures officers have the necessary access to this information, streamlining the appraisal process and improving data visibility. This resolves issue OPW-4128638.
Original PR description
after this [FIX](https://github.com/odoo/enterprise/commit/ffcc8c425b53df94d79ace17fb444504df8acd52), the access to answers of feedbacks is restricted to the manager of appraisals, but the officer should have access too. this commit fixes this issue. opw-4128638
This update resolves an issue where the sign generation process would sometimes produce incorrect results after switching between drawing and auto-result modes. The fix ensures the dialog has sufficient time to load properly before mode changes, preventing this problem. This improves the reliability and user experience of the sign generation feature.
Original PR description
We wait for the next tick to leave the dialog enough time to load properly before changing the mode to draw, this way we avoid to have the canva with the auto result after changing to draw mode.
This update resolves a technical error that prevented users from confirming invoices when using the new loyalty program and Taxcloud integration. The issue stemmed from an incorrect field check within the invoice processing logic. This fix ensures smooth invoice confirmation for transactions utilizing these features.
Original PR description
Steps: - Install sales app. - Enable loyalty and taxclould. - Create a loyalty program and a rule for a product. - Enable Taxclould API on fiscal position. - Create SO and set that fiscal position on SO - Add that product with loyalty program and apply that promotion on so - Confirm delivery and Create Invoice. - Try to confirm invoice. Issue: - Traceback. Cause: - Wrong field check in condition on Invoice lines. Fix: - Update field to check right condition. opw-4180034 Forward-Port-Of: odoo/enterprise#72696
This update resolves an issue where Avalara was returning generic error messages due to a reason field being too short. By ensuring the reason field has the correct length, we prevent these errors and improve the reliability of invoice processing for Brazilian e-commerce.
Original PR description
The error Avalara returns for this is too generic to be useful: Rejeição: Evento não atende o Schema XML específico We found out by contacting Avalara support that the error in this case was a reason that was too short. Let's prevent this from re-occuring. opw-4298175
This update resolves a crash within Odoo's Studio application when navigating to edit one-to-many records. The fix prevents the system from incorrectly interpreting a default value as an invalid record ID, eliminating the error and ensuring Studio functions smoothly. The change ensures Studio users can reliably edit forms with related records.
Original PR description
…anys Have a ir.default that sets one line into a one2many on some models. In studio, edit the form view of the main model, then navigate to edit the one2many, with the ir.default having been triggered (there is one virual line in the one2many). Before this commit there was a crash because "false" is not a valid id for the staticlist. After this commit, there is no crash, and the virtual record doesn't appear. opw-4289233
This update resolves a display error in the map view that incorrectly prompted users to set up their Mapbox token, even when it was already configured. The issue stemmed from a filtering problem when tasks lacked customer data, causing an error during routing. Adding a 'partner' filter ensures accurate routing calculations.
Original PR description
When fetching the Routing in project->task, the map view shows the error "To get routing on your map, you first need to set up your Mapbox token. -> Set up token" even if they already have the token…
When fetching the Routing in project->task, the map view shows the error "To get routing on your map, you first need to set up your Mapbox token. -> Set up token" even if they already have the token set up. This happens when, for example: if you have 3 tasks where 2 of them have the customer field filled and one doesn't. The function _fetchRoute tried to filter out the records that don't have the latitude/longitude. But, here, since one of the records doesn't have a partner, when it's trying to look into partner.partner_latitude, it throws an error. After the error, mapBoxToken is set to '' in _partnerFetching, and called _openStreetMapAPI() resulting in displaying the error, "to get routing on your map, you first need to set up your Mapbox token." So, adding record.partner in the filter will help filter out the records that don't have partner. To Reproduce on Runbot: 1. Set up Mapbox token 2. Go to Project->Task 3. Create 3 Tasks ( 2 with customer and 1 without customer ) 4. Go to the map view and it'll display the error. opw-3682829 Forward-Port-Of: odoo/enterprise#69047 Forward-Port-Of: odoo/enterprise#55580
This update resolves a technical error that prevented users from successfully exporting XAF reports (like the General Ledger) when using the 'Export' function. The fix ensures the report content is correctly saved as a file attachment, resolving a 'TypeError' that was blocking the export process.
Original PR description
With NL Company Open "General Ledger" Hit Save > Select XAF > Click 'Export' Issue: "TypeError: argument should be a bytes-like object or ASCII string, not 'generator'" This occurs because when calling `export_report` we save the attachment and we need the actual file content. opw-3820739 Forward-Port-Of: odoo/enterprise#72294