Daily updates from Odoo
Tuesday, December 12, 2023
12 changes · 17.0
Enhancements to existing features
When timesheets are disabled in a project, users now see a friendly notification message instead of a technical error. This makes it clearer what went wrong and provides a better user experience when attempting to update timesheet entries.
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
This improvement expands the connection testing feature for Argentine tax authority (AFIP) web services to check all available services, not just the four previously tested. Users in Argentina can now verify the status of their complete AFIP integration from the Accounting settings, ensuring all required connections are working properly.
Original PR description
Task Adhoc: 31784 Description of the issue/feature this PR addresses: It is necessary to make the connection test of all the webservices available in AFIP. In runbot Odoo 17.0 with module l10n_ar_edi installed and taking position in company "(AR) Responsable Inscripto" go to "Accounting / Configuration / Settings" and in section "Argentinean Localization" click on "Test Connections" (in "AFIP Web Services"). Then a pop up will show the status of the connection of the webservices wsfe, wsfex, wsbfe, wscdc but is needed to show the status of the connection of all webservices available. Current behavior before PR: It is shown the status of the connection of the webservices wsfe, wsfex, wsbfe, wscdc. Desired behavior after PR is merged: Show the status of the connection of all webservices available.
Resolved issues and error corrections
This update corrects the button display in the consolidation grid view when editing consolidations. The 'Add a column' button now appears when needed, and the 'Consolidation balance' button has been removed from the editing interface where it was not required. These changes improve the user experience by ensuring only relevant actions are available during consolidation editing.
Original PR description
The 'Add a column' button was missing when editing a consolidation. The 'Consolidation balance' button was not needed when editing a consolidation. opw-3587724 Forward-Port-Of: odoo/enterprise#51398
This update fixes a display issue in the Employee module where text in the planning statistics button was being cut off at the bottom. The fix applies styling adjustments to ensure all text displays properly without clipping, improving the user experience when viewing employee planning information.
Original PR description
Description of the issue/feature this PR addresses: In the Employee module's view, the text in the planning stat button is being clipped from the bottom. Fix: This PR introduces styling adjustments to prevent the text from being clipped. task:3468392 Forward-Port-Of: odoo/enterprise#46767
This update corrects the display order of fields in the project task list view. Previously, the start date was appearing before the task name due to a duplicate field reference in the view configuration. The fix removes the duplication and ensures fields display in the correct sequence, improving the user experience when viewing project tasks.
Original PR description
The issue of the start date appearing before the task name in the project task list view is caused by a duplication of the company_id in the list view definition so changed the xpath reference to company_id to user_ids task-3468392 Forward-Port-Of: odoo/enterprise#47401
This update fixes an issue in the Kanban view editor where the 'Quick Create' setting was not displaying the correct value in the interface. Users can now see and properly edit the Quick Create option when configuring Kanban views in Studio, with improved accuracy in how the setting is read and displayed.
Original PR description
This commit fixes the behavior of the 'Quick Create' attribute edition from the view editor in Studio. Before this commit, the value was not being read properly, and didn't showed the correct value in the UI. A test has been added, asserting the update of the checkbox value in the sidebar. opw-3614654 Forward-Port-Of: odoo/enterprise#52341
This fix resolves an issue where users couldn't create worksheet templates when setting up Field Service products. The system was incorrectly validating the worksheet template configuration, preventing users from completing the product setup process. The fix ensures the proper model reference is used so worksheet templates can be created successfully.
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#52353 Forward-Port-Of: odoo/enterprise#47892
This update fixes an issue with the Easypost delivery integration where the carrier type selection wasn't working properly. The technical team resolved this by adjusting how the carrier type field is configured and handled, ensuring the integration functions correctly for all users.
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.
This fix prevents the Social Marketing module from crashing when network connectivity issues occur while updating statistics from social media platforms. Instead of showing an error to users, the system now logs the issue quietly in the background, allowing the page to load normally even when social media connections are slow or unavailable.
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#50994The "Scan your badge" login feature for the Point of Sale system was not functioning due to missing styling for the barcode scanner. This fix restores the proper display and functionality of the badge scanning option, allowing employees to log in to the POS shop using their badges as intended.
Original PR description
The "Scan your badge" login option was not working properly when trying to log in to the POS shop. The barcode scanner styles were missing which caused the issue. community PR: https://github.com/odoo/odoo/pull/143955 opw-3608077 Forward-Port-Of: odoo/enterprise#51651
This update corrects the placement of accounts 696 and 699 in French Profit & Loss financial reports. These accounts were either positioned incorrectly or missing from the reports, and this fix ensures they appear in the right locations across both the standard P&L report and the Intermediate Management Balances variant, improving the accuracy of financial reporting for French businesses.
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
Code cleanup and technical improvements
This update replaces the legacy file generation error component with a new ActionableErrors widget to provide better error handling and user feedback. The change simplifies error management across accounting and reporting modules by removing unnecessary actions and standardizing how errors are displayed and handled.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/142596 removed file_generation_error removed all the unnecessary actions added 'model' to the actions (verify) TODO: change errors from array to dictionary TODO: verify action names TODO: verify action parameters TODO: test each case TODO: create one commit for each module TODO: build tests