Tuesday, December 19, 2023
63 changes · master
Enhancements to existing features
Call activities for recruitment candidates now display available mobile or phone numbers. This makes it easier for recruiters to contact applicants directly from the scheduled activity without searching elsewhere.
Original PR description
When we schedule the call activity, even if a mobile/phone number is present, the call activity does not display the numbers In this commit, mobile/phone numbers are now visible in the call activity task-3635976
Users' preferred time scale in calendar-like views is now saved per business record type, so returning to views such as Gantt, Grid, Cohort, or Calendar restores their last selected scale. This reduces repeated adjustments and makes planning views feel more consistent across navigation.
Original PR description
After this commit, the scale for temporal views (gantt, grid, cohort and calendar) is saved in localstorage (resModel dependent) when the user changes the scale value. So when we come back on one of…
After this commit, the scale for temporal views (gantt, grid, cohort and calendar) is saved in localstorage (resModel dependent) when the user changes the scale value. So when we come back on one of this views, the localstorage scale is set as default scale value instead of scale attribute. If no localstorage value exists, then the scale attribute of the component is taken into account. e.g. => I go to the gantt view for project.tasks for the first time => No localstorage exists => default scale = mode arch attribute = week => I don't change the scale => I change view to list => I come back on gantt view => No localstorage exists => default scale = mode arch attribute = week => I change the scale to "year" value => localstorage is updated ! (gantt-scale-of-project.tasks, "year") => I change view to list => I come back on gantt view => localstorage value exists ! => default scale = localstorage value = year PR ENT : https://github.com/odoo/enterprise/pull/53047
Indian accounting now includes default cash rounding using the Half-Up method, helping totals align with common cash payment practices. The chart of accounts has also been updated with income and expense accounts for rounding adjustments, improving consistency in financial records.
Original PR description
Implement default Cash Rounding with Half-Up method for Indian localization. Update Chart of Accounts for Expense & Income with appropriate adjustments. Task Id: 3631283
Timesheet period totals now show clear color indicators when grouped by employee, making it easier to see whether recorded hours are missing, exact, or above expected hours. This helps managers quickly identify employees who may need follow-up, especially for non-standard work schedules.
Original PR description
Before this commit: Currently, we have a color code for the daily total of timesheets encoded per employee, but that doesn't apply to the total number for the period. The daily color code can be misleading because the employee may be missing hours on one day, but that is balanced out with overtime on another day and ultimately has encoded the required number of hours according to their contract for the week/month. The color code for the totals would help users identify at a glance employees who are missing hours - especially when employees are not working standard 40h/week. After this commit: The following color for the totals were applied when grouping by employee: - orange if overtime - green if exact hours - red if missing hours task-3632025
Resolved issues and error corrections
This fixes an issue where company-wide public holidays could appear as unusual days for employees in other companies. Employees now only see unusual days that belong to the correct company, reducing confusion in attendance and scheduling views.
Original PR description
When we create public holidays, we can create global ones that will apply to all 'Working Hours' of the company. When you create such a public holiday, it is displayed as a an unusual day for all employees of all companies that have a contract. The issue comes from the the fact that we use a sudo to get the contract of the employees and then we call '_get_unusual_day' on the Working Hours of the contract in sudo. So when we catch the global ones (wihtout Working Hours) it takes them from all companies as we are in sudo and it won't apply the record rule. 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
Code cleanup and technical improvements
This change removes a duplicated setting used to track whether chat windows are minimized and relies on the existing window state field instead. It also aligns the default chat window behavior so new conversations start closed as intended, reducing inconsistencies in live chat and Discuss.
Original PR description
...as it as redundant with the `fold_state` field. This commit also changes the default value of `fold_state` from `open` to `closed` as the former behavior made the chat windows closed by default due to `is_minimized` default value being falsy. enterprise: https://github.com/odoo/enterprise/pull/52680 upgrade: https://github.com/odoo/upgrade/pull/5434 task-3624228 Co-authored-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Miscellaneous changes
Description of the issue/featureforum.post 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#146649
Original PR description
Description of the issue/featureforum.post 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#146649
The Planning app's "Shifts in Conflict" filter now behaves correctly beyond schedule-style views. List and Kanban views show only conflicting shifts, while planning dialogs avoid carrying over this filter so users can choose shifts normally.
Original PR description
In a previous commit, we customized the filter "Shifts in Conflict" in Gantt and Calendar views to be able to still see other shifts. Makes sense: as the idea is to plan them conveniently, you want to see the rest of the schedule. So, rather than having a domain filtering out the non-conflicting shifts, we just display them with a lower opacity. The issue is that, in other views, the filter has no effect. With this commit, we filter out the non-conflicting shifts in List and Kanban views. task-3555519
The Helpdesk Reporting section now uses the correct plural title, “Tickets Analysis,” instead of “Ticket Analysis.” This small wording correction makes the report label clearer and more consistent for users.
Original PR description
Before this PR, the title for the Tickets Analysis section within Helpdesk Reporting was 'Ticket Analysis'. In this PR, It has been Fixes to 'Tickets Analysis'. task-3475975
The Discuss chat test suite was adjusted to match a related cleanup that removed an older minimized-state field. This keeps automated checks aligned with the current product behavior and helps prevent false test failures during future releases.
Original PR description
community: https://github.com/odoo/odoo/pull/145941 upgrade: https://github.com/odoo/upgrade/pull/5434 task-3624228
Steps to reproduce: ------------------- - in a second company, giving leave to an employee; - go to reporting in Time Off app; - remove all filters. Issue: ------ We see leaves of the other company's employees. Cause: ------ The global rule which allows a domain to be added to manage the multi-company case on the `hr.leave` model takes account the company of the type of leave. Solution: --------- As types of leave can be shared between different companies, it is also necessary
Original PR description
Steps to reproduce: ------------------- - in a second company, giving leave to an employee; - go to reporting in Time Off app; - remove all filters. Issue: ------ We see leaves of the other company's employees. Cause: ------ The global rule which allows a domain to be added to manage the multi-company case on the `hr.leave` model takes account the company of the type of leave. Solution: --------- As types of leave can be shared between different companies, it is also necessary to filter on the employee's company. In fact, even a time off administrator is not supposed to see the holidays of employees in companies that are not activated for him. opw-3594737 Forward-Port-Of: odoo/odoo#145001 Forward-Port-Of: odoo/odoo#142665
Steps to reproduce: ------------------- - modify the company calendar to get an other value than 8 average hour per day; - add this calendar to two employees (A and B); - create a type of leave for the current company; - create an allocation for the employee A for this type with X hours without saving; - add the employee B; Issue: ------ The number of hours is modified. Cause: ------ There is an inconsistency between `_compute_number_of_hours_display` and `_compute_from_holiday_s
Original PR description
Steps to reproduce: ------------------- - modify the company calendar to get an other value than 8 average hour per day; - add this calendar to two employees (A and B); - create a type of leave for…
Steps to reproduce: ------------------- - modify the company calendar to get an other value than 8 average hour per day; - add this calendar to two employees (A and B); - create a type of leave for the current company; - create an allocation for the employee A for this type with X hours without saving; - add the employee B; Issue: ------ The number of hours is modified. Cause: ------ There is an inconsistency between `_compute_number_of_hours_display` and `_compute_from_holiday_status_id` methods. In the `_compute_from_holiday_status_id` the number of hours is determined according to order: employee calendar --> company calendar --> constant (8 hours) In the `_compute_number_of_hours_display` the number of hours directly falls back on the constant if we don't find an employee for a type of leave that is employee. In the case of multiple employees, we will always use this constant, whereas we use the company calendar in the other method. Solution: --------- Keep the company calendar if you don't have an employee before falling back on a constant. opw-3617281 Forward-Port-Of: odoo/odoo#145783
Current behaviour: --- Wrong format used when importing dates Steps to reproduce: --- 1. Change your language to German 2. Go to Sales > Orders 3. Export to XLSX 4. Change to dates to german format (ie: 10.09.2023) 5. Favorites > import records > Upload file 6. Click on Test 7. "does not match format '%Y-%m-%d'" Cause of the issue: --- Only default formats were taken into account because options are empty. opw-3540715 --- I confirm I have signed the CLA and read the PR
Original PR description
Current behaviour: --- Wrong format used when importing dates Steps to reproduce: --- 1. Change your language to German 2. Go to Sales > Orders 3. Export to XLSX 4. Change to dates to german format (ie: 10.09.2023) 5. Favorites > import records > Upload file 6. Click on Test 7. "does not match format '%Y-%m-%d'" Cause of the issue: --- Only default formats were taken into account because options are empty. opw-3540715 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141283
A recent commit (https://github.com/odoo/odoo/pull/139686) changed the size of the mobile view in pos to <= 992px. This commit adapts the overall display to this change. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#144703
Original PR description
A recent commit (https://github.com/odoo/odoo/pull/139686) changed the size of the mobile view in pos to <= 992px. This commit adapts the overall display to this change. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#144703
To reproduce: - Create and confirm MO with a tracked component (qty 1, in stock) - Open the shop floor app and click on the move line for the component - In the pop-up, change the quantity to 2 and click save Current behavior: Crash on an infinite recursion. The issue was introduced in [1], as setting picked to True in the stock.move write triggers another call to write on the stock.move, resulting in the infinite recursion. Expected behavior when this PR is merged: The quantity on t
Original PR description
To reproduce: - Create and confirm MO with a tracked component (qty 1, in stock) - Open the shop floor app and click on the move line for the component - In the pop-up, change the quantity to 2 and click save Current behavior: Crash on an infinite recursion. The issue was introduced in [1], as setting picked to True in the stock.move write triggers another call to write on the stock.move, resulting in the infinite recursion. Expected behavior when this PR is merged: The quantity on the stock.move is updated, and the popup closes. By just updating the vals of the write, we do not trigger the write method again and avoid the recursion while still maintaining the wanted functionality from [1]. [1] https://github.com/odoo/odoo/commit/fe508c6b2cb1b92d7b063cc194a3dad37f4eb255 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145922
**Current behaviour before commit:** -When creating a link, the 'unlink' button is not getting appeared in the toolbar. -When removing a link through 'unlink' button, the 'unlink' button is not getting disappeared in toolbar. -Before this commit, `_updateEditorUI` method is responsible for hiding/ showing create-link button. **Desired behaviour after commit:** -Now, When creating a link, the 'unlink' button gets appeared in the toolbar. -When removing link through 'u
Original PR description
**Current behaviour before commit:** -When creating a link, the 'unlink' button is not getting appeared in the toolbar. -When removing a link through 'unlink' button, the 'unlink' button is not getting disappeared in toolbar. -Before this commit, `_updateEditorUI` method is responsible for hiding/ showing create-link button. **Desired behaviour after commit:** -Now, When creating a link, the 'unlink' button gets appeared in the toolbar. -When removing link through 'unlink' button, the 'unlink' button gets disappeared in toolbar. -This commit ensures that `_updateToolbar` method is responsible for hiding/ showing the create-link and unlink button. task-3514639 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140262
The new, refactored method `_compute_tax_id` caches the results of `account.fiscal.position.map_tax()` to improve performances; however, this makes it nearly impossible to customize the behavior of this method in case other elements are added to the workflow of taxes computation. Every sale order line with the same fiscal position, company and product taxes have their taxes mapped in the same manner This commit adds a hook to allow custom modules to specify additional custom cache keys. F
Original PR description
The new, refactored method `_compute_tax_id` caches the results of `account.fiscal.position.map_tax()` to improve performances; however, this makes it nearly impossible to customize the behavior of this method in case other elements are added to the workflow of taxes computation. Every sale order line with the same fiscal position, company and product taxes have their taxes mapped in the same manner This commit adds a hook to allow custom modules to specify additional custom cache keys. Forward-Port-Of: odoo/odoo#146271
Previously, draft quotations were never marked as expired. However, draft quotations can be viewed in the portal if you have the link. In order to prevent customers from paying for draft quotations, we now mark draft quotations as expired when applicable. task-3577657 Forward-Port-Of: odoo/odoo#144581
Original PR description
Previously, draft quotations were never marked as expired. However, draft quotations can be viewed in the portal if you have the link. In order to prevent customers from paying for draft quotations, we now mark draft quotations as expired when applicable. task-3577657 Forward-Port-Of: odoo/odoo#144581
This attribute was not correctly updated with the big attribute revamp. This commit fixes that. Forward-Port-Of: odoo/odoo#146523
Original PR description
This attribute was not correctly updated with the big attribute revamp. This commit fixes that. Forward-Port-Of: odoo/odoo#146523
### After this PR You can override _prepare_move_line_finished_write_vals to add other value to write on move line vals before the post iventory Use case examples: - You want to update the owner by custom logic after the produce - You want to put a result_package_id to put_in_pack at the same time you produce (i need the prepare because i'm in this situation) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146526
Original PR description
### After this PR You can override _prepare_move_line_finished_write_vals to add other value to write on move line vals before the post iventory Use case examples: - You want to update the owner by custom logic after the produce - You want to put a result_package_id to put_in_pack at the same time you produce (i need the prepare because i'm in this situation) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146526 Forward-Port-Of: odoo/odoo#139420
Problem --------- In the accounting tour, during the invoice creating step, the message asking to confirm the invoice was irrelevant. Landed in 17.0 with this commit:cc6f85af2aac31816b51a0b39c9b119049f9954f Objective --------- Change the message into "Once your invoice is ready, confirm it." Solution --------- Change the relevant message in the tour JS file. task-3619638 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-O
Original PR description
Problem --------- In the accounting tour, during the invoice creating step, the message asking to confirm the invoice was irrelevant. Landed in 17.0 with this commit:cc6f85af2aac31816b51a0b39c9b119049f9954f Objective --------- Change the message into "Once your invoice is ready, confirm it." Solution --------- Change the relevant message in the tour JS file. task-3619638 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#144963
4424 VAT to be recovered should be liability_current. 4426 VAT deductible should be asset_current. 4427 VAT collected should be liability_current. Enterprise PR: https://github.com/odoo/enterprise/pull/52603 taskid: 3634044 Forward-Port-Of: odoo/odoo#146572 Forward-Port-Of: odoo/odoo#145947
Original PR description
4424 VAT to be recovered should be liability_current. 4426 VAT deductible should be asset_current. 4427 VAT collected should be liability_current. Enterprise PR: https://github.com/odoo/enterprise/pull/52603 taskid: 3634044 Forward-Port-Of: odoo/odoo#146572 Forward-Port-Of: odoo/odoo#145947
Step to reproduce: - Create a mega menu - Enter edit mode and select it - You can duplicate the top level block (but not remove it) - If you duplicate it, you end up with a second top level block that you can't delete ever, even by deleting inner elements one by one. Technical details: 1. The remove button of the mega menu is already hidden thanks to commit [1] which used the `forceNoDeleteButton` editor option introduced with commit [2]. 2. The table of content snippet also need to hid
Original PR description
Step to reproduce: - Create a mega menu - Enter edit mode and select it - You can duplicate the top level block (but not remove it) - If you duplicate it, you end up with a second top level block…
Step to reproduce: - Create a mega menu - Enter edit mode and select it - You can duplicate the top level block (but not remove it) - If you duplicate it, you end up with a second top level block that you can't delete ever, even by deleting inner elements one by one. Technical details: 1. The remove button of the mega menu is already hidden thanks to commit [1] which used the `forceNoDeleteButton` editor option introduced with commit [2]. 2. The table of content snippet also need to hide both the delete and clone button. It was done in an "non-ideal" way with commit [3]. 3. The delete button removal for table of content snippet was actually improved to use the `forceNoDeleteButton` option of commit [2]. 4. It's also commit [1] which prevent the deletion of the top level block when deleting inner elements one by one: when the last one is deleted, it regenerates the whole block. This commit thus simply introduce a `forceNoCloneButton` option in the editor to mimick the `forceNoDeleteButton` option and uses it for the mega menu element. It also take the opportunity to use it in the table of content snippet. [1]: https://github.com/odoo/odoo/commit/97810a9c40396bb27cb5779937734849d185cf1f [2]: https://github.com/odoo/odoo/commit/7ef484377a493ebe558242480d0da6b542d6c247 [3]: https://github.com/odoo/odoo/commit/9fb2dad97cfbd412bee3cb5d1358a9835e721f60#diff-ea32a091d6b1a47aeea680fa39bbc9111260cbdaf07e9f388a9d04741806ea8fR128-R129 opw-3604033 opw-3627319 Forward-Port-Of: odoo/odoo#146015
Since [commit 1], the columns count in the options is updated while dragging the width handle of a column. That behavior relies on asynchronous code which is not awaited. This commit corrects it to be in line with the behavior of all other options: the count is updated after releasing the drag. [commit 1]: https://github.com/odoo/odoo/commit/710d000f1872fd99b41d52ec3d6923756bba7cba task-3576046 Forward-Port-Of: odoo/odoo#141002
Original PR description
Since [commit 1], the columns count in the options is updated while dragging the width handle of a column. That behavior relies on asynchronous code which is not awaited. This commit corrects it to be in line with the behavior of all other options: the count is updated after releasing the drag. [commit 1]: https://github.com/odoo/odoo/commit/710d000f1872fd99b41d52ec3d6923756bba7cba task-3576046 Forward-Port-Of: odoo/odoo#141002
Anlytic distribution models did not apply to bank recon entries. The corresponding enterprise PR activates the feature, however due to dependencies on non-precomputed fields, the attribute is removed OPW-3558060 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#146235 Forward-Port-Of: odoo/odo
Original PR description
Anlytic distribution models did not apply to bank recon entries. The corresponding enterprise PR activates the feature, however due to dependencies on non-precomputed fields, the attribute is removed OPW-3558060 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#146235 Forward-Port-Of: odoo/odoo#143330
### Steps to reproduce issue: 1. Open Contacts 2. Select a contact 3. Choose: - Add an address - Only if contact is individual: Select drop-down menu next to Address fields in form 4. Private Address doesn't show in the options ### Explanation: Private Address was intentionally deleted from `res.partner.type` in *v16.4* (cf. b1f7e56f7938649c540cab8c2feec3c6407ae47d). ### Suggested change: Remove Private Address paragraph in `res.partner.type.help`, it should not exist a
Original PR description
### Steps to reproduce issue: 1. Open Contacts 2. Select a contact 3. Choose: - Add an address - Only if contact is individual: Select drop-down menu next to Address fields in form 4. Private Address doesn't show in the options ### Explanation: Private Address was intentionally deleted from `res.partner.type` in *v16.4* (cf. b1f7e56f7938649c540cab8c2feec3c6407ae47d). ### Suggested change: Remove Private Address paragraph in `res.partner.type.help`, it should not exist anymore. opw-3602922 Forward-Port-Of: odoo/odoo#146298
Before this commit: there was no stat button 'publish' displayed for payment provider 'pay in store'. Reason: The stat button is shown when the module is installed but there was no connected module on the 'payment_provider_onsite' record. With this commit the module_id is added. Forward-Port-Of: odoo/odoo#146349 Forward-Port-Of: odoo/odoo#146282
Original PR description
Before this commit: there was no stat button 'publish' displayed for payment provider 'pay in store'. Reason: The stat button is shown when the module is installed but there was no connected module on the 'payment_provider_onsite' record. With this commit the module_id is added. Forward-Port-Of: odoo/odoo#146349 Forward-Port-Of: odoo/odoo#146282
Before this commit, the CSS properties defined by the `o_link_in_selection` class could be applied to a link outside the editable. In particular, the link preview in the LinkDialog widget would display the visual indicator of a link in selection, even though it is not editable nor selected (this happens because the link preview contains the classes of the original link being edited). As the styling provided by `.o_link_in_selection` is only meant to be applied to links inside the editable, th
Original PR description
Before this commit, the CSS properties defined by the `o_link_in_selection` class could be applied to a link outside the editable. In particular, the link preview in the LinkDialog widget would display the visual indicator of a link in selection, even though it is not editable nor selected (this happens because the link preview contains the classes of the original link being edited). As the styling provided by `.o_link_in_selection` is only meant to be applied to links inside the editable, this commit makes sure the CSS rule is specific about that. task-3580546 Forward-Port-Of: odoo/odoo#145386 Forward-Port-Of: odoo/odoo#140996
Since [1], messages received out of focus are notified to the user via the tab title. In order to do so, the title service is used. This service changes the tab title according to its internal state. When the live chat is embed on a page, the original title of the page is not coming from the title service. When the service state changes, the title is replaced without taking into account the original title. This behavior is not correct. In practice, this functionality is only used in b
Original PR description
Since [1], messages received out of focus are notified to the user via the tab title. In order to do so, the title service is used. This service changes the tab title according to its internal state. When the live chat is embed on a page, the original title of the page is not coming from the title service. When the service state changes, the title is replaced without taking into account the original title. This behavior is not correct. In practice, this functionality is only used in by the `web` bundle. The error occurs because the code handling this behavior is placed in the common bundle while it should not. This PR fixes this issue by moving this code to the `web` bundle. task-3644431 [1]: https://github.com/odoo/odoo/pull/145216 Forward-Port-Of: odoo/odoo#146752 Forward-Port-Of: odoo/odoo#146664
If ecommerce was installed, website privacy setting "Customer Account" was hidden and replaced with another setting. Now both of these settings are shown. task-3321443 Forward-Port-Of: odoo/odoo#146208 Forward-Port-Of: odoo/odoo#139651
Original PR description
If ecommerce was installed, website privacy setting "Customer Account" was hidden and replaced with another setting. Now both of these settings are shown. task-3321443 Forward-Port-Of: odoo/odoo#146208 Forward-Port-Of: odoo/odoo#139651
This issue occurs when a customer passes an invalid context in the view, at that time this error will be generated. Steps To Produce:- - Go to `Settings >Technical >User Interface >Views` - Open any view - pass invalid context like `context="{'search_default_demo': active_id}, 'search_default_x_stage_id':[3]}"` - error will be generated sentry traceback- ``` SyntaxError: unmatched '}' (<unknown>, line 1) File "odoo/http.py", line 2157, in __call__ response = request._serve_db
Original PR description
This issue occurs when a customer passes an invalid context in the view, at that time this error will be generated. Steps To Produce:- - Go to `Settings >Technical >User Interface >Views` - Open any…
This issue occurs when a customer passes an invalid context in the view, at that time this error will be generated.
Steps To Produce:-
- Go to `Settings >Technical >User Interface >Views`
- Open any view
- pass invalid context like `context="{'search_default_demo': active_id}, 'search_default_x_stage_id':[3]}"`
- error will be generated
sentry traceback-
```
SyntaxError: unmatched '}' (<unknown>, line 1)
File "odoo/http.py", line 2157, in __call__
response = request._serve_db()
File "odoo/http.py", line 1732, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1759, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1960, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 207, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "home/odoo/src/enterprise/17.0/web_studio/controllers/main.py", line 755, in edit_view_arch
view.write({'arch': view_arch})
File "home/odoo/src/enterprise/17.0/web_studio/models/studio_mixin.py", line 33, in write
res = super(StudioMixin, self).write(vals)
File "odoo/addons/base/models/ir_ui_view.py", line 524, in write
res = super(View, self).write(self._compute_defaults(vals))
File "odoo/models.py", line 4422, in write
fields[0].determine_inverse(real_recs)
File "odoo/fields.py", line 1397, in determine_inverse
determine(self.inverse, records)
File "odoo/fields.py", line 101, in determine
return needle(*args)
File "odoo/addons/base/models/ir_ui_view.py", line 268, in _inverse_arch
view.write(data)
File "home/odoo/src/enterprise/17.0/web_studio/models/studio_mixin.py", line 33, in write
res = super(StudioMixin, self).write(vals)
File "odoo/addons/base/models/ir_ui_view.py", line 524, in write
res = super(View, self).write(self._compute_defaults(vals))
File "odoo/models.py", line 4412, in write
real_recs._validate_fields(vals, inverse_fields)
File "odoo/models.py", line 1449, in _validate_fields
check(self)
File "odoo/addons/base/models/ir_ui_view.py", line 384, in _check_xml
view._validate_view(combined_arch, view.model)
File "odoo/addons/base/models/ir_ui_view.py", line 1353, in _validate_view
self._validate_attributes(node, name_manager, node_info)
File "odoo/addons/base/models/ir_ui_view.py", line 1649, in _validate_attributes
vnames = get_expression_field_names(expr) - {'id'}
File "odoo/tools/view_validation.py", line 243, in get_expression_field_names
item_ast = ast.parse(expression.strip(), mode='eval').body
File "ast.py", line 50, in parse
return compile(source, filename, mode, flags,
```
after this commit, we can display Validation Errors to users instead of a traceback when they make mistakes in any UI view.
sentry-4684090820
Forward-Port-Of: odoo/odoo#145193This pull request addresses three key changes in the hr_holidays module for improving user interface and access rights. Specifically, it corrects the logic to show/hide "Approve/Refuse" buttons based on HR app permissions, adds spacing between dates for better readability, and renames the UI title for clarity. task-3507942 Forward-Port-Of: odoo/odoo#145352 Forward-Port-Of: odoo/odoo#136128
Original PR description
This pull request addresses three key changes in the hr_holidays module for improving user interface and access rights. Specifically, it corrects the logic to show/hide "Approve/Refuse" buttons based on HR app permissions, adds spacing between dates for better readability, and renames the UI title for clarity. task-3507942 Forward-Port-Of: odoo/odoo#145352 Forward-Port-Of: odoo/odoo#136128
Before this commit, pasting a URL as plain text followed by picking "Embed Youtube Video" in the command bar failed to embed the video, inserting the following text instead: "[object Promise]". This happened because [1], which is the result of a forward-port, failed to `await` the call to getYoutubeVideoElement, which is an async function since version 15.2. [1]: https://github.com/odoo/odoo/commit/c2f0519fec40dcf529218f39829e0a09c0f7af69 task-3611566 Forward-Port-Of:
Original PR description
Before this commit, pasting a URL as plain text followed by picking "Embed Youtube Video" in the command bar failed to embed the video, inserting the following text instead: "[object Promise]". This happened because [1], which is the result of a forward-port, failed to `await` the call to getYoutubeVideoElement, which is an async function since version 15.2. [1]: https://github.com/odoo/odoo/commit/c2f0519fec40dcf529218f39829e0a09c0f7af69 task-3611566 Forward-Port-Of: odoo/odoo#146653 Forward-Port-Of: odoo/odoo#143866
Currently it's not possible to send facturae invoices through FACe, since we did not include administrative centers in the XML. This commit fixes that by: - Introducing a new partner type for Administrative Centers, with the necessary fields - Adding all Administrative Centers linked to a partner on the facturae electronic invoice Since often the three required Administrative Centers (Fiscal, Receiver and Payer) are the same, we allow the user to specify multiple roles on an Administra
Original PR description
Currently it's not possible to send facturae invoices through FACe, since we did not include administrative centers in the XML. This commit fixes that by: - Introducing a new partner type for Administrative Centers, with the necessary fields - Adding all Administrative Centers linked to a partner on the facturae electronic invoice Since often the three required Administrative Centers (Fiscal, Receiver and Payer) are the same, we allow the user to specify multiple roles on an Administrative Center. [task-3599447](https://www.odoo.com/web#id=3599447&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146675 Forward-Port-Of: odoo/odoo#142935
This commit fixes a crash that would happen on file upload in the project sharing portal chatter. This crash was caused by the file size check in the uploadFiles method of the FileInput component due to the fact that the PortalFileInput calls this method once per file instead of once for all files. The fix therefore ensures that the file size check will be correctly applied in the case of a single file parameter instead of a files array. Steps to reproduce: - Access the portal (with the /my
Original PR description
This commit fixes a crash that would happen on file upload in the project sharing portal chatter. This crash was caused by the file size check in the uploadFiles method of the FileInput component due to the fact that the PortalFileInput calls this method once per file instead of once for all files. The fix therefore ensures that the file size check will be correctly applied in the case of a single file parameter instead of a files array. Steps to reproduce: - Access the portal (with the /my route) - Go to Projects - Open the AGR - S00064 - Sales Order project - Open any task in the kanban view - Send an attachment in the chatter - Before the fix, a traceback occurs on file upload opw-3628996 Forward-Port-Of: odoo/odoo#146214 Forward-Port-Of: odoo/odoo#145918
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
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 Forward-Port-Of: odoo/odoo#145424
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: =========
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 Forward-Port-Of: odoo/odoo#146266
When defining a selection field as field dependency, one must specify the options of that selection field (or at least an empty list if options don't matter). Because if that field isn't in the arch (which is the point of defining field dependencies), and the model has to process a value for that field, it will crash in `parseServerValue` (selection case). There's no scenario to reproduce this in standard, but one can build one: edit the project task form view arch, in the child_ids x2many, s
Original PR description
When defining a selection field as field dependency, one must specify the options of that selection field (or at least an empty list if options don't matter). Because if that field isn't in the arch (which is the point of defining field dependencies), and the model has to process a value for that field, it will crash in `parseServerValue` (selection case). There's no scenario to reproduce this in standard, but one can build one: edit the project task form view arch, in the child_ids x2many, set mode="tree,kanban", but do not add the kanban nor the form view inline (s.t. default views are used). Then open the view in mobile and click to add a record in the relation. 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#146435
Current behavior before PR: In project module when project form view opens there is a tiny horizontal scrollbar that doesn't seem necessary. Desired behavior after PR is merged: With this commit, I have fixed this issue and discard unnecessary tiny horizontal scrollbar in project form view. task: 3508251 Forward-Port-Of: odoo/odoo#137401
Original PR description
Current behavior before PR: In project module when project form view opens there is a tiny horizontal scrollbar that doesn't seem necessary. Desired behavior after PR is merged: With this commit, I have fixed this issue and discard unnecessary tiny horizontal scrollbar in project form view. task: 3508251 Forward-Port-Of: odoo/odoo#137401
Currently traceback appears if no rules are available on the product. (Steps to reproduce: install sale and stock, but not purchase, go to the product and click "Replenish") Index is out of range because route_ids is an empty list. This fix will allow route_ids to be empty. Description of the issue/feature this PR addresses: Empty list of rules creates a situation where index becomes out of range in a wizard Current behavior before PR: Traceback appears when no rules are available
Original PR description
Currently traceback appears if no rules are available on the product. (Steps to reproduce: install sale and stock, but not purchase, go to the product and click "Replenish") Index is out of range because route_ids is an empty list. This fix will allow route_ids to be empty. Description of the issue/feature this PR addresses: Empty list of rules creates a situation where index becomes out of range in a wizard Current behavior before PR: Traceback appears when no rules are available Desired behavior after PR is merged: No traceback appears opw-3637054 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146250
The "Remaining Days/Hours on so" field wasn't displayed on the portal tasks view, because of an issue with two templates having the same id. In the view file sale_timesheet_portal_templates.xml, the portal_timesheet_table_inherit template is now depreciated and its content was moved into the project_portal_templates.xml file. task-3595003 Forward-Port-Of: odoo/odoo#146747 Forward-Port-Of: odoo/odoo#142020
Original PR description
The "Remaining Days/Hours on so" field wasn't displayed on the portal tasks view, because of an issue with two templates having the same id. In the view file sale_timesheet_portal_templates.xml, the portal_timesheet_table_inherit template is now depreciated and its content was moved into the project_portal_templates.xml file. task-3595003 Forward-Port-Of: odoo/odoo#146747 Forward-Port-Of: odoo/odoo#142020
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 dev
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#52941 Forward-Port-Of: odoo/enterprise#52765
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
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
There was some hesitation to include these fields, we will now do it since we have had multiple requests. Only for the `on_validation` mode. opw-3580238 opw-3636215 Forward-Port-Of: odoo/enterprise#52990 Forward-Port-Of: odoo/enterprise#52947
Original PR description
There was some hesitation to include these fields, we will now do it since we have had multiple requests. Only for the `on_validation` mode. opw-3580238 opw-3636215 Forward-Port-Of: odoo/enterprise#52990 Forward-Port-Of: odoo/enterprise#52947
Before this commit, when editing a grouped kanban, that has multiple groups the kanban editor loaded all groups and record. This was useless as only one record is displayed to ease edition. After this commit, we load only one group to speed up loading and prevent useless data from being fetched. Forward-Port-Of: odoo/enterprise#52727 Forward-Port-Of: odoo/enterprise#52500
Original PR description
Before this commit, when editing a grouped kanban, that has multiple groups the kanban editor loaded all groups and record. This was useless as only one record is displayed to ease edition. After this commit, we load only one group to speed up loading and prevent useless data from being fetched. Forward-Port-Of: odoo/enterprise#52727 Forward-Port-Of: odoo/enterprise#52500
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 Forward-Port-Of: odoo/enterprise#50465
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 Forward-Port-Of: odoo/enterprise#50465
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
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 Forward-Port-Of: odoo/enterprise#47499
**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#53017 Forward-Port-Of: odoo/enterprise#49750
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#53017 Forward-Port-Of: odoo/enterprise#49750
1) Fix the traceback when we switch the language 2) Add phone and email widget in frontdesk visitor task-3524198 Forward-Port-Of: odoo/enterprise#49801
Original PR description
1) Fix the traceback when we switch the language 2) Add phone and email widget in frontdesk visitor task-3524198 Forward-Port-Of: odoo/enterprise#49801
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 Forward-Port-Of: odoo/enterprise#52942
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 Forward-Port-Of: odoo/enterprise#52942
Changes ValidationError with RedirectWarning to allow quick bank account configuration for users. task - 3576607 Forward-Port-Of: odoo/enterprise#52754
Original PR description
Changes ValidationError with RedirectWarning to allow quick bank account configuration for users. task - 3576607 Forward-Port-Of: odoo/enterprise#52754
Fixed `_compute_remaining_amount` method by adding missing depend Forward-Port-Of: odoo/enterprise#52433
Original PR description
Fixed `_compute_remaining_amount` method by adding missing depend Forward-Port-Of: odoo/enterprise#52433
`test_duplication_should_preserve_local_time` calls `action_copy_previous_week` with a timezone in the context. The issue is that the method get the timezone from the employee or else the context, yet the employee has a tz 'UTC', so it crashes. We this commit, we set the desired tz on the employee. Forward-Port-Of: odoo/enterprise#52928
Original PR description
`test_duplication_should_preserve_local_time` calls `action_copy_previous_week` with a timezone in the context. The issue is that the method get the timezone from the employee or else the context, yet the employee has a tz 'UTC', so it crashes. We this commit, we set the desired tz on the employee. Forward-Port-Of: odoo/enterprise#52928
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 dis
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#52742 Forward-Port-Of: odoo/enterprise#51379
- 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 Thi
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 Forward-Port-Of: odoo/enterprise#50839
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
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
In Romania, there are two balance sheets: one for general companies and one for companies applying IFRS. This commit aims to fix both. #### 1. Balancing the general balance sheet According to the Balance Sheet diagnosis tool in https://github.com/odoo/enterprise/pull/36838, some accounts were not referenced correctly. This is now fixed. We also re-do the Retained Earnings / Current Year Earnings with cross-reports to the P&L. #### 2. Balancing the IFRS balance sheet In addition to the
Original PR description
In Romania, there are two balance sheets: one for general companies and one for companies applying IFRS. This commit aims to fix both. #### 1. Balancing the general balance sheet According to the…
In Romania, there are two balance sheets: one for general companies and one for companies applying IFRS. This commit aims to fix both. #### 1. Balancing the general balance sheet According to the Balance Sheet diagnosis tool in https://github.com/odoo/enterprise/pull/36838, some accounts were not referenced correctly. This is now fixed. We also re-do the Retained Earnings / Current Year Earnings with cross-reports to the P&L. #### 2. Balancing the IFRS balance sheet In addition to the issues encountered with the general balance sheet, the IFRS balance sheet also suffered from the problem that officially it should be used with a CoA dedicated for IFRS, which does not contain some of the accounts of the general CoA. Our solution is to nevertheless add those accounts to the Balance Sheet in appropriate locations. #### 3. Refactor the reports to use 1234D/1234C account code notation When the Romanian reports were first written, we thought that certain lines needed to contain a sum of debits or a sum of credits of AMLs of certain accounts. However, it is now certain that what was intended was the credit or debit balance of those accounts. We therefore remove the domain_formula expressions and replace them with account_codes_formula expressions. #### 4. Adapt the l10n_ro_saft tests to the CoA changes in the community PR Community PR: https://github.com/odoo/odoo/pull/145947 taskid: 3634044 Forward-Port-Of: odoo/enterprise#52907 Forward-Port-Of: odoo/enterprise#52603
*: 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 da
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
*= sale_planning, industry_fsm_sale Before this commit user was unable to get default values on clicking a gantt cell for creating new record. Also in planning user is getting wrong dates on clicking a cell for creating new record. Steps to reproduce: - Open the Gantt view of tasks (or the one of Planning). - Click on a cell from a specific line e.g. the Gantt view is grouped by user and you're creating a task for Marc Demo specifically. - Click on New button. Observed behavior: T
Original PR description
*= sale_planning, industry_fsm_sale Before this commit user was unable to get default values on clicking a gantt cell for creating new record. Also in planning user is getting wrong dates on clicking a cell for creating new record. Steps to reproduce: - Open the Gantt view of tasks (or the one of Planning). - Click on a cell from a specific line e.g. the Gantt view is grouped by user and you're creating a task for Marc Demo specifically. - Click on New button. Observed behavior: The new record is not assigned to Marc Demo by default Expected behavior: The new record should be assigned to Marc Demo by default After this commit user will be able to get default values on clicking a gantt cell for creating new record. Also in planning user will get correct dates on clicking a cell for creating new record. Task-3575768 Forward-Port-Of: odoo/enterprise#51465
HOW TO REPRODUCE: With eCommerce and appointment_account_payment installed, book Mitchell admin on a slot at 9am on a paid appointment. Once the booking is in cart, book another one at 10pm and with Mitchell Admin, try to pay the cart. An error message spawns and warn you that one of the bookings is not available. ISSUE: When filtering out unavailable bookings, the availability was computed on the different time intervals formed by bookings time ranges. However, the method returni
Original PR description
HOW TO REPRODUCE: With eCommerce and appointment_account_payment installed, book Mitchell admin on a slot at 9am on a paid appointment. Once the booking is in cart, book another one at 10pm and with…
HOW TO REPRODUCE: With eCommerce and appointment_account_payment installed, book Mitchell admin on a slot at 9am on a paid appointment. Once the booking is in cart, book another one at 10pm and with Mitchell Admin, try to pay the cart. An error message spawns and warn you that one of the bookings is not available. ISSUE: When filtering out unavailable bookings, the availability was computed on the different time intervals formed by bookings time ranges. However, the method returning intervals grouped the contiguous ones. So the user was considered as having a unique availability on the grouped intervals. Therefore, all but the first would be considered as unavailable. FIX: Use custom means to check all intervals, not merging contiguous ones. A test is added. At the same time, coverage is maximized in a simple way for bookings based on users. A condition is also added for resources when evaluating booking availability to avoid a crash when a resource is not linked to any appointment anymore. Task-3570588 for reference, method used for users https://www.geeksforgeeks.org/how-to-implement-interval-scheduling-algorithm-in-python/ Forward-Port-Of: odoo/enterprise#49830
Forward-Port-Of: odoo/enterprise#52936
Original PR description
Forward-Port-Of: odoo/enterprise#52936
The aim of this commit is handling account tags used in Balance Sheet/Profit and Loss report on the Coverage report tool. The idea is that user can change how we retrieve the account for a specific expression, the commit handle the case where we change for a tag(xml_id) or a tag(id). task-id: 3497908 Forward-Port-Of: odoo/enterprise#50673
Original PR description
The aim of this commit is handling account tags used in Balance Sheet/Profit and Loss report on the Coverage report tool. The idea is that user can change how we retrieve the account for a specific expression, the commit handle the case where we change for a tag(xml_id) or a tag(id). task-id: 3497908 Forward-Port-Of: odoo/enterprise#50673
Before This Commit: Currently, when there is an error reply from API Call, the system generates an error message with very limited information for all types of error calls. After This Commit: Improve the error messages by displaying more information like headings and error messages. Problem: At the moment, we are relying on the code and messages provided within the response. Solution: To provide more detailed error information, we are using two additional parameters: 'error_us
Original PR description
Before This Commit: Currently, when there is an error reply from API Call, the system generates an error message with very limited information for all types of error calls. After This Commit: Improve the error messages by displaying more information like headings and error messages. Problem: At the moment, we are relying on the code and messages provided within the response. Solution: To provide more detailed error information, we are using two additional parameters: 'error_user_title' and 'error_user_msg.' Task - 3516229 Forward-Port-Of: odoo/enterprise#47533