Commit Graph
2976 Commits
Author SHA1 Message Date
Mohit Ghodasara 0db0e66e96 [IMP] mail: improve usability of activities
Purpose of the task is to improve the usability of activity types and
activity scheduling.

Another purpose is alto to protect some master data activity types by flagging
them and preventing their deletion.

Containing
 * make the activity type as master data so deletion will be prevented;
 * improve the usability of the activity type;
 * prevent the deletion of activity type which are used for automated activity;
 * change the usability of activity scheduling modal;

This commit is linked to task ID 1907970 and PR #29257.
2019-02-05 11:32:14 +00:00
Christophe Simonis 4400cce820 [MERGE] forward port branch saas-12.1 up to 4524ad06a8 2019-02-04 13:27:22 +01:00
Christophe Simonis cd5c8a02f9 [MERGE] forward port branch 11.0 up to 36d96e0150 2019-01-29 13:17:12 +01:00
Nans Lefebvre 9e276477ce [FIX] mail: keep record changes on attachment upload
Steps to reproduce:
 - Edit a record.
 - Log a note or send a message with an attachment.
 - Save the record.
Bug: changes made to the record are discarded.

Because uploading an attachment triggers a reload without 'keepChanges',
the record values are read from database.
However displayed values are not updated, so there is no feedback that changes
have been discarded.
On save, the page is reloaded so the user sees that changes have been lost.

Introduced by 7f97c9fc05.

opw 1923824

closes odoo/odoo#30642
2019-01-30 07:58:19 +00:00
Christophe Simonis bdfef60d60 [MERGE] forward port branch saas-11.3 up to cd5c8a02f9 2019-01-29 18:35:14 +01:00
Lucas Lefèvre 95ef460961 [FIX] mail: don't trigger if mail bus is undefined
Steps to reproduce the bug:
1. open an app such that there is a breadcrumb (e.g. an employee form view)
2. create a chat window with a user
3. click on the expand button to open the chat in Discuss
4. unsubscribe from the thread
5. click on the breadcrumb to go back

=> Traceback

When expanding the chat window to open Discuss, it registers a callback which
triggers an event on the mail bus. This callback is called when clicking
on the breadcrumb.
Because the channel was left, any related chat window is destroyed.
Since the widget is destroyed, it has no parent, so any service call
returns `undefined`, hence `getMailBus` returns `undefined`.

Fix: check if mailbus exists before triggering.

closes odoo/odoo#30640
2019-01-29 14:25:42 +00:00
Christophe Simonis fab415acab [MERGE] forward port branch 11.0 up to 984a99611e 2019-01-23 18:15:18 +01:00
Thanh Dodeur 3c9cf1e753 [IMP] mail: adds delete and upload to chatter
backport of 73d9b9588f

This commit adds the ability to upload and delete
attachments from the chatter.

closes odoo/odoo#30636
2019-01-28 11:24:48 +00:00
Christophe Simonis 4aa153e65c [MERGE] forward port branch 11.0 up to 19558129f0 2019-01-17 20:49:36 +01:00
Christophe Simonis 19558129f0 [MERGE] forward port branch saas-15 up to c0471dd857 2019-01-17 19:07:34 +01:00
Christophe Simonis c0471dd857 [MERGE] forward port branch saas-14 up to 17adccd95c 2019-01-17 18:07:26 +01:00
Christophe Simonis c8ace043e5 [MERGE] forward port branch saas-11.3 up to 387d5cff90
closes odoo/odoo#30566
2019-01-25 17:29:34 +00:00
Christophe Simonis 17adccd95c [MERGE] forward port branch 10.0 up to 50bae1c0c5 2019-01-17 17:08:39 +01:00
Julien (juc) Castiaux 357b374a7e [FIX] mail: URL with semi-colon
When posting a URL containing a semicolon, odoo stops the link
before the semicolon instead of continuing the link to the end
although it is a valid characters in URL (see RFC-3986)

