Commit Graph
8835 Commits
Author SHA1 Message Date
Sébastien Theys bdbcf51bf4 [IMP] mail: add ping for active RTC session and clean obsolete
closes odoo/odoo#77382

X-original-commit: 263e77e5d252b61e1dd838c7559e957a20fa2b18
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-29 01:10:51 +00:00
Nicolas Bayet 4813f42997 [IMP] mail,*: replace jinja with qweb
Jinja as a templating engine was problematic in differents respect:
- introduce external dependency to Odoo (less controll)
- add another templating mechanism in the stack
- specific feature in qweb cannot be reused
- difficulty in rendering easily editable templates
- more knowledge required with no betterment

By replacing jinja with qweb we can now build tools to edit a qweb
that will work with the previously jinja encoded document
(essentially `mail.template` records).

There is a catch however. Some email fields (eg. email_to) used jinja
syntax for rendering dynamic variables (ie. ${object.something} and
${object.something_that_should_not_be_escaped | safe}).

We still want user to use dynamic variables for some char fields (eg.
subject, from, to, ...). We made a new rendering engine called
"inline_template" that will render an expression enclosed by `{{` and
`}}`.

To be able to edit the templates from the backend interface, a
plugin to the Odoo editor has been made for seamlessly edit the
document.

This qweb plugin includes:
- make dynamic variables (eg. `<t t-out="variable"/>`) not editable
  (for preventing the user to shoot himself in the foot)
- group and hide related logical branching (ie. t-if, t-elif, and t-else)
  in order to see only one at once
- a floating select input to switch visibility of a particular logical
  branching

Task-27033

X-original-commit: odoo/odoo@68182baff4
Part-of: odoo/odoo#77377
2021-09-28 23:42:54 +00:00
Samuel Degueldre ecf5fbb4a8 [FIX] mail: fix "cannot read 'id' of undefined" in RTC calls
closes odoo/odoo#77371

X-original-commit: e2a2d9f17d7bf3b48ca45c5000547bb82dde3225
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 21:02:36 +00:00
Samuel Degueldre 567a09f58a [FIX] mail: fix crashes in methods on PeerConnection in invalid state
closes odoo/odoo#77370

X-original-commit: 5caa7f1aa094813c9f450ad839f1511045e33cca
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 21:02:32 +00:00
Thibault Francois 7b1eb7a1c6 [FIX] mail: make possible to search on channel_partner_id
Issue
-----
Adding ('channel_partner_id', 'ilike', name) when searching for
mail.channel.rtc.session does not filter out any record

because the model mail.channel.partner does not define any _rec_name
only the name_get

Solution
-------
Implement a _name_search method consistent with the name_get

closes odoo/odoo#77369

X-original-commit: 6c731a75295bbc8107d08ac3ed5c3d01245c782d
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 21:02:27 +00:00
Samuel Degueldre 347756909a [FIX] mail: fix crash when trying to catch result of play()
Some browsers don't return a promise from mediaElement.play(), we wrap
it in promise.resolve to solve the issue.

closes odoo/odoo#77368

X-original-commit: 50898870067d05fb01722487dc2d63a1a5155c7d
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 21:02:23 +00:00
Samuel Degueldre 5ae5c81a23 [FIX] mail: fix settings crashes
In odoo/odoo#76941 some getters were removed but the code using those
getters was not entirely adapted, causing crashes.

This commit also fixes an unrelated crash, where we were attempting to
save the push-to-talk settings for guests, which cannot work as they do
not have a correspoding user.

closes odoo/odoo#77343

X-original-commit: 99a5a59c610ee4d421f5671aa6680377df08168a
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 17:45:17 +00:00
Samuel Degueldre e648513376 [FIX] mail: stop showing "Add a description" to guests
closes odoo/odoo#77341

X-original-commit: 38b5e110469b6a3a49e39df3ac0c7b73795aae1f
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-28 17:45:13 +00:00
Samuel Degueldre 3d3f6e6b15 [FIX] mail: fix guest getting session expired warning on mention
When attempting to mention a user or a channel, an RPC is performed.
This uses a method on a model, which guests cannot perform as they don't
have a valid session cookie. This commit deactivates the mention
functionality for guests.

X-original-commit: fe6f2b660a84cfdb74834d52d6ff7860776a2e70
Part-of: odoo/odoo#77341
2021-09-28 17:45:13 +00:00
Nikunj Ladava 025c022c03 [FIX] mail: support html message notification
Notification service is supporting html message in it, but in simple
notification it is not triggering the html notifications. So here we add
html message support in simple notification to show the html content in it
when requested.

