Commit Graph
367 Commits
Author SHA1 Message Date
Xavier Morel 67f36e8b2f [FIX] *: properly finish a bunch of form editions
Cancel or properly wait for save to finish, depending on tour.

Part-of: odoo/odoo#96517
2022-08-04 09:14:10 +02:00
Alexandre Kühn b7b4161873 [IMP] im_livechat, *: Refactor JS Public Livechat (step 13)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2943607

closes odoo/odoo#97403

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-08-03 19:33:53 +02:00
Sébastien Theys 2a104bff47 [IMP] mail, im_livechat: remove obsolete SCSS rules
These rules no longer target any element.

closes odoo/odoo#97386

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-08-03 15:10:07 +02:00
Alexandre Kühn 3bceb9159b [IMP] im_livechat, *: Refactor JS Public Livechat (step 12)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2942001

closes odoo/odoo#97354

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-08-03 06:34:21 +02:00
Alexandre Kühn 6c7f178bdc [IMP] im_livechat, *: Refactor JS Public Livechat (step 11)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2939083

closes odoo/odoo#97219

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-08-01 18:21:00 +02:00
Louis Wicket (wil) fc2118f5c3 [IMP] mail: remove Record/create
The way the code has evolved, `create` is now no more than an
unnecessary indirection for `insert`.

This PR removes `create` and replaces its uses with `insert` directly.

closes odoo/odoo#97058

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-08-01 10:55:44 +02:00
tsm-odoo c68c0f3400 [IMP] mail, *: remove create component methods in tests
*: sms, snailmail, hr_holidays.

task-2871066

closes odoo/odoo#97093

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-29 18:34:19 +02:00
Alexandre Kühn 86167977ea [IMP] im_livechat, *: Refactor JS Public Livechat (step 10)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2937174

closes odoo/odoo#97030

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-07-29 01:51:07 +02:00
tsm-odoo 8a04a0297a [IMP] mail, im_livechat: remove createComposerComponent
task-2871066

closes odoo/odoo#96886

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-28 13:21:22 +02:00
Alexandre Kühn d27546064a [IMP] im_livechat, *: Refactor JS Public Livechat (step 9)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2928837

closes odoo/odoo#96690

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-07-28 02:40:06 +02:00
tsm-odoo 71d5af4ce0 [FIX] bus, *: fix onNotification/offNotification
*: im_livechat, snailmail_account, survey, web_editor.

The callback registered by the bus service method onNotification was
not the same unregistered by offNotification. Since those method were
superfluous, they have been removed in favor of (add/remove)EventListener.

closes odoo/odoo#96684

Related: odoo/enterprise#29819
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-27 16:34:10 +02:00
Sébastien Theys b401ba6e2d [IMP] mail, *: remove legacy code from activity systray
* = calendar, crm, im_livechat, mass_mailing_sms, note, test_discuss_full,
    test_mail

task-2920645

closes odoo/odoo#96114

Related: odoo/enterprise#29794
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-07-27 02:18:15 +02:00
Alexandre Kühn ac39fe6768 [MOV] im_livechat, *: Refactor JS Public Livechat (step 8)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2925850

closes odoo/odoo#96447

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-07-21 01:53:32 +02:00
Alexandre Kühn 8840b37989 [IMP] im_livechat, *: Refactor JS Public Livechat (step 8)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2925850

Part-of: odoo/odoo#96447
2022-07-21 01:53:32 +02:00
Louis Wicket (wil) fdcaa53ca0 [IMP] mail, *: rename mail.channel.partner to mail.channel.member
* = calendar, crm_livechat, hr_holidays, im_livechat, privacy_lookup,
privacy_lookup, test_discuss_full, test_mail_full, website_livechat

closes odoo/odoo#95912

Related: odoo/upgrade#3681
Related: odoo/enterprise#29433
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-19 11:50:37 +02:00
tsm-odoo 3b9a90e14f [IMP] bus: replace on/off by (add/remove)EventListener
on/off are deprecated in favor of  addEventListener/removeEventListener.
Calls to the bus service have been updated to reflect those changes.

task-2053917

closes odoo/odoo#96017

