Tuesday, December 12, 2023
19 changes · master
Enhancements to existing features
Website helpdesk tickets created from online forms now receive better-formatted descriptions. This makes submitted information easier for support teams to read and act on, reducing confusion when handling customer requests.
Original PR description
In this PR, the formatting of adding descriptions to tickets created from the website form has been improved. task-3459958
The customer portal ticket view now makes timesheet entries easier to read by highlighting alternating rows and aligning row content vertically. This improves readability for customers reviewing service time on support tickets.
Original PR description
Before this commit: -portal ticket every lines of timesheet table was same -timesheet row data was not vertically center After this commit: -portal ticket every other lines of timesheet table will highlighted -timesheet row data will vertically center task-3546347
The Planning app now uses a newer interface component for selecting and displaying resource avatars in planning views. This keeps the experience more consistent and easier to maintain while preserving the existing behavior where still needed.
Original PR description
Before this commit, the Many2OneAvatarResource widget called 'many2one_avatar_resource' was still a legacy widget. We create the owl version and keep the legacy one for calendar views.
Resolved issues and error corrections
The Timesheets list view now displays the timer button correctly aligned with the hours. This small visual fix makes the timesheet interface cleaner and easier to read.
Original PR description
Steps: - install timesheets app - go to list view then - check timer button and it's time isn't aligned Issue: The timer button is not correctly aligned to the hours Cause : The problem occurs because the padding height difference is more ,so it is not aligned properly. Fix: By decreasing the padding height the problem got solved. task-3549279
Miscellaneous changes
The aim of this commit is changing 2 lines where we are using domain formula instead of aggregation formula. The idea is that we don't want to have "redundant" domains and we want to use the power of report engine by using the right formula, in that case, the aggregation one. task-id: 3627640 Forward-Port-Of: odoo/enterprise#52202
Original PR description
The aim of this commit is changing 2 lines where we are using domain formula instead of aggregation formula. The idea is that we don't want to have "redundant" domains and we want to use the power of report engine by using the right formula, in that case, the aggregation one. task-id: 3627640 Forward-Port-Of: odoo/enterprise#52202
Steps: - Open sales - Go to products then create new product - Select product type as the service then - Select create an order is task and then set project as Field Service - Then try to create new worksheet template Issue: - Raise Validation Error The host model name should be an existing model. Cause: - The host model name is not set to the existing model's name. Fix: - By setting the host model name to the existing model's name. task-3512366 Forward-Port-Of: odoo/enterprise
Original PR description
Steps: - Open sales - Go to products then create new product - Select product type as the service then - Select create an order is task and then set project as Field Service - Then try to create new worksheet template Issue: - Raise Validation Error The host model name should be an existing model. Cause: - The host model name is not set to the existing model's name. Fix: - By setting the host model name to the existing model's name. task-3512366 Forward-Port-Of: odoo/enterprise#52538 Forward-Port-Of: odoo/enterprise#47892
Task: 3596494 Related: odoo/enterprise#51582 The original fix doesn't work for a selection field without any values defined as `selection`, so I'm changing the field type to Char and adding a custom `onChange` method. Forward-Port-Of: odoo/enterprise#52533
Original PR description
Task: 3596494 Related: odoo/enterprise#51582 The original fix doesn't work for a selection field without any values defined as `selection`, so I'm changing the field type to Char and adding a custom `onChange` method. Forward-Port-Of: odoo/enterprise#52533
- Install Sales, Accounting and l10n_mx_edi - Switch to a MX company (e.g. ESCUELA KEMPER URGATE) - Create an user with Administration rights in Sales and no right in Acounting (e.g. User X) - With User X, create a SO and confirm it - Create an invoice from the SO - With an user with Accounting rights, confirm the invoice - Generate CFDI with "Send & Print" button - Register payment - With User X, try to open the invoice => An AccessError is raised: "Due to security restrictions, you a
Original PR description
- Install Sales, Accounting and l10n_mx_edi - Switch to a MX company (e.g. ESCUELA KEMPER URGATE) - Create an user with Administration rights in Sales and no right in Acounting (e.g. User X) - With…
- Install Sales, Accounting and l10n_mx_edi - Switch to a MX company (e.g. ESCUELA KEMPER URGATE) - Create an user with Administration rights in Sales and no right in Acounting (e.g. User X) - With User X, create a SO and confirm it - Create an invoice from the SO - With an user with Accounting rights, confirm the invoice - Generate CFDI with "Send & Print" button - Register payment - With User X, try to open the invoice => An AccessError is raised: "Due to security restrictions, you are not allowed to access 'Journal Item' (account.move.line) records." Cause: The error is raised when accessing "l10n_mx_edi_update_payments_needed" field in the invoice form view. Solution: In the invoice form view, "l10n_mx_edi_update_payments_needed" and "l10n_mx_edi_update_sat_needed" fields are invisible fields that are only used for the invisible attribute of 2 buttons that are limited to "account.group_account_invoice" group. Therefore, these 2 fields can also be limited to "account.group_account_invoice" group. opw-3611022 Forward-Port-Of: odoo/enterprise#51572
The module is dependant on `website_appointment`, but it is missing in the manifest. While upgrading, the issue happens because we try to parse the inherited `website_appointment` view But the module is not installed Since it is a direct dependency, it is better to have it in the manifest https://github.com/odoo/enterprise/blob/17.0/website_appointment_account_payment/views/appointment_templates_appointments.xml#L3 Forward-Port-Of: odoo/enterprise#51963
Original PR description
The module is dependant on `website_appointment`, but it is missing in the manifest. While upgrading, the issue happens because we try to parse the inherited `website_appointment` view But the module is not installed Since it is a direct dependency, it is better to have it in the manifest https://github.com/odoo/enterprise/blob/17.0/website_appointment_account_payment/views/appointment_templates_appointments.xml#L3 Forward-Port-Of: odoo/enterprise#51963
Currently, when the current company is a branch of some of company and the user is in bank reconciliation manual operation or auto reconciliation wizard, The account_id field will not be able to access the account from the root company's accounts because of how the domain was previously set on them. This commit aims to fix that behavior and allow their account_id field to access the root company's account too. related community-PR: https://github.com/odoo/odoo/pull/140773 [task-id: 3
Original PR description
Currently, when the current company is a branch of some of company and the user is in bank reconciliation manual operation or auto reconciliation wizard, The account_id field will not be able to access the account from the root company's accounts because of how the domain was previously set on them. This commit aims to fix that behavior and allow their account_id field to access the root company's account too. related community-PR: https://github.com/odoo/odoo/pull/140773 [task-id: 3549961](https://www.odoo.com/web#id=3549961&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#52299 Forward-Port-Of: odoo/enterprise#49456
Steps: - Install project_timesheet_forecast_sale. - Open timesheets module. - GroupBy `Billing Type`. Issue: - If project_timesheet_forecast_sale module is not installed and we groupBy `Billing Type` then it works but when this module is installed and then we try to groupBy `Billing Type`, a traceback appears. Cause: - `Billing Type` (timesheet_invoice_type) is a selection field and rest all groupBy are mostly many2one fields.So, when in selection field groupby value is not passed
Original PR description
Steps: - Install project_timesheet_forecast_sale. - Open timesheets module. - GroupBy `Billing Type`. Issue: - If project_timesheet_forecast_sale module is not installed and we groupBy `Billing Type` then it works but when this module is installed and then we try to groupBy `Billing Type`, a traceback appears. Cause: - `Billing Type` (timesheet_invoice_type) is a selection field and rest all groupBy are mostly many2one fields.So, when in selection field groupby value is not passed then `None` value is passed. Fix: - We are checking for valid condition,if there is no value then we are just passing None. Issue in this commit - [Link](https://github.com/odoo/enterprise/commit/da90f3b5c00ebbd61e9331d8c909191eb20eb8d7) task-3522253 Forward-Port-Of: odoo/enterprise#49159
### [FIX] account_reports: unbalanced deferral due to rounding When creating a deferral entry in the "Manual & Grouped" mode, we might have a tiny rounding error on the final move, resulting in a user error because of an unbalanced move. That way the user is blocked from generating the deferral entry. We now check before creating the deferral move whether the move is balanced. If there is a tiny difference, we adjust the balance account accordingly. ### [IMP] account_{accountant,reports
Original PR description
### [FIX] account_reports: unbalanced deferral due to rounding When creating a deferral entry in the "Manual & Grouped" mode, we might have a tiny rounding error on the final move, resulting in a…
### [FIX] account_reports: unbalanced deferral due to rounding
When creating a deferral entry in the "Manual & Grouped" mode, we might have a tiny rounding error on the final move, resulting in a user error because of an unbalanced move. That way the user is blocked from generating the deferral entry.
We now check before creating the deferral move whether the move is balanced. If there is a tiny difference, we adjust the balance account accordingly.
### [IMP] account_{accountant,reports}: add 'Not Started' column
For specific use-cases it is useful to know which amounts to be deferred have not started yet in or before the report's period.
For that reason we added an extra column 'Not Started' to the Deferred Report so it can be used to make manual accounting adjustments.
### [FIX] account_accountant: compute empty deferred start date on post
Currently when you edit a posted move and remove the deferred start date on a line, it won't be recomputed when posting again.
However we can not have a deferred end date without a deferred start date. That's why we also compute the deferred start date when the state of the move changes.
task-3624148
Forward-Port-Of: odoo/enterprise#52489
Forward-Port-Of: odoo/enterprise#52252This commit adds a new sheet for xlsx report exports with a summary of all filters and options activated at the moment of the export. task-3508641 Forward-Port-Of: odoo/enterprise#48245
Original PR description
This commit adds a new sheet for xlsx report exports with a summary of all filters and options activated at the moment of the export. task-3508641 Forward-Port-Of: odoo/enterprise#48245
**Prior to this commit:** When the timesheet is disabled in a project, the user error is thrown denying to update the time. **Post this commit:** The toast notification is raised instead of userError. **Task**-3446994 Forward-Port-Of: odoo/enterprise#52422 Forward-Port-Of: odoo/enterprise#51004
Original PR description
**Prior to this commit:** When the timesheet is disabled in a project, the user error is thrown denying to update the time. **Post this commit:** The toast notification is raised instead of userError. **Task**-3446994 Forward-Port-Of: odoo/enterprise#52422 Forward-Port-Of: odoo/enterprise#51004
Issue: ====== When you go into subscription preview with only 1 payment method available, the pay button will be disabled and you can't enable it. Steps to reproduce the isssue: ============================== - Make sure only 1 payment method available (demo) - Create a subscription and make in into `to_invoice` status - Go to preview Origin of the issue: ==================== There is an extra payment_form which was used in set payment method or , manage payment methods. In 17.0, w
Original PR description
Issue: ====== When you go into subscription preview with only 1 payment method available, the pay button will be disabled and you can't enable it. Steps to reproduce the isssue: ============================== - Make sure only 1 payment method available (demo) - Create a subscription and make in into `to_invoice` status - Go to preview Origin of the issue: ==================== There is an extra payment_form which was used in set payment method or , manage payment methods. In 17.0, we redirect the user when clicking on the button so we don't need that form anymore. opw-3626037 Forward-Port-Of: odoo/enterprise#52421
…ltiple ticket creation Forward-Port-Of: odoo/enterprise#52471 Forward-Port-Of: odoo/enterprise#52008
Original PR description
…ltiple ticket creation Forward-Port-Of: odoo/enterprise#52471 Forward-Port-Of: odoo/enterprise#52008
Purpose ======= When we share an article on LinkedIn, a preview of the page is displayed. If we post the same article from Odoo, the preview is not displayed, which has an impact on how much engagement the post will get. Task-3594550 Forward-Port-Of: odoo/enterprise#50605
Original PR description
Purpose ======= When we share an article on LinkedIn, a preview of the page is displayed. If we post the same article from Odoo, the preview is not displayed, which has an impact on how much engagement the post will get. Task-3594550 Forward-Port-Of: odoo/enterprise#50605
While computing statistics with the function(_compute_statistics) in the social marketing module, which is facing connectivity issues due to a loss of network or slow internet, the page is getting read time out. error: ``` TimeoutError: The read operation timed out File "urllib3/connectionpool.py", line 446, in _make_request six.raise_from(e, None) File "<string>", line 3, in raise_from # Permission is hereby granted, free of charge, to any person obtaining a copy File
Original PR description
While computing statistics with the function(_compute_statistics) in the social marketing module, which is facing connectivity issues due to a loss of network or slow internet, the page is getting…
While computing statistics with the function(_compute_statistics) in the
social marketing module, which is facing connectivity issues due to a loss
of network or slow internet, the page is getting read time out.
error:
```
TimeoutError: The read operation timed out
File "urllib3/connectionpool.py", line 446, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
# Permission is hereby granted, free of charge, to any person obtaining a copy
File "urllib3/connectionpool.py", line 441, in _make_request
httplib_response = conn.getresponse()
File "http/client.py", line 1375, in getresponse
response.begin()
File "http/client.py", line 318, in begin
version, status, reason = self._read_status()
File "http/client.py", line 279, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "socket.py", line 705, in readinto
return self._sock.recv_into(b)
File "ssl.py", line 1274, in recv_into
return self.read(nbytes, buffer)
File "ssl.py", line 1130, in read
return self._sslobj.read(len, buffer)
ReadTimeoutError: HTTPSConnectionPool(host='graph.facebook.com', port=443): Read timed out. (read timeout=5)
File "requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "urllib3/connectionpool.py", line 756, in urlopen
retries = retries.increment(
File "urllib3/util/retry.py", line 532, in increment
raise six.reraise(type(error), error, _stacktrace)
File "six.py", line 719, in reraise
raise value
File "urllib3/connectionpool.py", line 700, in urlopen
httplib_response = self._make_request(
File "urllib3/connectionpool.py", line 448, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "urllib3/connectionpool.py", line 337, in _raise_timeout
raise ReadTimeoutError(
ReadTimeout: HTTPSConnectionPool(host='graph.facebook.com', port=443): Read timed out. (read timeout=5)
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 "addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._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 "addons/web/controllers/dataset.py", line 24, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 20, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 462, in call_kw
result = _call_kw_model(method, model, args, kwargs)
File "odoo/api.py", line 435, in _call_kw_model
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/17.0/social/models/social_account.py", line 143, in refresh_statistics
all_accounts._compute_statistics()
File "home/odoo/src/enterprise/17.0/social_twitter/models/social_account.py", line 26, in _compute_statistics
super(SocialAccountTwitter, (self - twitter_accounts))._compute_statistics()
File "home/odoo/src/enterprise/17.0/social_linkedin/models/social_account.py", line 41, in _compute_statistics
super(SocialAccountLinkedin, (self - linkedin_accounts))._compute_statistics()
File "home/odoo/src/enterprise/17.0/social_instagram/models/social_account.py", line 41, in _compute_statistics
super(SocialAccountInstagram, (self - instagram_accounts))._compute_statistics()
File "home/odoo/src/enterprise/17.0/social_facebook/models/social_account.py", line 48, in _compute_statistics
statistics_360d = account._compute_statistics_facebook_360d(insights_endpoint_url)
File "home/odoo/src/enterprise/17.0/social_facebook/models/social_account.py", line 75, in _compute_statistics_facebook_360d
statistics_90d = self._compute_statistics_facebook(
File "home/odoo/src/enterprise/17.0/social_facebook/models/social_account.py", line 118, in _compute_statistics_facebook
response = requests.get(endpoint_url, params=params, timeout=5)
File "requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "requests/sessions.py", line 544, in request
resp = self.send(prep, **send_kwargs)
File "requests/sessions.py", line 657, in send
r = adapter.send(request, **kwargs)
File "requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
```
This commit avoids showing an error to the end user; instead, it shows an error
in the log as a warning and ignore `Timeout and ConnectionError` globally,
which are generated from social media.
Apart from this, apply the same changes to the previously ignored ReadTimeout
error in socia with https://github.com/odoo/enterprise/pull/51359.
sentry-4649545565
Forward-Port-Of: odoo/enterprise#50994for the French P&L reports (both the basic 'Profit and Loss' and the variant 'Intermediate Management Balances'), the accounts 696 and 699 were located on the wrong lines or missing. This commit aims to harmonize both reports concerning these accounts. task-3626302 Forward-Port-Of: odoo/enterprise#52117
Original PR description
for the French P&L reports (both the basic 'Profit and Loss' and the variant 'Intermediate Management Balances'), the accounts 696 and 699 were located on the wrong lines or missing. This commit aims to harmonize both reports concerning these accounts. task-3626302 Forward-Port-Of: odoo/enterprise#52117