Before this commit: it was showinng simple text of html

After this commit: it will show the html content in notification

Task-2269743

Part-of: odoo/odoo#60605
2021-09-28 16:27:16 +00:00
Lucas Perais (lpe) 56a35fc294 [FIX] mail: hooks: correctly remove handler
Element.removeEventListener takes the same instance of the handler function
added with addEventListener. Giving it another function (either via a bind or an arrow)
wouldn't have any effect, leaving the handler actually in place.

This commit corrects some code in that direction.

X-original-commit: 82d710ee24ee01dad8fcf6a460fc064a498b5b02
Part-of: odoo/odoo#77285
2021-09-28 06:48:40 +00:00
Alexandre Kühn 017f738c5d [FIX] mail: Cannot read property "rtc" of undefined
Also resulted in crash `Cannot read property 'sel' of undefined`.

This commit adds some guards in some component templates
that access model records and their fields, to avoid crashes.

These guards are necessary due to the asynchronous rendering of OWL,
which makes it vulnerable to risky changes in models such as
record deletion or any modifcation in any relational fields.

Introduced with https://github.com/odoo/odoo/commit/9bf4b6c29207b97368f27098df3cfbe79e2b5f0f

closes odoo/odoo#77258

X-original-commit: 1dbf02ea72aa0599991f05ff2d9d4f4517055eca
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2021-09-27 16:57:14 +00:00
Didier (did) 7ebde25cf7 [FIX] mail: avoid exception when creating channel
When a user without an email partner try to create a channel, an exception is
raised because he has no email.
This exception should not happen when creating a new channel.

task-2641660

closes odoo/odoo#77147

X-original-commit: 0970d8767ac27f9542bb3ad40a6f213f80f408d8
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-24 14:00:30 +00:00
Louis Wicket (wil) d72b8f2a17 [FIX] mail: correct inaccurate doc comment
This commit will correct an inaccurate comment introduced with
odoo/odoo#76951. The comment states that the 'joinButton' shall be
disabled when the current user is NOT a guest, which is not true:
'joinButton' can only be disabled if the current user is a guest.

closes odoo/odoo#77149

X-original-commit: 93a78e437e9c7775f4b174f660e22368bdd4a3aa
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-24 12:35:24 +00:00
Alexandre Kühn cb69d7a93e [FIX] mail: enforce boolean value on computed fields of webRTC
closes odoo/odoo#77107

X-original-commit: ad9d6fd0f14a4d954940cf4cd5f4a2bcf91b81b5
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2021-09-23 20:18:43 +00:00
Alexandre Kühn 57bf42603c [FIX] mail: no crash on save volume settings by guests
X-original-commit: a91322154b607e40b4a007e743e9d9975aa1f256
Part-of: odoo/odoo#77107
2021-09-23 20:18:42 +00:00
Alexandre Kühn 527c4202d6 [FIX] mail: make keyframes naming more appropriately specific
X-original-commit: 07ec5766dd33fae2a128fa62e3ac5e6aec8ea4bc
Part-of: odoo/odoo#77107
2021-09-23 20:18:42 +00:00
Alexandre Kühn b6d9bea33a [FIX] mail: fix typos (likely to fix webRTC recovery every 30sec in case of failure)
X-original-commit: 60eccab558d7a40cb4a27c7042f62f547e581ee6
Part-of: odoo/odoo#77107
2021-09-23 20:18:42 +00:00
Alexandre Kühn 07053cbfaa [IMP] mail: rename "mailRtc" fields to "rtc"
X-original-commit: 8db877c99f3b3c405e7a51920a574edfeb7a18d5
Part-of: odoo/odoo#77107
2021-09-23 20:18:42 +00:00
Alexandre Kühn d5d93bdf05 [FIX] mail: remove webRTC component excessive getters
X-original-commit: 9bf4b6c29207b97368f27098df3cfbe79e2b5f0f
Part-of: odoo/odoo#77107
2021-09-23 20:18:41 +00:00
Alexandre Kühn 099bde0b75 [FIX] mail: make webRTC component classname follow BEM convention
X-original-commit: c8296c4ed6c3f0c95852bc5b3466f6fea34368a3
Part-of: odoo/odoo#77107
2021-09-23 20:18:41 +00:00
David Tran f167d47b48 [FIX] mail: remove emojis 3:
There was 3 keys for the same icon 😠 while one of them is usually used
in normal text. For example:

- Item 1:
- Item 2:
- Item 3:

The last one would convert to `- Item 😠`

This PR removes one of the above to keep the other two