Related: odoo/enterprise#29501
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-18 18:41:33 +02:00
Matthieu Stockbauer 3ae11c87e8 [IMP] mail, *: adapt bus service to wowl env.
*: bus, calendar, iap_mail, im_livechat, project, web.

In order to ease the PR introducing the websockets in Odoo, the bus service
has to be updated to be a wowl service. This PR takes care of it.

task-2053917

closes odoo/odoo#95824

Related: odoo/enterprise#29361
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-14 11:42:42 +02:00
Ipsita Borisagar 3fe33487e1 [FIX] im_livechat: disable attachment upload via drag and drop
Before this commit:

Attachments are not properly supported in livechat, so there is no point in
allowing attachments to be uploaded via drag and drop.

After this commit:

Disable attachment upload via drag and drop in livechat channels.

Task-2824502

closes odoo/odoo#95761

X-original-commit: 1aed05eb1c50ee69b974a140b3080e38c802cb2f
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-07-12 06:20:51 +02:00
Romeo Fragomeli 1fcd098af5 [REF] *: BS5: migration
Automated change made by a lot of RegEx to change all think that is
possible to automate.

https://getbootstrap.com/docs/5.1/migration

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
Romeo Fragomeli 9b5c9484fe [REF] *: BS5: adapt changes in media query mixin
> Media query mixins parameters have changed for a more logical approach

> media-breakpoint-down() uses the breakpoint itself instead of the next
> breakpoint (e.g., media-breakpoint-down(lg) instead of
> media-breakpoint-down(md) targets viewports smaller than lg).
> Similarly, the second parameter in media-breakpoint-between() also
> uses the breakpoint itself instead of the next breakpoint (e.g.,
> media-between(sm, lg) instead of media-breakpoint-between(sm, md)
> targets viewports between sm and lg).

https://getbootstrap.com/docs/5.1/migration/#sass

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
Alexandre Kühn 21471fc5e7 [IMP] im_livechat, *: Refactor JS Public Livechat (step 7)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2898692

closes odoo/odoo#94914

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-30 12:11:00 +02:00
tsm-odoo 91cb9002dc [IMP] mail, *: remove deprecated autoOpenDiscuss parameter
*: im_livechat, website_livechat.

The autoOpenDiscuss parameter was used but is deprecated for a while now.
This PR removes it.

closes odoo/odoo#94716

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-06-28 14:06:06 +02:00
Alexandre Kühn 5206b66aed [MOV] im_livechat, *: Refactor JS Public Livechat (step 6)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2896237

closes odoo/odoo#94722

Related: odoo/enterprise#28913
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-28 00:36:42 +02:00
Alexandre Kühn 67e35f45a4 [IMP] im_livechat, *: Refactor JS Public Livechat (step 6)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2896237

Part-of: odoo/odoo#94722
2022-06-28 00:36:42 +02:00
Alexandre Kühn c27de6c738 [IMP] im_livechat, *: Refactor JS Public Livechat (step 5)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2894102

closes odoo/odoo#94508

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-24 09:26:08 +02:00
Alexandre Kühn 3caac9399b [FIX] im_livechat: no unamed attachment on public livechat messages
Follow-up of https://github.com/odoo/odoo/commit/0c30945d364a8b986f0b48db28e42c7b355471e3
Commit above changed the message formatter in python,
so that `attachment_ids` now always return a list of field commands.

This work fine in backend code of discuss, but in public livechat,
it still uses legacy code. The legacy code do not support field
commands, so instead it thinks the command is data of an attachment,
thus showing an "unamed" attachment.

Actually attachments are not supported in livechat. Code had some
handling of attachments just because this was shared with the
backend in the past.

This commit fixes the issues by simply enforcing showing no
attachment in any message in public livechat.

closes odoo/odoo#94394

Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2022-06-23 12:28:58 +02:00
Louis Wicket (wil) 1e75bd3b61 [FIX] im_livechat: fix broken avatar in livechat
closes odoo/odoo#94389

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-23 11:16:14 +02:00
Alexandre Kühn a008d8c078 [IMP] im_livechat, *: Refactor JS Public Livechat (step 4)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2892367

closes odoo/odoo#94347

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-22 19:33:01 +02:00
tsm-odoo e97214ff4e [IMP] mail, *: remove createMessagingMenu during tests
*: im_livechat, test_mail, test_mail_full.