e.g. the url "example.com&foo;bar" matches "example.com&foo"
     instead of the whole link

opw-1918367

closes odoo/odoo#30198
2019-01-15 09:02:12 +00:00
Nans Lefebvre 573ce17d0a [FIX] mail: keep attachments when switching between note and message
Start a message mail (respectively note) in the chatter. Attach a file.
Switch to note (respectively mail). The attachment is lost.

With this commit, we keep the attachments after the switch.

opw 1925588

closes odoo/odoo#30197
2019-01-14 14:54:47 +00:00
Pierre Paridans 9ee099458b [FIX] mail: focus chatter composer on mobile
Sending a message on the chatter is painful as you need to scroll to see
the buttons and click to open the composer. Then again click to set the
focus in the composer (making the keyboard appear) and scroll again to be
able to write your message.

On a view form when clicking on the "New Message" or "Log Note" buttons the focus
should be put in the text field, then opening the mobile device keyboard
and scroll the view to make the text field visible.

NB: in some case on Android (both WebView and Google Chrome) the scrolling is
not operated correctly resulting into the text field being hidden behind
the keyboard. This issue looks related to some timing between the actual
focus() call and the keyboardi appearance triggered by the operating system.
Sadly we don't have any control on that part.

Related to task 1891955

closes odoo/odoo#29239
2019-01-23 13:55:49 +00:00
Martin Trigaux caaabadc66 [FIX] mail: do not download attachment content to list it
When creating the list of attachments, no fields information was given, making
the search_read read the content of each field, including the infamous datas
Already fixed at 73d9b9588f but the domain was not backported

Fixes odoo/odoo#30394

closes odoo/odoo#30415
2019-01-22 07:46:02 +00:00
Alexandre Kühn 0d87b1ccea [FIX] mail: do not open document chat window without access rights
Before this commit, a user could unintentionally discard a
notification from a document that he does not have access
rights at the moment.

Steps to reproduce:

1. Setup:
- Odoo with multi-company
- Two companies: "MyCompany" and "SuperCompany"
- Two users "Admin" and "Demo", both have access to being in
  both companies
- "Demo" has Notification management in Odoo in the user preferences.
- "Admin" is logged in "MyCompany"
- "Demo" is logged in "SuperCompany"

2. Scenario:
- "Admin" mentions "Demo" in a log of a document from "MyCompany"
- "Demo" receives the notification and click on the notification
  from messaging menu.
> Dialog prompts that Demo does not have access to the document (OK)
> Empty chat window is open (not OK)
- "Demo" closes the chat window
> Notification is marked as read (not OK)

This commit fixes the issue by aborting the opening of a
chat window if the user does not have the access rights
at the moment. It should prevent marking the notification
as read by mistake by closing the chat window.

Task-ID 1931313

closes odoo/odoo#30414
2019-01-21 15:35:23 +00:00
Nans Lefebvre 4ff88dac2e [FIX] mail: allow the followers list to be scrolled
The follower's list has an ancestor (the o_chatter_topbar) that has a 33px size.
Thus it has not been given any max-height, so that it can overflow
that 33px limit.
But it also means that it can overflow the screen, without any scrollbar,
so long lists are unreadable and unusable.

We set the max-height to a reasonable value, allowing for scrollbars.

opw 1922062

closes odoo/odoo#30211
2019-01-18 12:24:23 +00:00
Christophe Simonis f854e01a98 [MERGE] forward port branch saas-11.3 up to 4aa153e65c 2019-01-18 10:58:41 +01:00
Alexandre Kühn 295a654283 [FIX] mail: chat window positioning with discuss open
Before this commit, the process of positioning chat windows
could fail if one of the tabs had discuss open.

When a chat window was hidden and become visible, the algorithm
was not updating the state of the chat window to "visible" when
discuss was open. As a result, it was always trying to make it
visible, resulting in an infinite loop and raising the following
error message:

`Uncaught RangeError: Maximum call stack size exceeded`

This commit ensures it works even when discuss is open.

opw-1919327