closes odoo/odoo#77075

X-original-commit: 45e9636c2e0457d3bc4ea1d346ff71ed6824bbe1
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-23 17:27:53 +00:00
Louis Wicket (wil) 4e45ce9d06 [IMP] mail: automatically ask for media access when relevant
Ask for camera/microphone access when landing on the WelcomeView of a
channel created via the "Start a meeting" feature.

Part of task 2651831.

closes odoo/odoo#77011

X-original-commit: ef92577ae2ef602c279b47c5c0b1235334d5984c
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-23 10:00:16 +00:00
Samuel Degueldre 9efd9463eb [IMP] mail: allow creating channels on first visit from token
This commit allows anyone to create a new mail.channel by visiting the
URL /chat/<token>[/<channel_name>], providing that the
mail.chat_from_token system parameter is set. This is useful in some
situations where new channels need to be created quickly as needed by
anyone without special permissions (eg, during the Odoo experience)

task-2648580

closes odoo/odoo#77010

X-original-commit: 56ddc073213a148579dd72f4a9336bc4d6a11f22
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Samuel Degueldre <sdegueldre@users.noreply.github.com>
2021-09-23 10:00:11 +00:00
Didier (did) 2750c09548 [FIX] mail: show group chat in messaging menu
part of task-2634175

closes odoo/odoo#77014

X-original-commit: f37de5ce6fb0e9e7adf50b409c7a5416467396fd
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Phenix <phenix-factory@users.noreply.github.com>
2021-09-23 07:17:56 +00:00
Habib (ayh) 45ee18ce5b [IMP] mail: enable inheritance in the next activity values computation
values for next activities are currently prepared inside the `mail_activity._action_done()` method which makes inheritance very difficult. This commit delegates the value computation to a sub-method and thereby improves the extensibility of the module.

required to support changes to enterprise documents odoo/enterprise#20769
Task-2627837

closes odoo/odoo#77004

X-original-commit: a26e6e954c5e6c773f37e9239138a7b94ded821f
Related: odoo/enterprise#21079
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-09-22 20:38:59 +00:00
Raf VenandThibault Delavallee be8aa967f0 [IMP] base: merge activities of merged partners
When merging partners through the ``base.partner.merge.automatic.wizard``
wizard, messages and followers are merged. However activities are not
probably because its underlying model is "newer" then messages and followers.

This commits fixes that behavior.

Task-2641572
PR odoo#76159
Closes #71654

X-original-commit: 7e17678ec6ebbbe37b807a5d264cc5afd46bae1a
Part-of: odoo/odoo#77005
Co-authored-by: Thibault Delavallee <tde@odoo.com>
2021-09-22 19:25:56 +00:00
Jairo LlopisandThibault Delavallee 1efeffd297 [FW][IMP] test_mail: test models with type do not mess with attachment types
Purpose of this commit is to highlight an issue that may happens easily with
`crm` that is made generic here within `test_mail`.

`crm` alters the context when creating a new record adding in this case
`default_type` to it][1]. The returned record contains that altered context.
his results in other records created from it trying to assign that same default
value for `type`. This is a very common name for fields, and happens to exist
in `ir.attachment` too.

If you create an alias for incoming leads in your DB with default values
`{"type": "lead"}` (something very common) and then an email comes to that
alias that contains an inlined base64 image, the attachment creation process
would simply fail.

Obtained error is ``ValueError: Wrong value for ir.attachment.type: 'lead'`` .

[1]: https://github.com/odoo/odoo/blob/272602193f5647f7f2270ed6ec68777625a139dd/addons/crm/models/crm_lead.py#L310-L311

X-original-commit: 99434b2e8528c10fcc9cb6860765e0ddcaa364c8
Part-of: odoo/odoo#77005
Co-authored-by: Thibault Delavallee <tde@odoo.com>
2021-09-22 19:25:55 +00:00
Jinal PatelandThibault Delavallee 223b51c462 [FIX] mail: fix ACLs issue with mail composer in new mode
As create_uid has no value on mail.compose.message model when being in onchange
or new mode, 'Mail Compose Message Rule' record rule may crash. In this
commit we fix that issue by adding a value for create_uid. An unit test is
added to ensure it effectively fixes the use case.

Steps to reproduce this warning:
 1. Create automated action for the 'mail.compose.message' model
 2. Try to open 'Email compose Wizard'

Warning:

"Due to security restrictions, you are not allowed to modify 'Email composition
wizard' (mail.compose.message) records.

