Sunday, February 4, 2024
3 changes · 17.0
Resolved issues and error corrections
This fix corrects an issue where appraisal request emails were displaying broken links to employees. The problem occurred because the email template was being processed twice by the system, but the link wasn't being properly updated on the second pass. The fix ensures the link is correctly generated and functional when employees receive appraisal requests via email.
Original PR description
To reproduce
============
- Go to Appraisal select an employee and send by email
- the url in the email is wrong
Problem
=======
- the body of the request is rendered twice with qweb, but the template wasn't designed for that, as we have `t-att-href="ctx.get('url')"` that will be `href="ctx['url']"` after first render and expecting to be rendered again and replace `ctx['url']` with the real url but qweb has no way to know that without a `t-att-` prefix.
Solution
========
- before second render, add `t-att-` prefix to `href` so qweb will know that it should be rendered again and replace `ctx['url']` with the real url.
opw-3687928
Forward-Port-Of: odoo/enterprise#55780
Forward-Port-Of: odoo/enterprise#55464This fix prevents unintended scheduled jobs (crons) from being activated during system neutralization due to naming conflicts in external identifiers. Previously, if a custom external identifier happened to match the naming pattern of the autovacuum job, it could cause unwanted system tasks to run. Now only the essential autovacuum job remains active while all other crons are properly deactivated.
Original PR description
### The root of the issue: The external identifiers are not guaranteed to be unique on their `name` alone, the unique constraint is on the `name` and on the `module` fields. ### Before this commit: If a user or third party app were for example to create an external identifier "project.autovacuum_job" and point it to an `ir.cron` record, then that `ir.cron` would also be kept activated, which could cause major issue if it makes calls to external systems, sends mail, etc... ### After this commit: All the crons are deactivated by the neutralisation, except for the autovacuum Forward-Port-Of: odoo/odoo#152145 Forward-Port-Of: odoo/odoo#150212
This fix resolves an issue where helpful tooltip information (like question mark icons) would not display when hovering with a mouse on devices that support touch input. The tooltip service was incorrectly clearing tooltips when the mouse was still over them on touch-capable devices. This ensures users can see helpful field information consistently across all device types.
Original PR description
Steps to reproduce
==================
- Use a laptop with touch or apply the following patch
```diff
diff --git a/addons/web/static/src/core/browser/feature_detection.js b/addons/web/static/src/core/browser/feature_detection.js
index 21c6294b1b0e..64c4bc9b899c 100644
--- a/addons/web/static/src/core/browser/feature_detection.js
+++ b/addons/web/static/src/core/browser/feature_detection.js
@@ -62,6 +62,7 @@ export function isDisplayStandalone() {
}
export function hasTouch() {
+ return true;
return browser.ontouchstart !== undefined || browser.matchMedia("(pointer:coarse)").matches;
}
```
- Enable debug mode
- Go to contacts
- Hover the mouse over a question mark next to a field
=> Nothing happens
Cause of the issue
==================
The function `shouldCleanup` returns true when the device has touch and the popover has been triggerd with the mouse
opw-3694156
Forward-Port-Of: odoo/odoo#151156