closes odoo/odoo#30137
2019-01-11 11:03:45 +00:00
Jorge Pinna Puissant 2ce4ccd086 [FIX] mail: Failed mail notification wrong title
opw-1921686

The failed mail notification group all the records of the same
model that failed to send an email.

Before this commit, the failed mail notification displayed as
title the name of the last record that failed to send an email.

Now, the notification displays as title the model name.

closes odoo/odoo#30134
2019-01-11 10:39:33 +00:00
Nicolas Lempereur edcaaba53c [FIX] mail: typo connect notification error
In 12.0 commit f2302dfb2 the method openDmWindow was renamed
openDMChatWindowFromBlankThreadWindow but it called openDmWindow at one
location which caused click on user connection notification to cause an
error instead of opening a chat window.

opw-1910521
closes #30084
2019-01-09 17:20:25 +00:00
Xavier Morel 1e9ed52052 [FIX] mail, sale: indentation & spacing in docstrings
rST is somewhat unforgiving when it comes to whitespace. The extra
indentation on list would generate (nested) blockquotes instead of
just paragraphs & list items, and the missing empty lines would make
rST parse the entire block as a single paragraph rather than a
paragraph followed by a list.

closes odoo/odoo#30058
2019-01-09 09:16:02 +00:00
Christophe Simonis a337b9ec92 [MERGE] forward port branch 12.0 up to f854e01a98 2019-01-18 14:26:33 +01:00
RomainLibert dad7d80a93 [FIX] mail: fix typo in _onActivityUpdated
closes odoo/odoo#30260
2019-01-16 12:40:56 +00:00
Christophe Simonis 3cbc9dd6c0 [MERGE] forward port branch 12.0 up to 6a0675d36d 2019-01-14 10:34:50 +01:00
Christophe Simonis 8aa8548d8a [MERGE] forward port branch 12.0 up to 3e4138deaa
closes odoo/odoo#30045
2019-01-09 15:56:53 +00:00
Alexandre Kühn fa756bc63d [FIX] mail: adapt discuss mobile from cp refactoring
Since a recent ControlPanel/Search view refactoring [1],
all client actions must be adapted [2]. Discuss was updated,
but not discuss mobile, which this commit fixes.

[1] https://github.com/odoo/odoo/commit/4cd379cf6ecffa00e0085a9833228128b484d48a
[2] https://github.com/odoo/odoo/commit/b1ef0001f61d29fc3d3be384422c0fb35a09806f

Task-ID 1918722

closes odoo/odoo#29601
2018-12-18 10:27:34 +00:00
Thanh Dodeur 73d9b9588f [IMP] mail: adds delete and upload to chatter
This commit adds the ability to upload and delete
attachments from the chatter.

Task: #1911277

closes odoo/odoo#29702
2018-12-21 15:25:27 +00:00
Alexandre Kühn 906183ac0b [FIX] mail: bigger emojis in composer emoji menu
Before this commit, emojis from the emoji menu in the
composer were small. This is especially true in mobile.

The cause of this issue was the style of bootstrap button
links. This commit fixes the issue by no longer considering
each emojis as button for their style, so that they do not
inherit bootstrap styles.

Task-ID 1918767

closes odoo/odoo#29606
2018-12-18 12:14:15 +00:00
Alexandre Kühn 1645b2f8e3 [FIX] mail, test_mail: fix mail_tour
This commit fixes the following issues regarding the mail tour:

1. Start from discuss app (not app switcher)
2. Adapt from recent changes on discuss app https://github.com/odoo/odoo/commit/9f6f9c71d3258ce3652b4a5793b7dcfef6f01d25

Note there is an error if we let runbot run this tour automatically:

```
Tour mail_tour failed at step Messages can be <b>starred</b> to remind you to check back later.
(trigger: .o_mail_discuss .o_mail_thread .o_thread_message_star)
```