Records: mail.compose.message,NewId_0x7f8e99762310 (id=NewId_0x7f8e99762310)
User: USERNAME (id=2)

This restriction is due to the following rules:

Contact your administrator to request access if necessary."

Task-2641572
opw-2628005
PR odoo#76159
Closes#75369

X-original-commit: 26d64c0b84b76bb9164a8895bcc21b66754478ae
Part-of: odoo/odoo#77005
Co-authored-by: Thibault Delavallee <tde@odoo.com>
2021-09-22 19:25:55 +00:00
Florent de LabarreandThibault Delavallee a8518ae75d [FIX] mail: handle parsing of void body in incoming emails
When body does not contain any tag or content parsing currently fails
with an ``lxml.etree.ParserError``. To avoid that we can improve condition
about void body: stripping void characters allows to avoid that traceback.

Task-2641572
PR odoo#76159
Closes odoo#75625

X-original-commit: 708fe3e74991c144a05c6bdcafa1931672e36ce9
Part-of: odoo/odoo#77005
Co-authored-by: Thibault Delavallee <tde@odoo.com>
2021-09-22 19:25:54 +00:00
Florent de LabarreandThibault Delavallee 1ca67905b4 [FIX] mail: handle wrong Final-Recipient header in incoming emails
Some emails are wrongly formatted mainly due to old servers. If Final-Recipient
header is void or wrongly encoded it currently crashes. This fix ensure there
is no crash, even if bounce detection could be incomplete.

Task-2641572
PR odoo/odoo#76159
Closes odoo/odoo#75618

X-original-commit: f437967a1fa4fca56c88e1cf79586805101ab712
Part-of: odoo/odoo#77005
Co-authored-by: Thibault Delavallee <tde@odoo.com>
2021-09-22 19:25:54 +00:00
Goffin Simon 9550789604 [FIX] account, mail: Using alias with journals in multi comapnies
Steps to reproduce the bug:

- Let's consider two companies A, B
- Let's consider two contact with the same email E, C1 in A and  C2 in B
- Let's create an alias AL for the vendor bill journal of B
- Send a vendor bill VB from E to AL

Bug:

A new bill is created in B with C1 as partner instead of C2
So an access error was raised when trying to open the bill in company B

opw:2495870

closes odoo/odoo#76963

X-original-commit: 1a58be583629af80af00f288dc5925c3940be1ef
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-09-22 13:47:08 +00:00
Didier (did) d81a539362 [FIX] mail: add missing notifition when leaving a channel
This will close the RTC session when a user leave a channel with a RTC session
open.

task-2646095

closes odoo/odoo#76849

X-original-commit: c5d2a17888d79e4b37cd8f9a690132b9cd556fbd
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-20 17:52:51 +00:00
Sébastien Theys 312fa7faad [IMP] mail: show message delete confirm dialog when editing it empty
closes odoo/odoo#76594

X-original-commit: db487735f03c9a948d83eedbd2a149241ebd8e1b
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-20 10:53:45 +00:00
Francois (fge) e0e4d38cdd [MOV] web: move /commands to /core
We move /commands to /core because DebugMenu depends
on /command/command_hook. All the files in /commands depend only
on /core or /commands except for menu_providers which we will move to /menus

X-original-commit: eca8cd478b72d81b2293c22d2c9c41d1f94be16a
Part-of: odoo/odoo#76777
2021-09-17 23:59:19 +00:00
William Braeckman 13084f0faa [FIX] account,mail: fix no depends not computing field
Computed fields with no depends are not computed before record creation
rendering those fields empty instead of being computed on the first
request.
By adding a depends (the field does not actually depend on it) the field
is computed correctly and may be used directly.

TaskId-2647225

closes odoo/odoo#76744

X-original-commit: f03e74317a40957a355235b92dacff6310fbdd5b
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-09-17 18:52:49 +00:00
Francois (fge) e13c41a45f Revert "[FIX] mail,web: Change command palette shortcut"
This reverts commit 2623b4591d.

The command+m shortcut on safari is not listenable. Safari prevents to
catch events of some shortcut reserved for OS actions. Command+m is
used to minimize the app. This makes it impossible to open the command
palette on safari. So we decided to use again the command+k (ctrl+k)
to open the command palette.

X-original-commit: ca0e37cc20da907d74245e935416d66a52976c5e
Part-of: odoo/odoo#76614
2021-09-17 12:38:57 +00:00
Didier (did) 043b124abd [FIX] mail: close RTC session when leaving a channel
When a user leave a channel with an RTC session open, we need to notify others
user and remove the leaving user from the room.

task-2646095

closes odoo/odoo#76719