The createMessagingMenu helper was used during tests to mount
the messaging menu and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's instanciate a webClient and a systrayService
for the messagingMenu to be present at all time.

closes odoo/odoo#94301

Related: odoo/enterprise#28747
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-06-22 16:32:42 +02:00
Aurélien Warnon 0532a00d94 [FIX] im_livechat: correctly handle closed conversations
Currently, when the visitor closes the chatbot conversation, the script keeps
running as there is nothing in the code to tell it to stop.

Which can cause issues, because the visitor is still able to "post" messages
through the rating, which will trigger the next step of the script.

Even though the user cannot see those messages and bot reactions, we should
still correctly end the script when the conversation is closed.

Especially since the visitor can ask to receive the conversation by email, and
we don't want him too see that the script wrongly continued.

Task-2882341

closes odoo/odoo#94234

Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-22 13:24:14 +02:00
Alexandre Kühn 69cb3a2562 [IMP] im_livechat, *: Refactor JS Public Livechat (step 3)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2890189

closes odoo/odoo#94190

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-22 02:15:51 +02:00
Alexandre Kühn da8e5f2489 [IMP] im_livechat, *: Refactor JS Public Livechat (step 2)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2888734

closes odoo/odoo#94090

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-20 19:48:54 +02:00
Alexandre Kühn 1e72215353 [IMP] im_livechat, *: Refactor JS Public Livechat (step 1)
*: website_livechat

This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.

Task-2887296

closes odoo/odoo#93966

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-17 21:37:35 +02:00
Louis Wicket (wil) d91f7852db [IMP] mail, *: user settings improvements
* = im_livechat, test_discuss_full

Various improvements to user settings, including:

+ Introduce new js models `res.users.settings` and `res.users.settings.volumes`
to mirror the python models.
+ Avoid reformatting server data and simplify the way notifications are handled.
+ Clean dead code (unused convertData).
+ Reword and add documentation.

closes odoo/odoo#93390

Related: odoo/enterprise#28291
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-06-17 14:14:14 +02:00
Alexandre Kühn 190feb8d6d [IMP] im_livechat, *: make JS models available in livechat external lib
This commit make messaging service available in the frontend and in
the livechat external lib bundle.

This is preparation to refactoring JS livechat to use models and OWL.

*: bus, mail, survey, web, website_livechat

Task-2870899

closes odoo/odoo#92786

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-06-13 16:51:27 +02:00
Alexandre Kühn 315a0d6b5b [IMP] mail: introduce PopoverManager, and some code cleaning
1. Remove useless props category on component `ChannelMemberListCategory`
2. Make fields of model `DiscussSidebarCategory` more declarative,
   i.e. by defining values from compute of field rather than imperative
   code somewhere in the code of discuss.
3. Introduce a new model `PopoverManager`, which eases use of `PopoverView`s
   as they are automatically added in the DOM in a similar way than `Dialog`s
   with `DialogManager` or `ChatWindow`s with `ChatWindowManager`.
   Doing so also make these popover view no longer deep child in component tree:
   this fixes an issue in which popover views could be cut due to DOM tree.

Task-2871688

closes odoo/odoo#92896

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-03 18:34:53 +02:00
Nemael 48fd3538fe [IMP] im_livechat, *: split public livechat templates per widget
*: website_livechat

The goal is to split the public_livechat.xml file into multiple parts,
and move each template into its own file located in
`im_livechat/static/src/legacy/widgets/`

Task-2825235

closes odoo/odoo#92671

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-06-02 12:05:16 +02:00
Didier (did) ef65fb396f [IMP] mail, im_livechat: remove dead code
closes odoo/odoo#92502

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-31 14:59:32 +02:00
tsm-odoo 3573a7fef4 [IMP] mail, *: use wowlEnv instead of the legacy one
*: bus, calendar, hr, hr_holidays, im_livechat, mail, mail_bot, note, project,
sms, snailmail, test_mail, web, website_livechat, website_slides.

task-2582313

closes odoo/odoo#83774