This comes from the mail tour requiring longpolling to work, which is
intentionally disabled when running tours automatically on runbot.
We plan making this tour run without longpolling in the future, which
requires a design change from the client code (e.g. reduce reliance
on the longpolling).

Task-ID 1916093

closes odoo/odoo#29575
2018-12-17 12:48:10 +00:00
Swapnesh Shah d67658c043 [FIX] mail,web: link attachments & messages
The information of the active model and record was not given in the context
Records created from the Manage Messages and Manage Attachements in the debug
menu were not linked to the current records
Add context in test too

closes odoo/odoo#27766
2018-12-28 10:33:05 +00:00
Christophe Simonis f351dd8cab [MERGE] forward port branch 12.0 up to 047e2b28de 2018-12-12 11:38:25 +01:00
Nicolas Martinelli 047e2b28de [FIX] mail: keep context when sending a message
When sending a message through the chatter, the user context (including
the language) is not sent to the server. This causes issues to render
the mail templates in the appropriate language.

closes odoo/odoo#29422
2018-12-11 13:32:37 +00:00
Martin Geubelle 0ba9daa2ce [FIX] mail: adapt activity view icon
Task 1889687 adds the activity view to Studio>Views, the view is represented by
icon fa-clock-o. Task 1894990 was supposed, among other things, to change the
current activity view icon (fa-th) to fa-clock-o. Since this task was not merged
it creates an inconsistency between the 'view switcher' and Studio.

Task 1902826

closes odoo/odoo#29392
2018-12-10 14:01:24 +00:00
86870b89bd [REF] *: adapt views outside web
to ControlPanel/Search view refactoring.

*: mail,sale,web_diagram

The ControlPanel being now inside the DOM of views' controller,
those existing widgets needed to be adapted (in the way they define
if and how they want a ControlPanel, and in the way the manipulate
their DOM as it slightly changed). Tests needed to be adapted as
well.

Part of task 1893568

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:08 +00:00
b1ef0001f6 [REF] *: adapt all client actions
to ControlPanel/Search view refactoring.

The ControlPanel being now inside the DOM of client actions, those
existing widgets needed to be adapted (in the way they define if
and how they want a ControlPanel, and in the way the manipulate
their DOM as it slightly changed). Tests needed to be adapted as
well.

Part of task 1893568

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:07 +00:00
ThanhDodeurOdoo 89f20d2c29 [REF] base, mail: splits the documents feature from ir attachment
Moved the field 'active', 'res_model_name' and 'thumbnail' from
ir.attachment to enterprise's documents.document.

Moved the pdf split feature to enterprise's Documents module.

task: #1908896
2018-12-06 19:09:33 +00:00
Alexandre Kühn 844fb2b51e [IMP] mail: channel seen icon indication ('v' and 'vv')
This commit adds the seen icon next to a message for all channels
except livechat.

It tracks received and seen messages for all members of the channel.
Icon is either 1 or 2 check(s) ('v' or 'vv').

Those are the different states of this 'seen' icon:

  ICON:                           DESCRIPTION:

  no check .................. no one has received the message.
  1 check ................... some members have received the
                              message, no one has seen it.
  2 checks (greyed-out) ..... some members have seen the message,
                              some or everyone has received it
  2 checks (green) .......... all members have seen the message

This icon is not shown for messages preceding the last message seen
by everyone, in order to reduce visual noise.

Task-ID 1881001
2018-12-06 16:18:10 +00:00
Alexandre Kühn 15bbadb69b [REF] im_livechat, mail, website_livechat: clean mail model folder
The utility classes `Timer`, `Timers` and `CCThrottleFunction`
were only used by the feature 'is typing...', thus all those files
were in the same folder.

This commit moves the utility classes in a dedicated folder,
and introduces a folder for thread mixins, in preparation for
future features on threads that will be implemented as mixins.
2018-12-06 16:18:09 +00:00
Alexandre Kühn 50dfa865ea [IMP] mail: discard replying to a message in discuss
This commit adds a button to discard replying to
a message from the Discuss inbox.

