Thursday, December 28, 2023
15 changes · 17.0
Enhancements to existing features
When helpdesk team members click "Set an Alias Domain" in their team settings, they are now redirected directly to the alias domain configuration section instead of the top of the settings page. This improvement streamlines the user experience by taking them exactly where they need to go.
Original PR description
We redirect settings to the alias domain rather than the top of the res setting when a user clicks on a `Set an Alias Domain`. Step: - Install helpdesk module - Got to helpdesk > team - Open the any team - Click on Set an Alias Domain task-3614449
Resolved issues and error corrections
The review text box on course pages now clearly shows its border when users add or edit a review. This small visual fix helps users understand where to enter their feedback and improves the review experience.
Original PR description
**Steps to Reproduce** 1. Go to website slides. 2. Open any Course. 3. Click on 'Add a review' or 'Edit your review'. -> Message box border is not visible. **After this PR** The message box border is visible now. Task-3623765
Miscellaneous changes
Related fields created when using composition based inheritance are created without the 'definition' attribute which leads to errors if you try to read them. **steps to reproduce:** in an odoo 17 shell (it's easier to reproduce in 17 because there is an example of a problematic field) `self.env["product.product"].search_read([], ["product_properties"]) ` **before this commit:** an error is raised: `TypeError: tuple indices must be integers or slices, not NoneType ` **after this
Original PR description
Related fields created when using composition based inheritance are created without the 'definition' attribute which leads to errors if you try to read them. **steps to reproduce:** in an odoo 17 shell (it's easier to reproduce in 17 because there is an example of a problematic field) `self.env["product.product"].search_read([], ["product_properties"]) ` **before this commit:** an error is raised: `TypeError: tuple indices must be integers or slices, not NoneType ` **after this commit:** the field product_properties is read from product.template opw-3618178 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147718 Forward-Port-Of: odoo/odoo#147390
Website users can duplicate pages from the page list again, with a prompt to choose a page name first. This helps prevent duplicate pages from accidentally reusing the same URL, avoiding publishing conflicts and confusion.
Original PR description
Since [1] page duplication was disabled because it caused an issue when the same URL was used several times. This commit runs through the `DuplicatePageDialog` to obtain a page name when duplications are requested from the pages list. [1]: https://github.com/odoo/odoo/commit/f57b92a8de4e3546df8b93655cea002b70d496da task-3640878
The inventory valuation report now shows the Total Value column by default and keeps the Remaining Value column hidden unless users choose to display it. This corrects the report layout so business users see the most relevant valuation information immediately.
Original PR description
**Steps to reproduce the bug:** Go to inventory > reporting > valuation The total value is hidden and the remaining is shown **Solution:** displaying total value as optional show and remaining_value as optional hidden opw-3644799
Fixed the email headers that are sent to applicants and employees when sharing job offers. Previously, the system displayed technical backend names that weren't appropriate for external recipients. Now emails will show a clearer, more professional header format: "Company : Job Offer - Employee/Applicant".
Original PR description
Previously, when sending mails to applicants or employees, an automatic mail header would be constructed with the display name of offers, that name is useful on backend but should not be displayed to employees, from now we will display the following header : Company : Job Offer - Employee/Applicant task-3619099 Forward-Port-Of: odoo/enterprise#53318
Before this PR, the "receive other member typing status 'is typing'" test was sometimes failing. According to the `afterNextRender` helper, the render never stops. This helper is known for being unreliable. This PR adapts this test to use the `contains` helper instead that relies on a MutationObserver to detect the changes in the DOM. It's much more reliable: we have no guarantee that a render will be enough to reach the desired state. This might not fix the issue but it will provide more inf
Original PR description
Before this PR, the "receive other member typing status 'is typing'" test was sometimes failing. According to the `afterNextRender` helper, the render never stops. This helper is known for being unreliable. This PR adapts this test to use the `contains` helper instead that relies on a MutationObserver to detect the changes in the DOM. It's much more reliable: we have no guarantee that a render will be enough to reach the desired state. This might not fix the issue but it will provide more information to debug this test. fixes runbot-54484 Forward-Port-Of: odoo/odoo#147614 Forward-Port-Of: odoo/odoo#147568
This commit fixes a non-deterministic error in the bus module. Testing the bus service is difficult because it relies heavily on async code. Until now, `nextTick` was used but there is no guarantee that this is enough. This commit introduces the `waitForChannels` method that awaits the channel subscriptions to be done before resolving. fixes runbot-54467 Forward-Port-Of: odoo/odoo#147588 Forward-Port-Of: odoo/odoo#147550
Original PR description
This commit fixes a non-deterministic error in the bus module. Testing the bus service is difficult because it relies heavily on async code. Until now, `nextTick` was used but there is no guarantee that this is enough. This commit introduces the `waitForChannels` method that awaits the channel subscriptions to be done before resolving. fixes runbot-54467 Forward-Port-Of: odoo/odoo#147588 Forward-Port-Of: odoo/odoo#147550
In this commit, - I have made the field `Place Of Supply` Selection only. - Now, the User will require to set the `Tin Number` on the `Place Of Supply(State)`. Otherwise, it will raise `UserError`. - It is required to avoid errors given in the task description which isn't understandable for a user to understand. - I have stopped the creation of a new state at the time of invoice creation. So, if the user wants to add a new state they can do so by `Contacts --> Fed. state`. Task-id: 33390
Original PR description
In this commit, - I have made the field `Place Of Supply` Selection only. - Now, the User will require to set the `Tin Number` on the `Place Of Supply(State)`. Otherwise, it will raise `UserError`. - It is required to avoid errors given in the task description which isn't understandable for a user to understand. - I have stopped the creation of a new state at the time of invoice creation. So, if the user wants to add a new state they can do so by `Contacts --> Fed. state`. Task-id: 3339099 Forward-Port-Of: odoo/odoo#147307 Forward-Port-Of: odoo/odoo#127711
Before this commit, errors were introduced when optimizing the synchronization by limiting it to the calendar's view range. For users different than the first to synchronize its calendar, when trying to create events in Odoo before or after the synchronized view range (e.g. 1 month), these events were being auto-archived in Odoo right after their creation in Outlook. This happens because the first range to be sent to Microsoft Outlook is currently defining how much time in the past and in the fu
Original PR description
Before this commit, errors were introduced when optimizing the synchronization by limiting it to the calendar's view range. For users different than the first to synchronize its calendar, when trying to create events in Odoo before or after the synchronized view range (e.g. 1 month), these events were being auto-archived in Odoo right after their creation in Outlook. This happens because the first range to be sent to Microsoft Outlook is currently defining how much time in the past and in the future the events will be synchronized. After this commit, the previous approach of defining a range of two years for the delta synchronization (events that were last updated) in the future is back temporarily, now with one year in the past. This behavior must be improved considering the calendar view range and must be flexible with the first synchronized view range. Issue from: 3525764 Forward-Port-Of: odoo/odoo#146754
This commit is fixing a last minute error in commit [1] after a push force which move its code above the existing line `vals['url'] = url`. After the code move, `vals['url']` was not the updated url value (which went through slugify and unique path functions). - Create a /test page, publish it. - Set /test as homepage url directly on the website (in the settings) - Go to that page - Open the page properties and change its URL from /test to /test_un -> The page url is /test-un but the websi
Original PR description
This commit is fixing a last minute error in commit [1] after a push force which move its code above the existing line `vals['url'] = url`. After the code move, `vals['url']` was not the updated url value (which went through slugify and unique path functions). - Create a /test page, publish it. - Set /test as homepage url directly on the website (in the settings) - Go to that page - Open the page properties and change its URL from /test to /test_un -> The page url is /test-un but the website homepage_url is still /test_un (not slugified) in the website settings [1]: https://github.com/odoo/odoo/commit/374a1b31f70a3209b1ae11db8e5886350579c7f9 Forward-Port-Of: odoo/odoo#147579
`onDuplicate` was marked as optional while it never was. If you don't specify it, the call to `this.props.onDuplicate();` will still be executed and will crash: `Uncaught Promise > this.props.onDuplicate is not a function` Randomly spotted while reviewing PR about duplicate button in list view related to opw-3640878. But it's not related to it. Forward-Port-Of: odoo/odoo#147600
Original PR description
`onDuplicate` was marked as optional while it never was. If you don't specify it, the call to `this.props.onDuplicate();` will still be executed and will crash: `Uncaught Promise > this.props.onDuplicate is not a function` Randomly spotted while reviewing PR about duplicate button in list view related to opw-3640878. But it's not related to it. Forward-Port-Of: odoo/odoo#147600
Steps to reproduce ==================== 1 Open the course and try to retake the quiz. 2 Traceback while submitting the quiz. Technical =========== Due to missing closing square bracket in the attribute selector of jquery. After this PR ================== There will be no traceback while submitting the quiz. Task-3633410 Forward-Port-Of: odoo/odoo#146261
Original PR description
Steps to reproduce ==================== 1 Open the course and try to retake the quiz. 2 Traceback while submitting the quiz. Technical =========== Due to missing closing square bracket in the attribute selector of jquery. After this PR ================== There will be no traceback while submitting the quiz. Task-3633410 Forward-Port-Of: odoo/odoo#146261
Steps to reproduce: ------------------------- - Install project and sale_timesheet module - Open the Project module - Go to task's timesheet notebook - Add a new line - Set empty in so_line field, raises traceback Issue: -------- - In timesheet notebook, when we set so_line as an empty .it will raises traceback. Cause: --------- - #145821 when set empty so_line field there is undefined value read. Fix: ------- - On a field change, compare the so_line field value with proper
Original PR description
Steps to reproduce: ------------------------- - Install project and sale_timesheet module - Open the Project module - Go to task's timesheet notebook - Add a new line - Set empty in so_line field, raises traceback Issue: -------- - In timesheet notebook, when we set so_line as an empty .it will raises traceback. Cause: --------- - #145821 when set empty so_line field there is undefined value read. Fix: ------- - On a field change, compare the so_line field value with proper record id check with new value. task-3642371 Forward-Port-Of: odoo/odoo#146783
**Steps to reproduce the issue:** - Have two companies in your database. - Create a partner: - Set "receipt_reminder_email" to True for Company 1. - Set "receipt_reminder_email" to False for Company 2. - Create a Purchase Order with Company 2. **Problem:** The field "receipt_reminder_email" is a related field, so its value is False. However, if you switch the current company to "Company 1" while keeping the Purchase Order in Company 2, the "receipt_reminder_email" is updated t
Original PR description
**Steps to reproduce the issue:**
- Have two companies in your database.
- Create a partner:
- Set "receipt_reminder_email" to True for Company 1.
- Set "receipt_reminder_email" to False for Company 2.
- Create a Purchase Order with Company 2.
**Problem:**
The field "receipt_reminder_email" is a related field, so its value is False. However, if you switch the current company to "Company 1" while keeping the Purchase Order in Company 2, the "receipt_reminder_email" is updated to True.
**Solution:**
The field should be computed instead. the readonly for this field in not
neccessary anymore so the inverse is not mandoatory.
opw-3593577
Forward-Port-Of: odoo/odoo#146889
Forward-Port-Of: odoo/odoo#146657