X-original-commit: 6b498a0969b63e190637f112c6a7d5f8177c772c
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-17 09:32:24 +00:00
Samuel Degueldre b6ec6e8a64 [IMP] mail: trim down assets_discuss_public bundle
In the interest of time, we previously pulled a lot of dependencies into
the assets_discuss_public bundle so that all dependencies were met.
While this worked well as a first approach, this makes the bundle
dependent on many files managed by different teams, limiting their
freedoms in modifying those files, or forcing them to stuff even more
things into the bundle.

This commit cuts out a significant amount of unneeded dependencies to
allow this bundle to be more self contained and less fragile.

closes odoo/odoo#76688

X-original-commit: 9da13113467b7f445c2aeafe7ecfccb1b2064314
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-17 09:32:21 +00:00
Samuel Degueldre 5aaf2e86c2 [IMP] mail: annotate rtc log traces for better traces in debug=assets
closes odoo/odoo#76627

X-original-commit: bf5fa4ef5cf589927992156868afdc10f518725a
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:34 +00:00
Sébastien Theys 0a49d2cfa8 [IMP] mail: speed up time of RTC peers connection
Before this PR, the RPC to notify peers was called too much time too quickly.
Reducing request overload significantly improves the overall connection time.

closes odoo/odoo#76625

X-original-commit: f4c1d974b5d55868f81cd3259c45e83d934686f5
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:31 +00:00
Didier (did) dec73ae634 [FIX] mail: add missing guard in message template
closes odoo/odoo#76623

X-original-commit: c6292831475d260fcdc84a11b77df50014a1ff7f
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:23 +00:00
Samuel Degueldre 7f47b9c642 [IMP] mail: squash messages when possible in guest channel page
closes odoo/odoo#76619

X-original-commit: 2beed624ec2b52dbc7c0b7fb5b50ff79242228a1
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:11 +00:00
Samuel Degueldre ad5e580154 [FIX] mail: stop squashing messages from different guests
closes odoo/odoo#76618

X-original-commit: 73c53eeb65c1008a48e47e8e8a5a4ea95b240c2a
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:07 +00:00
Samuel Degueldre d5977245c2 [FIX] mail: disable non-functional member list for guests
While we do want to support the member list for guests in the future,
currently it is not supported so for now we just hide the corresponding
part of the UI.

closes odoo/odoo#76616

X-original-commit: 8d6e82c621b4e211250d0ef4adcc5504d2c2eb1c
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-16 07:18:03 +00:00
Samuel Degueldre d35bb1f6a4 [FIX] mail: stop prompting guests for commands as they will not work
While we do want to support at least some commands for guests, they
currently aren't supported. This commit stops prompting guests for
commands as they will not work.

X-original-commit: dbad80dbeec5bd76c27dc9dd4b2cb7daaf97b939
Part-of: odoo/odoo#76616
2021-09-16 07:18:02 +00:00
Samuel Degueldre 35d15cba1c [FIX] mail: disable partner invitation for guests
Guest cannot search for partners to invite, this commit stops displaying
the part of the UI that allows that when the current user is a guest.

X-original-commit: 317d912905354eaa2b6cd784fb292bdd51b9bfee
Part-of: odoo/odoo#76616
2021-09-16 07:18:02 +00:00
Samuel Degueldre fed3a1c2ae [IMP] mail: add MainComponentsContainer to guest pages
Previously, guest would not get any error dialogs when errors were
occuring, while the error service and dialog service were correctly
deployed, they were missing the main components container which allows
the dialog service to display the currently opened dialogs. The main
components container also allows the norification and popover services
to work, allowing them to be used for future developments if needed.

X-original-commit: 2a73d441babee25343bf09b5e1a6513afb084c92
Part-of: odoo/odoo#76616
2021-09-16 07:18:02 +00:00
Samuel Degueldre 702696a929 [FIX] mail: stop letting guests try to edit thread name/description
This feature is not available to guests, this commit makes it so that
guests can no longer hover/click on the thread name/description and
attempt to edit it which would not work anyway.

X-original-commit: 099e5cb5126cd741e52e2d45ba4dcddbb2076c1a
Part-of: odoo/odoo#76616
2021-09-16 07:18:01 +00:00
Samuel Degueldre 0655c6b97f [FIX] mail: hide star button for guests
Guest cannot star messages, the button to do this should not be shown to
them.

X-original-commit: 3efd1160271d7e66e986aa0a2a2994a28cbbfb4f
Part-of: odoo/odoo#76616
2021-09-16 07:18:01 +00:00