Task-ID 1881001
2018-12-06 16:18:09 +00:00
Alexandre Kühn f372ac541f [IMP] mail: rename DM conversation
This commit adds the possibility to customize the name
of a DM conversation. To do so, click on the gear icon
when hovering on a DM in the discuss sidebar.

This feature intentionally removes the access to the
settings of a DM, because the settings view only makes
sense for non-DM conversations.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn ef1c342b7c [IMP] mail: put emoji in composer based on cursor position
Before this commit, when selecting an emoji from the composer,
the emoji was put at the end of the composer content.

With this commit, the selected emoji is now put in the composer
based on the position of the cursor. It also focuses the input
and set the cursor just after the newly inserted emoji.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn 64f044761a [IMP] bus, mail, mail_bot: improved native notification
With this commit, no push notification is sent to user when
to acknowledge that he just has accepted them. Also, on native
push notifications, the Odoo Bot icon now has a transparent
background.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn f3bd34b870 [IMP] mail: merge private and public channels in discuss
Discuss sidebar now has a single category for public and
private channels called "Channels". Private channels are
prefixed with a keylock icon.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn a669d89565 [IMP] im_livechat, mail: quick search when several channels
Discuss sidebar now shows a quick search when there are
at least 20 channels or DMs or Livechats that are pinned.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn 7ad45a04e1 [IMP] im_livechat, mail: improved "is typing" notification
With this commit, the UI for "is typing..." notifications
has changed.

** before **:

In Discuss & chat windows, "is typing..." notification bar
at the bottom of the thread, inside the conversation.

** after **

In chat windows, animated '...' next to conversation name.
In Discuss, animated '...' next to conversation name in sidebar,
and text below the composer.

Task-ID 1881001
2018-12-06 14:51:28 +00:00
Alexandre Kühn 9117d968e0 [FIX] mail: get members on channel_info
Before this commit, when accessing a channel after a page reload,
the list of members in a channel was not known until the composer
on this channel has the focus, either in the Discuss app or in a
chat window.

This was a good-enough condition when information about members
was limited to mention suggestions, which requires having the
focus on the composer. However, with the 'is typing' features
on channels, it requires being aware of the members of the channel
at the moment of the rendering in discuss or in a chat window.

This commit fixes the issue by providing the list of channel
members when retrieving information about the channel.

Without this fix, the 'is typing' notifications could sometimes
not determine the name(s) and email(s) of user(s) typing something.
2018-12-06 14:51:28 +00:00
Alexandre Kühn 7cdfe99d44 [FIX] mail: do not auto-focus new open chat window
Revision on https://github.com/odoo/odoo/commit/cd34f6de727d5b3858420cff3c9d3c5995c4e75c

Before this commit, when receiving a new message from a new DM
or livechat, the newly opened chat window was automatically
focused and marking messages as read.

Chat windows that are automatically opened without any user
interaction, such as when receiving a new message from a chat,
should not be focused. Those chat windows are "passive", and
the user must click on them in order to have focus and mark
messages as read (the chat window is no longer passive as a
result). The bug has been introduced by the refactoring from
the commit above.

In fact, there was a very short period of time during which the
chat window was passive. However, due to the way chat window
server-side state synchronization works, the chat window was
automatically closed then re-opened. This resulted in some visual
flickering of the chat window ('open' > 'close' > 'open'), and
the conversation was automatically marked as read. This was a
consequence of the actions 'open' > 'close' > 'open' that removed
the passive property of the chat window.

Chat window server-side synchronization relies on a notification
that tells the state of the conversation. Due to bad design, this
notification had exactly the same format as the one for notifying
all browser tabs of a newly joined conversation.

This commit fixes the issue by distinguishing "channel join"
and "chat window state" notification, so that the former is not
treated as a chat window notification. It fixes the problem
because it was precisely the "channel join" notification that caused
the chat window to close and loose its passive property.

Task-ID 1914735
opw-1914371

closes odoo/odoo#29223
2018-12-03 16:17:59 +00:00