Rename javascript model `mail.popover_view` to `PopoverView` in order to
distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81407
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.model` to `Model` in order to distinguish
javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81390
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.messaging_notification_handler` to
`MessagingNotificationHandler` in order to distinguish javascript models
from python models.
Part of task-2701674.
* = im_livechat, website_livechat
closesodoo/odoo#81389
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.messaging_menu` to `MessagingMenu` in
order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81388
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.messaging_initializer` to
`MessagingInitializer` in order to distinguish javascript models from
python models.
Part of task-2701674.
* = crm_livechat, im_livechat, mail_bot
closesodoo/odoo#81387
Related: odoo/enterprise#22889
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.messaging` to `Messaging` in order to
distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81386
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.message_view` to `MessageView` in order to
distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81385
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.message_seen_indicator` to
`MessageSeenIndicator` in order to distinguish javascript models from
python models.
Part of task-2701674.
closesodoo/odoo#81384
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.device` to `Device` in order to
distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81332
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.chat_window` to `ChatWindow` in order to
distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81322
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model 'mail.activity_type' to 'ActivityType' in order
to distinguish javascript model from python model.
Part of task-2701674.
closesodoo/odoo#80600
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model 'mail.activity' to 'Activity' in order to
distinguish javascript model from python model.
Part of task-2701674.
closesodoo/odoo#80555
Related: odoo/enterprise#22593
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename javascript model `mail.channel_command` to `ChannelCommand` in
order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81320
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.attachment_viewer` to `AttachmentViewer`
in order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81317
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.attachment_image` to `AttachmentImage` in
order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81315
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.activity_box_view` to ActivityBoxView in
order to distinguish javascript model from python model.
Part of task-2701674.
closesodoo/odoo#80605
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Purpose
=======
In the chatter, when we reply to an email, the parent email is folded
behind a "read more" button. Add capital letters to this button to make
it more visible.
Task-2656302
closesodoo/odoo#80571
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Rename javascript model 'mail.guest' to 'Guest' in order to distinguish
javascript model from python model.
Part of task-2701674.
closesodoo/odoo#80547
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.composer_view` to `ComposerView` in order
to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81328
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.channel_invitation_form` to
`ChannelInvitationForm` in order to distinguish javascript models from
python models.
Part of task-2701674.
closesodoo/odoo#81321
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.attachment_card` to `AttachmentCard` in
order to distinguish javascript model from python model.
Part of task-2701674.
closesodoo/odoo#80604
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.media_preview` to `MediaPreview` in order
to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81373
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.discuss_public_view` to `DiscussPublicView` inorder to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81346
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.dialog_manager` to `DialogManager` in
order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81334
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Rename javascript model `mail.chat_window_manager` to `ChatWindowManager` in order to distinguish javascript models from python models.
Part of task-2701674.
closesodoo/odoo#81323
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
To simplify messaging components in the future, they all need to have a similar
shape. It is done for messaging menu and activity notice in this commit, which
requires to move the waiting on "messaging becoming created" to a parent
non-messaging component.
closesodoo/odoo#80482
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Before this commit, it would fetch all channels partners of all channels, even
for big channels and for members that were not useful to known anything about.
This commit reduces the number of fetched members to a more reasonable level,
and ensure the formatting of those members is done only once, instead of once
per channel.
Time goes from 90ms to 1ms for 1000s of members in 100s of channels.
Part of task-2702450
closesodoo/odoo#81262
X-original-commit: 89419b593ed163a8b174945e80f1c36c9cf78257
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
It turns out that the 'no_edit' attribute of the fields is deprecated
and doesn't do anything (there is no JavaScript or Python code using it).
We will hence remove that attribute from the views to clean them.
task-2686290
closesodoo/odoo#81210
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Avoid iterating over all channels every time a new channel is added.
Part of task-2702450
closesodoo/odoo#81264
X-original-commit: 7686be710ba919079f6ea97293ac99dde79f843b
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Avoid iterating over all channels every time a new channel is added.
Part of task-2702450
closesodoo/odoo#81235
X-original-commit: f5958f7ae15acff6a1ab6fc1bdf795b4c1f1e071
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Some decently costly operations (especially when repeated many times) where done
inside a loop for no reason.
task-2702450
closesodoo/odoo#81187
X-original-commit: c6e4ddf531d29ca1693cc6139b81cea3f5b78fdf
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Steps to follow
- Go to contacts
- Schedule an activity
- Click on edit next to the activity
- Click on the Mark as done button
-> The activity isn't refreshed
Cause of the issue
- The record is deleted when clicking on the mark as done button
- The fetchAndUpdate is called after the form is closed
- An exception is thrown
-> the method exists early
Solution
Handle odoo.exceptions.MissingError and delete the record client side
opw-2702492
closesodoo/odoo#81182
X-original-commit: c56ae82bffb933090a8df33bc38ab979d5318df7
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Forcing a fetch of all channel partners for all channels is not efficient
because there are too many of them.
Replace by a count done in SQL through `read_group`.
Time goes from 100ms to 3ms for 1000s of members in 100s of channels.
Part of task-2702450
closesodoo/odoo#81175
X-original-commit: 7c77775a84474ccdfe32bdd783291728fbfbdc42
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Avoid iterating over all channels every time a new channel is added.
Part of task-2702450
closesodoo/odoo#81157
X-original-commit: 6c64781f60599571ef92b011eca7d299e76bf5eb
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
These errors should not happen in production, it is only helpful for debugging.
The opportunity is taken to limit our debug code to a messaging specific debug,
as debug '1' is used in production to see extra features, and debug 'assets' is
necessary to get decent stack trace.
The easiest way to enable this debug mode at the time of this commit is to
either manually set the value to true in the code, or to type the following line
in the browser console if editing the code is not an option:
`odoo.__DEBUG__.messaging.modelManager.isDebug = true;`
Part of task-2702450
closesodoo/odoo#81075
X-original-commit: f9ae7510c8adaa83379b90f798ee535ede99be25
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Avoid iterating over all channels every time a new channel is added.
Part of task-2702450
closesodoo/odoo#81051
X-original-commit: 5359a8c354b0a6106d462fe8f047de946614b7b1
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
To ease debugging in general, avoid having multiple methods with the same name,
especially in the same file.
This is especially useful when the method name appears in a stack trace, for
example in the performance tool.
Part of task-2702450
closesodoo/odoo#81020
X-original-commit: c3673e63064c7f331754ef0e9d02cbbe7b1927f4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Avoid iterating over all listeners that are observing a field, instead store
the fields observed by a listener and access it immediately.
Part of task-2702450
closesodoo/odoo#81019
X-original-commit: bf69834b933c54598bbd82d8fbfcac4a0393c067
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
For email design in the context of Microsoft Outlook, we want to keep
some magic Microsoft comments (Outlook conditional comment), which -
until this commit - were skipped by QWeb. These allow us to change the
rendering exclusively for Outlook so as to overcome some of its
limitations. This commit introduces a qweb rendering option
(`preserve_comments`) for when - like in mass mailing and digest - we
want to keep comments.
Part-of: odoo/odoo#80621
This adds a test sending a mail with comments (MSO conditionals) in
mass_mail mode.
X-original-commit: 8778c10bc1856e57216785a8332b90878ff1b5ef
Part-of: odoo/odoo#80621
`_replace_local_links` ensures urls are given as absolute rather
relative paths, for link `href`, img `src` and within styles. This
failed when the style contained escaped single quotes (eg:
`background-image: url("/my_url/path");`). This commit adapts the
failing regex appropriately.
X-original-commit: 2af980e8cdc72d35729ef2fbaf5067fe7e72bbb8
Part-of: odoo/odoo#80621
This adds a test for the _replace_local_links function of mail render
mixin, in the case of urls in style attributes.
X-original-commit: 199b45c7f6b0155d3828487b2f7771e1500820b1
Part-of: odoo/odoo#80621
Before this PR, the delete button was completely invisible on image with white
background.
task-2709788
closesodoo/odoo#81000
X-original-commit: fd1e05cd131273504e7e6cd4f64f6ea63514b6b7
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, unlink-all would sometimes fail to unlink more than one
record.
This seems to be the case in particular for x2many relations with isCausal true.
Indeed, the delete from isCausal is itself calling unlink-all on the inverse
relation (the same record that was being unlinked-all in the first place) which
would pre-emptively remove it from the same Set that was used during the initial
iteration.
The solution is to make a copy of the Set before iterating it to ensure all
records that were planned to be removed are actually removed.
Candidate fix for task-2410314 and definitely necessary for data integrity in
general.
closesodoo/odoo#80913
X-original-commit: 0077b93fea6f8c39ee535f19426c3f95a0e97e9f
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
In preparation for using OWL v2 in discuss code.
(`shouldUpdateBasedOnProps` will be removed)
Task-2695743
closesodoo/odoo#80615
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Using <a> with 'download' attribute to download the attachment.
Prevent calling .navigate() interrupting the current call.
task-2692597
closesodoo/odoo#80903
X-original-commit: 97fa88c2e8407972c83c93d4d2198633a5560ecc
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
In preparation for using OWL v2 in discuss code.
(shouldUpdateBasedOnProps will be removed)
Task-2695743
closesodoo/odoo#80616
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, sometimes component do not properly
render changes in the models. Although the modeling is correct,
there is a problem in the component not re-rendering itself.
The shouldUpdateBasedOnProps component hook did not consider
update attempts that could be canceled. This commit adds this
consideration, so that it ensures component is eventually
rendered correctly
Task-2410314
Task-2705078
closesodoo/odoo#80877
X-original-commit: 12c77f52c5a16c95e57de31587d67eda4d582bde
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>