Fix spelling mistake in unsubscribe actions now that unsubscribe with token
has been merged with odoo/odoo@0ac3de1 .
Task-2582128
Part-of: odoo/odoo#77507
Provide fixes related to digest and mass mailing statistics email after some
testing.
Fixes notably
* use queue to send emails;
* ease unsubscribe for non admin people using a route and a token to allow
unsubscribe when being not logged;
* improve tone down of digests when users have no activity, gradually going
to quarterly digests instead of sticking on weekly;
* fix statistics emails being broken due to some change in digest layout;
* fix statistics emails author / from / to computation;
* fix unsubscribe display and usage;
* fix 'body' part of digest location;
Tests are added in digest and mass mailing to test a bit more in-depth those
features.
See sub commits for more details.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onbarding and usage improvement)
Task-2686586 (Repair mailing statistics email)
Task-2688856 (Digest tone down improvement)
Task-2692316 (Mailing trace status overrides)
closesodoo/odoo#79877
Forward-port-of: odoo/odoo#77609
Forward-port-of: odoo/odoo#76591
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Currently digest sending is toned down when being sent if subscribed users
did not connect since more than 3 days. It allows to avoid spamming people
not being active or present anymore.
This is currently limited to daily digests that are set to weekly. However
it may continues to send digests each week until the digest is de-activated.
In this commit we tone down the digest from daily to quarterly depending
on users activity. It is still based on overall activity and not individual
users to avoid complex computation on heavy digests. This will be done in
further cleaning of digests.
Task-2688856 (Digest tone down improvement)
X-original-commit: f916354baec5bb69511069a829ab1648a5ebaccd
Part-of: odoo/odoo#79877
Purpose of this commit is to ease usage of unsubscribe button for periodic
digests for non-admins. Users land on page that says "You have unsubscribed
from ..." and not on digest form view anymore.
It is done using a public route with a token, allowing to unsubscribe even
when being not logged, for example when receiving digest emails that are
unwanted.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onboarding and usage improvement)
X-original-commit: a4b98a82d04b398406958d82f466c09f6021a989
Part-of: odoo/odoo#79877
Co-authored-by: Thibault Delavallée <tde@odoo.com>
Body is used in statistics as an additional content to digest layout. However
it is strangely located after Odoo mentions (Send by, ...). Currently link
trackers statistics are therefore at the end of the email. They belong to
the "core" section of the emails.
Task-2686586 (Repair mailing statistics email)
X-original-commit: c9a503eec9a40809b6a88d56f84c06a66ad6dbeb
Part-of: odoo/odoo#79877
Mailing statistics emails are build on digest layout. This layout contains a
reference to the digest unsubscribe mechanism, which obviously does not work
with mailing statistics emails as they currently have no opt-out mechanism.
This commit fixes that part of the template so that unsubscribe is displayed
only with digests.
Task-2582128 (Digest onboarding and usage improvement)
Task-2686586 (Repair mailing statistics email)
X-original-commit: febe4506cf14ba9308d85538515eb61c4638b18d
Part-of: odoo/odoo#79877
A wrongly-placed t-if prevented from displaying unsubscribe link (and the
"Sent by Odoo" sentence by the way, even if less annoying).
Task-2582128 (Digest onboarding and usage improvement)
X-original-commit: 669209b473d1e9581518033b74064fff7f677393
Part-of: odoo/odoo#79877
Purpose is to ensure behavior of digests and prepare future fixes and
improvements. Tone down and unsubscribe links are currently not tested.
This commit fixes that by adding relevant tests.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onbarding and usage improvement)
X-original-commit: f340859a3508ebb369b7116f64c81d8f03774e61
Part-of: odoo/odoo#79877
When there is an issue updating digest state (concurrent access, or some other
error that may happen), digest emails may be sent in loop. Indeed they are
currently sent in the same transaction that the one that updates digest state.
This means that emails may be sent even if digest update fails.
As we do not think timing is so important, we now use the email queue to send
digest emails. That way email creation is rollbacked and they are not sent
if digest update fails for some reason.
Tests are updated to take into account we now create outgoing mail.mail. Some
tests are also added about mail values and subscription, and cleaned in a more
general way.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onbarding and usage improvement)
X-original-commit: 96a14816cb48d9324482eec3de0ed3fccc0d7ecf
Part-of: odoo/odoo#79877
Currently subscribed field is not computed again if user_ids field value
changes on a digest. This has probably few consequences in current code
but better be sure this field is correctly updated in a given transaction.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onboarding and usage improvement)
X-original-commit: 3a7c1348750d0977a663e50be05bad9f2679f8ff
Part-of: odoo/odoo#79877
When mailings have no responsible, KPIs emails are broken as there is no
from and to on the mail. This leads to mails being invalid and set in
exception.
Moreover currently author and from / to of those D+1 emails are not coherent
as author is current user (generally odoobot as this is generated through
a cron) while from and to are based on mailing responsible.
In this commit we make statistics emails more coherent
* when a responsible is set on the mailing: author, from and to are linked
to the responsible;
* when there is no responsible, current user is set as it may be sent by
regular people;
* reply-to is set to company email as it is often the case with 'marketing'
emails;
Task-2686586 (Repair mailing statistics email)
X-original-commit: 95a21ca16f560cf4341c547f6bc909d3261acd1b
Part-of: odoo/odoo#79877
When there is an issue updating mailing state (concurrent access, or some other
error that may happen), mailing statistics emails may be sent in loop. As we
do not think timing is so important, we now use the email queue to send
statistics emails.
Task-2686586 (Repair mailing statistics)
X-original-commit: f78ac45c2eafc3cf6b213e1f1608e76e243bd8d2
Part-of: odoo/odoo#79877
Currently if someone replies to a mass mailing email, then performs a click on
tracked links, final trace status is set to opened. Indeed both reply and
click set the trace as opened, as replying or clicking imply opening the
mail.
Update is the following
* user replies -> set status to open, then set status to reply, and update
open_datetime and reply_datetime;
* user clicks -> set status to open, then update click_datetime;
In the end the trace is left as opened while it is replied, with a click
datetime attached to the trace. To avoid unnecessary status update, a trace
is set to opened only if it is not already opened or replied. Other statuses
should not override themselves.
Task-2692316
X-original-commit: ce88d364369c8b58256e8d93b7cb506a2c262a34
Part-of: odoo/odoo#79877
Recently some "de-t-rawify" [1] was done through Odoo. A change in digest
layout broke mailing statistics. Indeed mailing statistics are build on digest
main layout to re-use it. In mailing case a ``kpi_name`` value was missing when
rendering statistics columns, leading to a crash. This is now fixed in both
mailing and sms marketing.
In this commit we also add tests for statistics emails (D+1 KPIs) rendering
for both mail and SMS marketing mailings. Email details are also tested
in order to better highlight future changes and tweaks in email sending
linked to D+1 KPIs emails.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onboarding and usage improvement)
Task-2686586 (Repair mailing statistics email)
[1] odoo/odoo@c56e8c9f5a
X-original-commit: c9905ceb3172d8e80e3aff4ae9bc925dcb6b6519
Part-of: odoo/odoo#79877
Purpose of this commit is to have as less custom test data as possible. In
some sms tests we can re-use existing mailing, leading to more standard
tests and expected results.
We also improve ``gateway_sms_sent_click`` tool that now creates random IP
addresses allowing to have various clicks on a given tracker. Indeed as IP
is unique several clicks are currently set into the same click record, which
will now not be the case anymore.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onbarding and usage improvement)
Task-2686586 (Repair mailing statistics email)
X-original-commit: f76b154412a111067203979075fa65f198cc39f4
Part-of: odoo/odoo#79877
Purpose is to ease digest management and testing. Public methods still work
as before this commit, simply calling the private implementation. New private
methods allows to better manipulate subscribed users. Those will be used
notably as shortcuts in tests.
Task-2641394 (Digest emails sending improvement)
Task-2582128 (Digest onbarding and usage improvement)
X-original-commit: 3045c49f0e10bd50757fcbaa75f9aaad49a966ce
Part-of: odoo/odoo#79877
Old behavior: whenever an order had at least one product not loaded in the PoS, the orders could not be initialized in the Ticket Screen.
Current behavior: the Ticket Screen will load all missing products from the fetched orders.
closesodoo/odoo#79870
X-original-commit: 1e2d20a30e6381f10713cb11cec70c6374044532
Signed-off-by: Masereel Pierre <pim@odoo.com>
Before this commit, the server was returning the wrong format
for the partner data.
This commit fixes this issue.
closesodoo/odoo#79871
X-original-commit: bf2db96093e955eebb23777c153c6583352cc0e9
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, in the rtc call viewer, it was only possible to
focus videos, this commit changes that by allowing to focus any rtc
session.
This is a first step in improving the focusing and layout system.
This commit also changes the call viewer and call participant card
templates to ensure that they remain consistent when focusing non-video
sessions, which also fixes a bug which caused avatars to not be round
when the displayed image had an aspect ratio other than 1.
closesodoo/odoo#79862
X-original-commit: d49407423164c44e86558cd2fc4f6c3ae47aed25
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
When an user clicks on the Meeting tab to open the calendar,
it should onyl display the events linked to the opportunity.
task-2665863
closesodoo/odoo#79860
X-original-commit: 5a6e6e9fdd5bc85e8c79c09ef17b63bf4b95dd39
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The documentation link for the product_images module was already
hard-coded in the settings view but has changed since then.
closesodoo/odoo#79796
X-original-commit: 92a35d5a7c4683525fcafc5c0cb1391da33347fb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The list view on the ordering page was no longer working since #73475.
closesodoo/odoo#79852
Taskid: 2688284
X-original-commit: dcecd627fd0ab4b52ce399897a881838416d9702
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Steps to reproduce the bug:
- Create a PO
- Remove the Purchase representative
- Send a reminder to confirm the order date
- Open the reminder email and click on No, Upate date
- Choose a date
Bug:
An access error was raised because a user_id is required to create a mail.activity
PS: When passing user_id=False to function activity_schedule, user_id=False was kept when
creating the mail.activity
opw:2638140
closesodoo/odoo#79841
X-original-commit: 14ed4b66c7eafeb7a883484d42437b450801fbb1
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
On Fifo costing method, the 'value' field of a stock quant was computed using quantity_svl and value_svl of the product_id.
However the method 'with_company()' wasn't used for quantity_svl, resulting in an incorrect 'value' field of stock.quant
This commit add the use of 'with_company()' method to get quantity_svl.
OPW-2652211
closesodoo/odoo#79844
X-original-commit: 0a7709611fbbc983fc5db5dd36ab7716e543bc0f
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
When changing any option in Settings, the option "Show Detailed
Operations" of almost all operations types will be enabled
To reproduce the issue:
(Use demo data)
1. Open the Operation Type "YourCompany: Delivery Orders" and ensure
"Show Detailed Operations" is unchecked
2. In Settings, enable an option (e.g., "Default Access Rights")
3. Go back to the form of "YourCompany: Delivery Orders"
Error: "Show Detailed Operations" is checked for no reason
With this commit, "Show Detailed Operations" of almost all operations
types will be directly enabled only if one of the three options (Lots &
Serial Numbers, Storage Locations or Packages) is enabled and none of
these options was enabled before.
OPW-2514993
closesodoo/odoo#79843
X-original-commit: 5b165dee6dd61b9d681b0e7ba2bc339edb30c83b
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
This commit makes use of CSS variables to define new design and options
for the /shop page.
In detail, options now toggle classes that contains CSS variables
definition. These variable are used to style the "default template" that
is designed in SCSS only once.
This approach allow us to add more designs without increase the SCSS
(actually reducing it) and without creating complex xpath difficult
to customize.
task#2667024
Part-of: odoo/odoo#79651
Prior to to commit the comparison-box's opacity was set to 0.95 in the
attempt to show underneath content while keeping the box visible (and
readable).
Unfortunately this value was no transparent enough to read underneath
content but was just causing text to appear "blurred".
task#2667024
Part-of: odoo/odoo#79651
Show the "compare" button if attributes&variants exist only. In the
product's page render the button in the "Specifications" section only.
task#2667024
Part-of: odoo/odoo#79651
Properly align categories' entries + use <h6> tags rather than forcing
uppercase text (not editable by the user).
task#2667024
Part-of: odoo/odoo#79651
- Get a database with millions of files in the checklist (do not ask how
this happened)
- Set a cron timeout low enough so that `autovacuum_job` times out
The file GC will endlessly timeout without being able to delete any
file.
This is due to how the `_file_gc` method is built: we first build the
whole whitelist, then we perform the deletion. With millions of
checklist files, the loop which builds the `whitelist` takes ages. It
ultimately leads to a timeout of the scheduled action, and therefore no
file is deleted.
To avoid this, we delete the files progressively. The checklist is split
in chunks, and we check which files must be GC'd in a given checklist
chunk. This way the files are removed even in case of timeout, meaning
that there will be less files to check during the next run. Eventually
the GC won't timeout anymore.
closesodoo/odoo#79834
X-original-commit: dbae52479062ace9e2b2d376ec2d601d86482f86
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit fixes an issue since user_id was changed to user_ids.
The default behaviour of `_message_auto_subscribe_followers` could not
work with the user_ids field as it is only meant to work with user_id.
This also fixes a related issue due to the same problem where the
assignation emails were not sent.
TaskId-2691486
closesodoo/odoo#79831
X-original-commit: 3510251ad19d4394f4613924aa2af20abb7c35d9
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Since #77735 the chrome runner uses a receiver thread to better handle the
full-duplex nature of Chrome's websocket communication.
However that thread was missing the `dbname` threadlocal, leading to some of
the logging and reporting to be mis-configured, and thus the filtering on CI
(runbot) to exlude any logging message emitted from the receiver thread, such
as the screenshot notifications.
Fix by passing the current `dbname` to the receiver thread when spawning it,
and having said receiver start by setting up the threadlocal.
closesodoo/odoo#79808
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Before this commit, the linktool was re-rendered clicking on
same link twice.
If between click, the some property of the link changed, they
were lost after the linktool being needlessly re-rendered.
Task-2691483
closesodoo/odoo#79820
X-original-commit: 110790cb2482367867dbc0bdaa97ad0e224a3d1e
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
In the template 'Applicant: Interest', there was a typo related to a field variable
raising an error. This commit fixes the typo
closesodoo/odoo#79819
X-original-commit: 58abdaced8894df04c4e5ed5a00143d1686d877d
Signed-off-by: Adrien Minet <admi@odoo.com>
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
In the product page, when the categories are activated
(through the customize menu item) and the page is in edit mode and when
the user click on one of the categories, the page was relocated.
We do not want that behavior in edit mode.
task-2666167
closesodoo/odoo#79818
X-original-commit: b929a6388035c3f5c69aab6c4889e326eac53fd9
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Most GCC countries are required by law to have invoice reports in both arabic in english
X-original-commit: 0baca0420b472bdfdd95c108c945f5990e0b34da
Part-of: odoo/odoo#79817