Tuesday, December 19, 2023
22 changes · 17.0
Resolved issues and error corrections
Installing POS Restaurant no longer creates an extra standard point of sale named Shop with incomplete settings. Demo data loading now skips archived POS configurations, preventing server errors when users start from the frontend.
Original PR description
Prior to this commit, when creating a database with pos_restaurant, a classic point_of_sale was created with the name Shop but without all the settings of the previous Shop that was archived by the installation of pos_restaurant. We do not want this so we remove this behaviour. We also fix another bug. The bug is that, if a starting pos config is archived and that the user wants to download the demo data from the frontend after that, the server will raise an error. This is because the pos config is archived and the pos session will try to create orders and use payment methods from the archived pos config. We also fix this in this commit by not taking into account the point_of_sale_onboarding_main_config.xml file if the pos config is inactive. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures automated rules set to run when users update fields in the interface are saved with the correct trigger fields. As a result, business workflows depending on these field changes now react as expected instead of silently failing.
Original PR description
Before this commit, and since [1], automated rules of type "on_change" (i.e. on UI update) didn't run. This because the wrong field (trigger_field_ids) was used to record fields for which the rule must be triggered. For that type of rule, the field to use is on_change_field_ids. As a consequence, those rules were not correctly created, and thus they didn't properly react to field changes. [1] odoo/odoo@8bdac7e26c961e04117149529a8c7eccd8cb734e opw 3632084 opw 3595411 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
Customers updating a shared billing and shipping address will now see the required phone number warning when the phone is missing. This prevents confusing checkout reloads and helps customers complete purchases with the needed contact information.
Original PR description
Issue: ====== The phone field is required in a billing and shipping address at the same time but no warning appears. Steps to reproduce the issue: ============================= - Install ecommerce - Log in with mitchel admin and add anything to cart then go to checkout - Update the saved address which is for shipping and billing and remove the phone - Save the adress , the page will reload and no error appears. - Add the phone and save it will works. Origin of the issue: ==================== `use_same` wasn't passed in `kw` when updating the address. Solution: ========= Force `use_same` when validating the values when we have the address is the same for shipping and billing. opw-3617720
Users working in languages that use a 12-hour clock, such as Arabic, can now open and edit date/time fields without errors. This improves reliability when setting deadlines or similar dates in Odoo.
Original PR description
Isssue: ======= When using a language with twelve-hour format (arabic) and open datetime_picker it will raise an error. Steps to reproduce the issue: ============================= - Change lang to arabic - Create a task in a project an try to modify the deadline Origin of the issue: ==================== When we have `props.focusDateIndex != 0` and `props.range = False` we will have only that index in the array `this.state.timeValues` , iterating over the array in `handle12HourSystem` function will result in error because it starts iterating from index 0 which is undefined. Solution: ======== Skip the undefined indexed; opw-3629657
Razorpay payment updates no longer process a duplicate authorization event when capture confirmation arrives at the same time. This prevents conflicting transaction status updates, reducing payment log errors and improving reliability for sales orders paid through Razorpay.
Original PR description
Steps: - Install razorpay and sales app. - Enable razorpay app. - Create an order. - Do a transaction for order. Issue: - Logger is showing error: `Error could not serialize access due to concurrent…
Steps:
- Install razorpay and sales app.
- Enable razorpay app.
- Create an order.
- Do a transaction for order.
Issue:
- Logger is showing error: `Error could not serialize access due to concurrent update`
- Also showing warning: `odoo.addons.payment.models.payment_transaction: tried to write on transaction with reference S00001 with illegal value for the state (previous state: done, target state: authorized, expected previous
state to be in: ('draft', 'pending'))`
Cause:
- Razorpay webhook returns both events `payment.authorize` and `payment.capture` at same time because of that
`handle_notification_data` method tries to write on transaction at same time one with `_set_authorize` and `_set_done` and because of serialization it skip authorize event on first try and directly execute second and set transaction to done now it execute authorize one even though transaction already in done state.
Fix:
- Remove authorize event handling from webhook as razorpay execute `payment.authorize` and `payment.capture` at same time so no need to handle authorize event.This fix corrects an issue where the 'Create Invoice' button was incorrectly appearing in field service tasks when there was nothing to invoice. The button now properly hides when the invoice status is set to 'Nothing to Invoice', preventing users from attempting to create invoices for zero-value service orders.
Original PR description
Versions: --------- - 17.0 Steps to reproduce: ------------------- - Create a sale order from the sales - In sale order product must be service type, based on delivery quantity, create order on task, project field service then - Add the product unit price is zero, then conform - Go to the task form view, mark as done - 'create invoice' button is visible Issue: ------ - In the field service task form view, the 'Create Invoice' button is visible when the invoice status is 'nothing to invoice'. Cause: ------ - In this Enterprise PR-43303 , the invoice status is set to 'Nothing to Invoice' instead of 'to Invoice', which is causing an issue Solution: --------- - By disappear the 'create invoice' buttons when the invoice status is in the 'Nothing to Invoice'. task-3491748
This update fixes a language-switching issue in the frontdesk module and adds phone and email contact fields to the visitor form. These improvements enhance the frontdesk functionality by making it easier to capture and manage visitor contact information while resolving a technical issue that affected users switching between languages.
Original PR description
1) Fix the traceback when we switch the language 2) Add phone and email widget in frontdesk visitor task-3524198
This update prevents users from uploading documents or sharing files when viewing the Trash folder or the All workspace (when no shareable workspaces exist). These buttons are now properly disabled in these contexts to prevent confusion and unintended actions, improving the user experience by making the interface behavior more intuitive.
Original PR description
Before this commit: - Switch to the `Trash` folder. The `Upload` and the `sharing Dropdown` buttons are active and functional. - When no sharable workspace exists, the `sharing Dropdown` button is enabled inside `All` workspace. After this commit: - Both the buttons are disabled when inside the `Trash` folder. - When no sharable workspace exists, the `sharing Dropdown` button is disabled inside `All` workspace. Task-3575805
This update fixes a system error that occurred when users left the product quantity field empty in the Field Service Management product view. The system now properly sets the quantity to zero instead of crashing. Additionally, the product filter in the search view has been repositioned for better organization and usability.
Original PR description
- Steps: in the FSM product view, set the value as empty, a traceback appears - Issue: Traceback should not appear and the quantity of the product should be set to 0 - Cause: in industry_fsm_sale/product_product.py set_fsm_quantity() method, we set the fsm_quantity using the float_round() method, if the value given to the float_round is None, the func tracebacks - Solution: give quantity or 0 instead of quantity to the float_round also fixed xpath for productproduct search filter This is a preventive fix since with the following PR the backend should not recieve a null value anymore https://github.com/odoo/odoo/pull/142523 Task-3599491
The bank reconciliation widget now correctly applies analytic distribution models when processing manual operations, just like it does for regular journal entries. Previously, analytic rules based on account prefixes, partners, and partner categories were ignored in bank reconciliation, but this fix ensures consistent behavior across all transaction types.
Original PR description
The analytic distribution model applies to journal entries but not to entries created in the bank recon widget. This fix applies the distribution model based on the partner, partner category and account prefix. To reproduce: - create a distribution model that applies to a particular account prefix - create an invoice with a line that uses an account containing the prefix in the code (the distribution model applies) - In bank reco, on the manual operations tab, use the same account (the distribution model doesn't apply) Solution: Override the `_compute_analytic_distribution` method from analytic.mixin in `bank.rec.widget.line` In order for this to work, the corresponding community PR removes the `precompute` attribute. manual forward port of #51343 OPW-3558060 Forward-Port-Of: odoo/enterprise#51379
This update fixes how worksheet titles display in Field Service templates. Previously, titles with spaces would wrap awkwardly to new lines and the title area was too narrow. The fix improves the title width and ensures text wraps properly, making worksheets look cleaner and more professional when technicians view them.
Original PR description
Steps: - Open Field service - In configuration worksheet template - Then Device Installation and Maintenance - Design template - In the view,show invisible Elements Then - Select text And Close,after refresh Issue: - When we enter a string without spaces, it shows as a single line. However, when we enter a string with spaces, it appears on another line. - The width of the title line is very small Cause: - Because we given the 'oe_title' class inside of the group, According to the 'Web-form group' when we given in side of the group it is effecting Fix: - Removing the group for the 'oe_title',The issue is resolved and Add the 'text-break' class the title is overflow when we given without space task-3512366 Forward-Port-Of: odoo/enterprise#47895
This fix prevents the system from sending timesheet logging reminders to archived user accounts. Previously, archived users with active email forwarding addresses would receive unnecessary spam notifications, potentially causing confusion and cluttering inboxes. This change ensures reminders are only sent to active users who actually need to log their time.
Original PR description
Especially those could have redirection emails, you know, and someone could receive tons of useless spam telling archived users to log their timesheet. Task-3335173
The Sign app's drag-and-drop feature for adding fields to signature templates was causing errors on mobile devices and tablets. This fix disables the editing feature on iOS and Android devices to prevent user confusion and errors until full mobile support can be properly implemented.
Original PR description
In the Sign app, the user can drag & drop fields onto a signature template. Sadly this feature isn't properly supported on mobile devices with touch support (like tablets) but nothing prevent the user from attempting to use it, leading to errors being thrown. Supporting this feature on those device being out of scope for a fix in a stable release, this commit disallow to edit on mobile OS (i.e. iOS/Android) to avoid user confusion. Steps to reproduce: - To to sign app on a mobile device (like a tablet) - Open a editable template - Try to drag&drop a field from the sidebar to the document viewer => error is thrown or nothing happens opw-3582695 Forward-Port-Of: odoo/enterprise#52765
This update fixes a critical issue in the Chilean Point of Sale system where users could attempt to invoice customers without entering their required RUT (tax ID) number, causing the system to freeze. The fix now makes the RUT field mandatory during customer creation in POS, preventing invoicing errors and improving the checkout experience. The update also ensures compatibility with recent community branch improvements.
Original PR description
Prior to this commit, if you try to invoice a new contact created in the PoS, but forgot to put his RUT, then you get an error and it gets stuck there "thinking". This commit adds the RUT number to the required fields in the chilean localization of the PoS, so that it is not possible to invoice without it. This commit also adapts the partner_editor override in the chilean and mexican localization to adapt it to the fix of the community branch. This fix makes it impossible for a user to modify commercial fields of a child partner. task-id: 2810741 Forward-Port-Of: odoo/enterprise#52775
A bug in the payroll system's remaining amount calculation has been fixed. The issue was in the salary attachment module where a dependency was missing from the calculation method, which could cause incorrect remaining amounts to be displayed. This fix ensures accurate payroll calculations for salary attachments.
Original PR description
Fixed `_compute_remaining_amount` method by adding missing depend Forward-Port-Of: odoo/enterprise#52433
This fix ensures that appointment booking and cancellation emails are sent with consistent sender information. Previously, public users would receive emails showing odoobot as the author while the organizer's email was used, causing confusion. Now both the author and sender email are properly set to the event organizer when available, providing a consistent and professional experience.
Original PR description
**Before this PR** For public users, we assign 'author_id' as odoobot in appointment booking and cancellation emails, which can lead to inconsistency since 'author_id' belongs to odoobot while 'email_from' belongs to the event organizer. **After this PR** Now in all cases, 'author_id' and 'email_from' are set if the organizer exists. Task-3433753 Forward-Port-Of: odoo/enterprise#52934 Forward-Port-Of: odoo/enterprise#49750
This fix resolves a keyboard shortcut conflict in the Timesheet Grid view where pressing Alt+I was incorrectly launching the timer for a timesheet line instead of opening the 'add a line' wizard. The fix removes redundant keyboard shortcuts from individual timesheet lines since the timer launch functionality already has dedicated shortcuts, allowing the Alt+I shortcut to work correctly for adding new lines.
Original PR description
Steps: - Open Timesheets - Select alt - Shows the data-hotkeys Issue: - pressing Alt + i launches the timer for 'line i' instead of opening the 'add a line' wizard Cause: - The data-hotkey i set as both 'line i' and 'add a line' Fix: -In the Timesheets grid view, shortcut keys have already been created for launching a timer for lines, so there is no need to create data-hotkeys for them. So, data-hotkeys are removed for the lines. -And Modified some of the test cases that are related to the 'data-hotkeys'. task-3491748 Forward-Port-Of: odoo/enterprise#47497
This fix resolves an issue where role avatars were not displaying correctly in the Planning module's role configuration screen. The avatars now appear properly by adding the correct styling class and using a static image source that works even without demo data.
Original PR description
Steps: - Open Planning - Select configuration, then roles - In Roles search action - Avatars are not correctly displayed in the action helper Issue: - In action helper the avatars are not correctly displayed and avatar is not displayed when there is no demo data. Cause: - For images, we need to add the newly added 'o_avatar' class, which is currently missing in the image tag. - we use a dynamic image source link for the avatar, and that's why it doesn't display when there is no demo data Fix: - By adding the Bootstrap class to the image tag, avatars are displayed correctly. - By providing a static source link for the image, the avatar is displayed even when there is no demo data task-3491748 Forward-Port-Of: odoo/enterprise#47351
This fix resolves an error that occurred when importing the default Chart of Accounts in UAE companies with payroll enabled. The issue was caused by a payroll account being incorrectly configured as a "Payable" type instead of an "Expense" type. The fix changes the default payroll account to the "Basic Salary" account, allowing the Chart of Accounts to be exported and imported without errors.
Original PR description
*: l10n_ae_hr_payroll_account --- Description of the issue/behavior this commit fixes: When l10n_ae_hr_payroll_account is installed, trying to export the default CoA and import it just after results in an error. This is due to the default payroll account being set on a "Payable" type account while it should be an "Expense" type one. --- Steps to reproduce: 1 - Install l10n_ae_hr_payroll_account 2 - Use the AE Company 3 - Go to CoA, select all lines and export as importable data 4 - Go to import CoA, upload file, select the file of the previous step 5 - Test / Import the file 6 - An error says the import can't be performed --- Desired behavior after this commit is merged: This commit modifies the default payroll account to the "Basic Salary" one. After this, importing the default CoA does not cause an error anymore as no default account is being set to Payable anymore. --- opw-3470011 Forward-Port-Of: odoo/enterprise#52239
Fixed an issue where timesheet entries added on Saturday (the last visible day of the week in the grid view) would not automatically display without a manual page refresh. The fix removes a condition that was preventing the timesheet grid from updating when entries were created on the weekend, ensuring users see their new entries immediately after saving.
Original PR description
**HOW TO REPRODUCE:**
- Open timesheet
- Go to All timesheets
- Add a line for a user and set a date corresponding to the saturday
visible on the grid views
- save and close
**--> ISSUE**: Notification is displayed and we need a refresh to
display the created line
**FIX:**
- delete condition that prevent rerender. This condition was
checking if the selected date was the last visible day in the grid
view (i.e. saturday)
taskid:3609373
Forward-Port-Of: odoo/enterprise#51407Fixed a display issue in the Field Service portal where the sign report wizard was overlapping with the website menu. The fix improves the user experience by properly positioning the wizard using Bootstrap styling, ensuring it no longer blocks access to navigation elements when signing reports.
Original PR description
Steps: - Install Field Service and Website apps - Open Field Service - Open task then create worksheet - Then Sign report click on sign - The sign report wizard overlap Issue: - The Sign report wizard overlap the website to menu in portal Fix: - The issue will be rectified by adding the Bootstrap class task-3512366 Forward-Port-Of: odoo/enterprise#47894
This update makes automated tests independent of demo data, ensuring they run reliably regardless of what sample data is loaded in the system. By removing these dependencies across multiple modules, tests become more stable and maintainable, reducing false failures and improving overall software quality.