Related: odoo/enterprise#26493
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-30 19:40:53 +02:00
Nemael 6f90029a12 [MOV] im_livechat: turn legacy livechat into odoo modules
Task-2825098

closes odoo/odoo#90842

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-25 12:45:55 +02:00
tsm-odoo 038e83e7aa [IMP] mail, *: replace target by document
*: hr, hr_holidays, im_livechat, test_mail.

The target returned by the mail's test utils start method is useless since it's
almost the same thing than querying document. Let's remove it and replace it by
document. This will reduce the diff in the PR introducing the new environment in
the discuss app.

task-2582313

closes odoo/odoo#92077

Related: odoo/enterprise#27670
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-24 11:43:57 +02:00
Nemael 546e0b823d [IMP] im_livechat: use ES6 syntax in legacy livechat files
Task-2825104

closes odoo/odoo#90625

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-18 22:56:29 +02:00
tsm-odoo 6c8fbd0da1 [IMP] mail, *: add sendmany/sendone to the mock server
*: im_livechat, website_livechat.

In order to reduce the noise in the PR introducing the new environment in
the discuss app, calls to widget.call, env.bus_service.call during tests
have been replaced by a mocked implementation of _sendone/_sendmany. Moreover,
this approach will allow us to mock the longpolling during tests, resulting in
a more realistic behavior.

task-2582313

closes odoo/odoo#90724

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-13 18:10:56 +02:00
tsm-odoo c23f85903a [IMP] mail, *: use pyEnv in the mockServer
Now that pyEnv is available, using it in the mock_server lighten the syntax.

task-2582313

closes odoo/odoo#90783

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-13 11:59:58 +02:00
bit-odoo a9c03b7b24 [FIX] im_livechat: few changes for livechat
Before this commit:

- When the operator edit or delete a message, but the livechat visitor does not
  receive the updated content.

- If the first message of a series of squashed messages is deleted, the avatar
  and the name of the author are lost on the visitor side.

After this commit:

- Livechat visitors will receive the updated content instantly and disable
  the reactions and replay buttons for the LiveChat channel.

- Displayed message with the avatar and the name of the author on visitor side.

Task-2678397

closes odoo/odoo#91084

X-original-commit: 3d6ff10055deaea1a2295740c5216efce0ef3ef5
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-11 16:00:51 +02:00
Alexandre Kühn da40fedde0 [IMP] mail, *: pass record instead of local id in props
*: hr_holidays, im_livechat, snailmail, website_livechat

Task-2847927

closes odoo/odoo#90882

Related: odoo/enterprise#27110
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-09 20:58:31 +02:00
tsm-odoo e0377544ca [IMP] mail: prepare test_utils to new env
This PR helps reducing the noise in the one intorducing the new environment
in the discuss app. Indeed, there won't be widget anymore since createWebClient
will always be used. createXXXComponent methods were relying on widget.el to
mount the components. Let's already replace it by target.

task-2582313

closes odoo/odoo#90526

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-05 15:14:48 +02:00
Brieuc-brd 2631cee9cc [REF] mail: ThreadIcon, review and simplify scss
Part of the overall v16 SCSS optimization/restyle, task-2704984

task-2843238

closes odoo/odoo#90524

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-05 15:14:41 +02:00
Alexandre Kühn 5c1e7a6f5d [IMP] mail: introduce view models (step 5)
This commit introduces models that define records being 1:1 map with components,
as a step to move further to having essentially all business code in models.

Having code in models is desirable to have very maintainable code, thanks to
robust and declarative code with an ORM-like architecture.

Task-2831082

closes odoo/odoo#90427

Related: odoo/enterprise#26928
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-04 16:43:44 +02:00
tsm-odoo 7e5a71ab71 [IMP] mail, *: always mount discuss/chatWindow/dialog during tests
*: hr, im_livechat, snailmail, website_livechat.

This PR prepares the ground for  the one introducing the new environment in the
discuss app. Indeed, tests will now use the mainComponentRegistry in order to mount
those components. Doing so, the parameters has{Discuss/Dialog/ChatWindow} will become
obsolete. Removing those parameters now helps reducing the noise in the main PR.

task-2582313

closes odoo/odoo#90120

Related: odoo/enterprise#26759
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-03 13:31:08 +02:00