summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/thread/thread.js
AgeCommit message (Collapse)Author
2021-03-10[FIX] mail; hr: restore faster and more accurate mention suggestionsXavier Dubuc
The code from v13 used to look for partners in JS before making the RPC, which was much faster, and also gave better results by returning partners that were already known and therefore more likely to be selected. The same logic is reintroduced here, and further improved to take into account all known partners and sort them according to the likeliness they will be selected based on various criteria. task-2413776 closes odoo/odoo#64161 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Sébastien Theys <seb@odoo.com>
2021-02-15[FIX] mail: prevent message separator for new conversationsIpsita Borisagar
Before this commit: When a new conversation is initiated, the 'new messages' separator is displayed. This looks a bit weird as there is no history of conversation and thus no older messages from which new messages should be separated. After this commit: The 'new messages' separator will not be displayed in new conversations. LINKS PR https://github.com/odoo/odoo/pull/65952 Task-2453511 closes odoo/odoo#65952 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-02-12[FIX] mail: (mobile) Prevent server sync for open/close stateJulien Giannone
This commit prevents the opening/closure of a channel on mobile when the action is performed on desktop and reciprocally closes odoo/odoo#64599 Tasks-id: 2267593 Related: odoo/enterprise#16296 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-01-22[FIX] mail: fix inbox mark all as read on thread viewSébastien Theys
task-2426357 task-2426366 closes odoo/odoo#64009 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2021-01-18[FIX] mail, im_livechat, snailmail: use findFromIdentifyingDataSébastien Theys
find is O(n) and findFromIdentifyingData is O(1) task-2440693 closes odoo/odoo#64712 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-10[FIX] mail: mark all needaction as read when opening the threadDidier (did)
This was the case before the refactoring. task-2411114 closes odoo/odoo#62942 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-09[FIX] mail: only highlight needaction on their origin threadSébastien Theys
task-2391170 closes odoo/odoo#62981 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-02[FIX] mail: set href on notification link.Didier (did)
This allow the user to open link in new tabs with middle click task-2387837 closes odoo/odoo#62304 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-11-25[FIX] mail: remove illegitimate followers from chatsSébastien Theys
task-2392114 closes odoo/odoo#62309 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-11-16[FIX] mail: fix race conditions, especially with scrollSébastien Theys
The `_update` of some components must take place before the `_update` of other (usually sibling) components that might directly influence their layout. This is in particular the case for `_update` that are relying on height. Prevent force save of scroll position if there are pending hints to adjust it, and prevent pending hints from overriding new scroll value. Prevent flicker with message date. This should fix all known issues related to incorrectly saving or restoring scroll position. task-2344226 task-2358066 task-2369332 task-2372339 task-2373741 closes odoo/odoo#61054 Related: odoo/enterprise#14736 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-11-02[FIX] mail: handle transient messages with (un)seen notionsXavier Dubuc
task-2343887 closes odoo/odoo#60906 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-27[FIX] mail, im_livechat: allow to reopen closed chat in discussXavier Dubuc
task-2346862 closes odoo/odoo#60080 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-10-14[FIX] mail: adds shadow to RPCsThanh Dodeur
This commit adds shadow to RPCs that are not supposed to be blocking. task-2352703 closes odoo/odoo#59991 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-09[FIX] mail: fix discuss search filters and related issuesSébastien Theys
- don't reset `stringifiedDomain` when changing thread (this led to the control panel displaying obsolete filters) - refresh non-main cache that are currently displayed when there is a known change of messages in the same thread's main cache - refresh non-main-cache on displaying them, to fetch potentially new messages - fix discuss "select all" conditions task-2171873 task-2282374 closes odoo/odoo#59631 X-original-commit: b89dc5f949b3ad062fc4197a4152066c207e1bf9 Related: odoo/enterprise#13958 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-08[FIX] mail: avoid useless (un)link when using replaceSébastien Theys
Side effect of this change: dependencies are not longer triggered when replace is not actually doing anything. task-2270780 closes odoo/odoo#59508 X-original-commit: 75a44675873d65fdf17f2205772b05a0f59bb42c Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-07[FIX] mail: clean up relations between chatter and threadSébastien Theys
This will prevent various flicker when using previous/next. task-2243518 closes odoo/odoo#59375 X-original-commit: 1559e82e6b781601286003c2aff364dbb19c9bfc Related: odoo/enterprise#13868 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-02[FIX] mail, im_livechat: consider all init channels as pinnedSébastien Theys
task-2347732 closes odoo/odoo#59023 X-original-commit: f1ac4bb61d1bc02c4b69dc31a2869fbd15852514 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-29[FIX] mail: do not show new messages separator for own messagesXavier Dubuc
Also fix compute of local counter in some specific situations. task-2341740 closes odoo/odoo#58855 X-original-commit: 7d1878ff8a4757d1626d694b624f79e597ddd717 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-29[FIX] mail: prevent sync fold state for non-channelsSébastien Theys
task-2346650 closes odoo/odoo#58794 X-original-commit: f5b6e78e77eac27af3b3812ac3818a67acaa1c85 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-24[FIX] im_livechat, mail, website_livechat: open chat website visitorAlexandre Kühn
Also fix an issue with livechats not being considered in 'chat' filter of messaging menu. Task-Id 2282426 closes odoo/odoo#58466 X-original-commit: 631e52536964763bbfe857305f023e5e67084e95 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-23[FIX] mail: use compute fields for identifying relationsXavier Dubuc
(in message seen indicators) task-2335647 closes odoo/odoo#58373 X-original-commit: 3d4ff42f4474a5761c9e0737297d973992a2fcc2 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-23[FIX] mail: prevent unnecessary fold state RPCSébastien Theys
When the pending value is the same as the current server value, the pending value should be ignored and no RPC should be done. In particular this prevents a non-main tab from calling the RPC when receiving a bus notification that would lead to closing a chat window, which in turn used to call the close RPC again before this commit. This led to inconsistencies especially on the main tab, if the chat window was requested to be open again after the initial close, but before the "secondary" close, it would end up closing instead of opening. The current commit reduces the issue and prevents as many unnecessary RPC as there are tabs open, which is a good improvement. But it does not negate it completely. Indeed, when quickly closing then opening the same chat window, it might still happen for network reasons that the RPC or the corresponding bus notifications are received in the wrong order. This is less frequent both functionally (to click so fast) and technically (to have the network that slow) at the same time, so it is considering acceptable / out of scope. The opportunity is taken to clean up the code by removing unnecessary fields and making use of compute and flux specific RPC instead of `_updateAfter`. task-2273658 task-2329521 closes odoo/odoo#58367 X-original-commit: cbb1d855c7af5f78819db3cd476dbe0f985bc214 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-23[FIX] mail: avoid flicker when uploading multiple attachementDidier (did)
task-2282327 closes odoo/odoo#58354 X-original-commit: 413c6c406eac52048b9a0b80c7ee46efe5b061c4 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-23[FIX] mail: allow to open record thread in chat windowSébastien Theys
task-2171885 closes odoo/odoo#58318 X-original-commit: af6e68c2c5bd819402af0126c87f375e096c8d0d Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-23[FIX] mail: ignore `undefined` in JS fields create/writeSébastien Theys
Passing a field containing `undefined` should lead to the same result as not passing the field. Fields that relied on `undefined` as a value have been changed to use the newly introduced `clear` command, that resets a field to its default value (often that is equal to `undefined`). task-2336491 closes odoo/odoo#58308 X-original-commit: b18824485483564d2ab80f41914a3548aa528ae0 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-21[IMP] mail: reintroduce channel mentions, canned responses, commandsJulien Giannone
task-2280308 closes odoo/odoo#58166 X-original-commit: b63d0d2ee5f3bff24a5e1e1cd962d59bebef082d Related: odoo/enterprise#13392 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-21[FIX] mail: restore the "to followers" featureDidier (did)
Before this commit, the "to followers" message inside the chatter composer was missing. Fix also some padding issue. This also restore the form dialog when you try to send a message to a suggested recipient that doesn't have a partner (someone in CC email for eg). But now, suggested recipient without partner are unchecked by default and the form open when the user try to check them. If the user discard the form dialog, the suggested recipient isn't checked. This is better since only a partner will receive a notification. task-2280157 closes odoo/odoo#58160 X-original-commit: 67d151cc36871d87b92676357a31a70de5a92fce Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-17[FIX] mail: fix "New messages" separator and channel_seen behaviourXavier Dubuc
- channel_seen is now called even for own message and only when needed - channel_seen is now called with a message_id which transfer the decision of what is seen to the client which makes more sense task-2282235 task-2282248 closes odoo/odoo#57950 X-original-commit: 04edfa50ccea305050d017c4a1996e561bc7bd57 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-14[FIX] mail: no longer display unlinked attachments in chatterFrancois (fge)
Task-2337952 closes odoo/odoo#57627 X-original-commit: 55cb4a82ce2b59bc73ea05afa5971c96989b6159 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-28[FIX] mail, *: fix opens and redirects, adapt messaging menu closeSébastien Theys
task-2244279 task-2262862 task-2274993 task-2277537 task-2282238 closes odoo/odoo#56745 X-original-commit: 109f202 Related: odoo/enterprise#12761 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-28[FIX] mail, *: rename thread viewer to thread viewSébastien Theys
The "viewer" should be the "parent" not the view itself. This distinction will become important in a future commit to allow viewers to not display the view in some situations. Rename done as a standalone commit to ease diff readability. Part of task-2310623 closes odoo/odoo#56737 X-original-commit: 1b811e6a972d72de02965adda67c5b039bee023f Related: odoo/enterprise#12756 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-24[FIX] mail, im_livechat: make livechat work properlySébastien Theys
- fix traceback on receiving first livechat message due to bad computation of correspondent - fix missing [0] in return of country name_get in channel_info - fix visitor/correspondent computation to work when chatting with oneself - reintroduce livechat ordered by last message in discuss sidebar - improve mock server to make these fixes possible to test - introduce corresponding tests PR: #56243 task-2323670 closes odoo/odoo#56414 X-original-commit: f623bfd2c8819604c709bc723153c071dca6e3cc Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-21[FIX] mail: avoid unnecessary update of inverse in JS modelsSébastien Theys
Part of task-2308312 X-original-commit: 0e08e43decf18108d25d051ad76c093bcdf434db
2020-08-17[IMP] mail: improve followers refreshed on threadPriyanka Kakadiya
PURPOSE Currently it does two RPCs to refresh followers on thread: 1) To get follower ids 2) To get followers detail SPECIFICATION While refreshing followers on the thread, perform only one RPC call. LINKS Task-2243180 PR https://github.com/odoo/odoo/pull/54437 closes odoo/odoo#55989 X-original-commit: 1fd445fb55810b97ed7a6dfe694e471891c6a3bc Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-13[IMP] web, *: improve mock server and replace most mail mockRPCSébastien Theys
Improve mock server: - add support for mocked `fetch` - add support for `active_test` - add support for x2m `in` in domains - add support for default values computed from a function - implement a more natural "next id" compute - allow initial data without ids - ensure write and x2m commands integrity - improve bad data/bad commands error messages - always warn for failing RPC, not only in debug mode - fix all existing tests that had inconsistency data Other changes done in mail (or dependents) that are not just related to tests: - remove `direct_partner` from formatter result ->`correspondent` can be computed from other keys, especially `members` - fix `livechat_visitor` convertData -> only process if there is value - add `current_partner` and `current_user_id` as `init_messaging` result -> easier to mock than session - remove usage of `need_moderation` -> that was just a search indirection to `moderation_status` - adapt `partner_id` -> `res_partner_id` key in `_notification_format` -> to be consistent with field name - add name in result of `mail_partner_format` -> sometimes display_name is not the same - remove usage of `is_moderator` -> that was just an indirection to `moderation_channel_ids` Enterprise counterpart: https://github.com/odoo/enterprise/pull/11523 task-2287171 closes odoo/odoo#55854 X-original-commit: 7ba3fecb3377a720d1eb70e7515a0c45da73836d Related: odoo/enterprise#12391 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-05[FIX] mail: clean up JS relations by storing recordsSébastien Theys
Remove the support and the conversion from record to localId and back from localId to record. Part of task-2308312 closes odoo/odoo#55481 X-original-commit: fc5e8be4e65518770a281f0dffae07854d20073a Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-03[FIX] mail: speed up insert by using localId instead of findSébastien Theys
Part of task-2308312 X-original-commit: 407dc9796543a27b6695c8d4da922c13dece5b38
2020-07-31[FIX] mail: batch create/insert of JS model for performanceSébastien Theys
PR: #55261 Part of task-2308312 closes odoo/odoo#55266 X-original-commit: eded5f6372d4f1cffd1a361bd8fa7fd8f1f8ae9e Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-07-08[FIX] mail: bring back extended composer for mailing channelXavier Dubuc
task-2171877 task-2282377 task-2282382 closes odoo/odoo#54249 X-original-commit: acf8eb3e2e49c1ade638ff1f2fed4969f9944053 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-07-06[FIX] mail: fix open thread in discussXavier Dubuc
See also odoo/enterprise#11684 task-2282273 closes odoo/odoo#54141 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-06-29[IMP] hr_timesheet: Improve the usability of timesheet portalqho
1. Generic timesheets improvements - Portal /my/timesheets - Add a group bys task, date, employee - Add search in project, name, employee, task * The task column should not be visible if none of the timesheets have the Task field set - If a group by task, date, employee or project is applied, the corresponding column should not be visible 2. Timesheets from sub-tasks on parent tasks - Portal /my/tasks - Display the 'Total Hours' spent on a task at the end of the list of timesheets - Below the list of timesheets for the task, display another table detailing the respective timesheets (and total hours) of each sub-task linked to this task (= 1 table/list per sub-task) * Title should be: 'Timesheets for sub-task: xyz' * only visible if there are sub-tasks linked to this task * only visible if total hours > 0 3. Timesheets on Invoices - Portal /my/invoices - Add Project + task fields * Task field only visible if set on one of the timesheet entries * Project field only visible if there are at least 2 different projects in these timesheet entries 4. Correct visibility for the portal users - Portal users is allowed to see timesheets if the users are added in allowed portal users list in the project - When a portal user is added as the message follower of the project, the user is added to allowed portal users as well - When a portal user is removed from allowed portal users, the user is also removed from message followers closes odoo/odoo#47248 Taskid: 2201908 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-06-26[FIX] mail: discuss: unpin channel fixesLucas Perais (lpe)
FIX: use the correct API of mail.channel.py to unfollow a channel i.e.: `execute_command_leave` FIX: unpinning a channel has immediate effect on the interface chatWindows are closed, and the inbox is displayed FIX: unpinning a channel destroys corresponding chatWindows across tabs It also unpins the channel in other tabs FIX: python sends is_pinned as part of the channel_info both at init messaging and in the main bus notification That way, we can keep track of the synchronization of the pin status between JS and python task-2275000 task-2267941 closes odoo/odoo#53703 X-original-commit: d4fcc64acb2fc0c6fd9df505380f665abd8b39c4 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-24[FIX] mail: restore close of other menus on click of messaging menuSébastien Theys
task-2278830 closes odoo/odoo#53566 X-original-commit: 0407151b34da16ca54066bb15e578dc1db85f365 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-06-22[FIX] mail: consistent relations between threads, caches and messagesAlexandre Kühn
task-2171881 closes odoo/odoo#53440 X-original-commit: 80d13bb828ee75a50d8cea29046a8eb49c71948a Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-16[FIX] mail: mark message as seen only when thread composer is focusedXavier Dubuc
task-2272510 closes odoo/odoo#53088 X-original-commit: edf356c2022b3039e53e82a092fc64533f59df27 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-15[REF] mail, *: refactor messaging with OWLSébastien Theys
This commit is a significant rewriting of client-side discuss, chatter, chat window, and messaging menu using OWL. The behavior should be broadly the same, with some slight functional changes here and there. From a technical standpoint, the code of messaging is mainly organized in 2 main groups of modules: - models, which are logical entities that depict the client-side state of messaging as a whole. - components, which are in charge of displaying information from models. This refactoring also introduces new JS guidelines regarding folder structure (/static) and naming rules for JS modules. Community PR: https://github.com/odoo/odoo/pull/39023 Enterprise PR: https://github.com/odoo/enterprise/pull/6249 Task-1914207 This PR is a collaborative work by Alexandre, Julien, Sébastien and Xavier, with the precious help of Lucas to speed it up towards the end. closes odoo/odoo#39023 Related: odoo/enterprise#6249 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Alexandre Kühn <aku@odoo.com> Co-authored-by: Julien Giannone <jgi@odoo.com> Co-authored-by: Lucas Perais <lpe@odoo.com> Co-authored-by: Sébastien Theys <seb@odoo.com> Co-authored-by: Xavier Dubuc <xdu@odoo.com>