summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/xml/systray.xml
AgeCommit message (Collapse)Author
2018-12-05[FIX] mail: get systray activities for custom modelsMartin Geubelle
Getting systray activities for custom models (i.e. created with Studio) crashed. If it's a custom model, its `_original_module` attribute is not correctly set so trying to retrieve the icon based on this attribute does not work.
2018-09-13[FIX] mail, web: open systray menu dropdown in mobile.Hiral Bhavsar
Before this commit, it was not possible to open systray menus in mobile. This is due to popper.js that is wrongly dynamically positioning the dropdown menu. This commit fixes the issue by disabling dynamic positioning by popper.js for the systray menus, so that it uses ou custom styles for dropdown menu. Closes #26434
2018-09-07[IMP] mail, contacts: allow to have actions in systray elementsThibault Delavallée
Purpose of this commit is to allow having an icon redirecting to the activity summary view in the partner activities section of systray. This is done by supporting an additional 'actions' list in the activity data given to the systray. It displays small icons that redirect to an Odoo action given its xml ID. This commit is linked to task ID 1882545 and PR #26797.
2018-08-17[IMP] mail: Add some missing aria attributesLuis González
Some aria HTML attributes were missing, and are desirable to provide a better experience for screen reader users. The following attributes are included: - `aria-pressed`: Used in buttons whose function is toggled when pressed. In this case, it is added on the button to follow/unfollow a record. - `role`: used to improve given information about what elements are for. In this case, it is added in the following cases: 1. Buttons to apply filters (e.g. to filter conversations) are set to role="tab". These buttons have the class `o_filter_button`. 2. Elements who are not buttons but have the class `dropdown-menu` are set to role="button". Closes #25667
2018-07-27[REF] *: BS4, 'pull-left/right' -> 'float-left/right'qsm-odoo
2018-07-27[REF] *: BS4, adapt the badge component structureqsm-odoo
The '.badge' elements must now also use the 'badge-pill' class to get the same style as before as '.badge' elements without it are meant to replace the old 'label' component.
2018-07-27[REF] *: BS4, adapt dropdowns and caretsqsm-odoo
- The dropdown structure was simplified, allowing to get rid of the 3-levels structure induced by <ul/> elements and dropdowns can now contain anything. The class 'dropdown-item' is now mandatory for each dropdown clickable element. The class 'dropdown-item-text' can be used to add same padding and style but without making the element have a clickable look. - Dividers now use the class 'dropdown-divider' - The way dropdowns are opened and hidden also changed (before the 'open' class was added on the `.dropdown-menu` parent, now the 'show' class is added on both the `.dropdown-menu` parent and the `.dropdown-menu` itself). - JS-wise, no click event handlers can be put on `.dropdown-toggle` elements anymore (instead, use handlers for dropdown events). - Carets are automatically put on `.dropdown-toggle` elements, so this commit replaces the `.caret` elements with this. This feature was possible to disable but would prevent us from adding a caret with scss. Also, this simplifies the DOM. The 'o-no-caret' class was also introduced to allow using the 'dropdown-toggle' class on non-caret elements. - Also adapt the scss to use $caret-width instead of $caret-width-base
2018-07-27[REF] *: BS4, rename btn-default to btn-secondaryqsm-odoo
BS4 "btn-default" class was replaced with "btn-secondary", which makes more sense.
2018-07-27[REF] *: BS4, remove the use of btn-smqsm-odoo
Odoo made the bad choice of using the 'btn-sm' class for every button instead of configuring the padding for default 'btn' to be smaller. In BS4, the style of btn-sm is actually more complex, lowering the font-size too. Also, btn-xs was removed so we would not have the possibility to display smaller button than our default ones. This commit removes btn-sm wherever it was used. Unfortunately, this might remove it at some places where it made sense but this can be restored in a second time.
2018-07-04[FIX] Syntax of icons (#25577)kujiu
Description of the issue/feature this PR addresses: Accessibility improvements forbids the use of the syntax `<i class="fa fa-check"/> Some text` to create a labelled icon. But, by this, some fonts are changed. Desired behavior after PR is merged: The old syntax can be used.
2018-07-02[REF] mail: JS mail refactoringAlexandre Kühn
---------------------- Summary ---------------------- The purpose of this commit is to improve the JS code of the `mail` module. It applies the new coding guidelines and makes some changes on the design of some modules, such as the old ChatManager module. Here is a short summary of the changes that have been made: 1. New coding guidelines - snake_case to camelCase - prefix private attributes and methods with '_' - jsdoc on most methods - one class per module 2. Rename/Merge some classes - 'chat manager' becomes 'mail manager' (internal) and 'mail service' (external) - 'chat window manager' is now included in mail manager - 'thread' widget now named 'thread widget' 3. New model abstraction for mail objects: - modules 'mail.model.*' - modeling: 0..1 0..1 * * ThreadWindow <------> Thread <-------> Message / \ / \ Thread With Cache Document Thread / | \ / | \ Mailbox Channel Support Channel | | DM - Thread: the superclass of threads. - ThreadWindow: the window component of a thread. - Message: mail objects representing messages. - Thread With Cache: threads that can be used with search view (Discuss app compatible). - Document Thread: represents the thread part of a chatter. - Mailbox: represents what was previously called 'static' channel, e.g. 'Inbox'. - Channel: mail objects representing channels, including livechat. - DM: special kind of Channel for 1:1 communication in the backend. - Support Channel: special channel for im_support module. This new modeling approach let us easily add features on all threads, such as the possibility to put any thread in a small window. ---------------------- Known issues ---------------------- [Already Present in Master] 1. When the Discuss app is in the background with 'Inbox' as the selected Thread, when clicking on a document thread preview in the messaging menu of the systray, the rainbow man appears. 2. When a document with the chatter is in the background, when receiving an inbox notification from this document thread, the document thread is automatically marked as read, which removes the notification right away. 3. Sometimes, opening a DM window from the "blank" thread window does not work. 4. Reply-to feature on Inbox is not working: no message is sent in the document thread. 5. On the first login of admin user with demo data, the inbox counter is wrong (it displays 6, instead of 3). Explanation after investigation: > On page load, it fetches the correct number of Inbox messages (3), but the server notifies of 3 needaction messages right away, so it wrongly assumes these are new needaction messages. > Not possible for web client to detect that these messages should not increment the Inbox counter while keeping same API. 6. Notifications for new document thread messages only work when the user sets 'handle with Odoo' for the Notification Management in the preferences. > due to notifications on the longpoll bus for document thread messages that come from needaction notifications. > requires server-side changes to send notification on the longpoll bus to mentionned user. [New] 7. When receiving a message on a unjoined channel, thread window flickers ('open' > 'close' > 'open') Explanation after investigation: > JS logic: a) On auto-join, ask server to join the channel and get channel infos. b) The info tells the channel is not detached, but JS code makes decision to detach it, and tells server the channel is now detached. c) From (a), server notifies on longpoll bus the state of channel, which is not detached. The web client thinks that the window state of the channel has been changed somewhere else, and the channel is now closed. d) From (b), server notifies on longpoll bus the state of channel, which is detached. The web client opens the thread window of this channel. > The flicker didn't occur before refactoring because the web client was only updating the model of channel when it receives the longpoll notification. > Server behaviour on 1st longpoll notification is necessary for cross-tab synchronization for channel window state. > New design implies that model and view should be synchronized, hence the issue now. > Solution: remove server-side thread window synchronization and replace with client-side synchronization. ---------------------- Hacks ---------------------- The module `im_livechat` now uses mail objects that are compatible with Message and Window objects: Modeling for messages: AbstractMessage / \ / \ LivechatMessage Message - AbstractMessage: message compatible with the thread widget. - LivechatMessage: message used by im_livechat. - Message: message used with the mail manager. Modeling for thread windows: AbstractThreadWindow / \ / \ LivechatWindow ThreadWindow - AbstractThreadWindow: behaviour share between all types of thread windows. - LivechatWindow: window used by im_livechat. - ThreadWindow: window used with mail_manager. The reason for these hacks are twofold: 1. Use the thread widget in the frontend and livechat external lib bundles. 2. Do not have a dependency with the mail manager in the frontend and external lib bundles.
2018-06-22[IMP] Improve compatibility with screen readers (accessibility) (#24574)kujiu
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable. This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader. * [IMP] Labels must have a for attribute. Improve accessibility. * [IMP] Better error message when trying to read a missing cached value * [FIX] Add some aria-label and title attributes for screen readers. * [FIX] Template name is not included in the error message in case of SyntaxError in QWeb * [FIX] Improve the Tour failed at step error message to be more explicit. * [IMP] Add aria-labels * [FIX] Add missing aria-label on failing test * [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all. * [IMP] Color names on kanban views and many2many tags * [IMP] Add some checks on views for accessibility. * [IMP] Add `alt` attribute on `img` tags. * [IMP] Add aria-label and title on non-described icons * [IMP] Add button role to widgets with btn class * [IMP] Translate aria and formatted attributes. * [IMP] Remove wrong aria-labelledby * [IMP] Add menu role on dropdowns * [IMP] Buttons must be focusable * [IMP] Add aria attributes on progress bars * [IMP] Improve accessibility of basic widgets * [IMP] Change main layout to more semantic tags * [IMP] Add menuitem role when missing * [IMP] Remove wrong role='presentation' * [IMP] Improve accessibility of tab panels * [IMP] Add aria-invalid on invalid fields * [IMP] Add aria-sort on ordered columns * [IMP] Add role on alerts * [IMP] Use dialog role, header, main and footer tags for modals * [IMP] Add labels on o_status * [IMP] Improve accessibility of kanban view with feeds and articles * [IMP] Add alerts in case of new messages * [IMP] Add widget, navigation or img role to aria-labelled items
2018-05-31[IMP] mail, calendar: add today meetings in systrayBarad Mahendra
Purpose of this commit is to display today meetings in the systray. This will help people in their daily job to have quickly access to their meetings. It is displayed along with activities and reminders to have all current work to do in the same place. Displayed meetings are ongoing or not yet started ones of the current day. All-day meetings of the current day are also shown. Done meetings are not displayed to lessen noise. Clicking on the systray will open the calendar view of meetings in a day mode. This is done by a small modification in the calendar view allowing to choose the display mode from context in addition to the mode attribute of the action definition. This commit is linked to task ID 60593. Closes #24438. Thanks to @ged-odoo for quick reviewing.
2018-04-18[REF] *: get rid of introduced @​extendqsm-odoo
During first scss convertion, classes called as mixins were changed to an @​extend instruction which was the best approximation given the fact there is no equivalent in sass to do that. The problem is that the instruction is slowing the scss computation a lot and might also break the style in unexpected ways because of the complex unwanted selectors the instruction induces. This commit removes the need of extends. This is done case per case. Sometimes this involves adding classes in xml, sometimes to change the style a little, ... The button rendering refactoring which was made at the start of the LESS to SASS merge was also done in prevision of this. After this commit, sass computation is like 5-6 times faster than less computation while it was like 10 times *slower* before this commit.
2018-04-09[REF] mail, note: move reminder feature from mail to noteDharmang Soni
This commit refactors f488dc58c37fdc7fd49df759165de641e213444b that added reminder feature in activities. After merging it was suggested specifications were not correct and it has been decided to move the whole reminder feature in note. Reminders are now notes instead of activities. Now when having note appµ systray proposes to create a note / reminder. A note.note record is created with info given by the user. If a date is given in the systray quick create then an activity is scheduled on this note. This means user can create records in activity systray that are not activities but notes used as reminders. Those will use the first availableµ note column for the user. As reminders are now notes the support of activities not linked to any document is removed, as well as archiving activities and tests linked to that behavior. This commit has been not carefully tested nor in-depth reviewied. It is considered as too important for the upcoming freeze. This closes task ID 1833628. Closes #24129 . Many thanks to @dpr-odoo for its quick development and good work on this task.
2018-03-27[IMP] mail: allow to use stand alone activities as remindersDharmang Soni
This commit allows to create personal reminders and to manage them using activities. It is done using activities not necessarily linked to a record but only to a user. Reminders can be used for example as a personal todo list. Technically we choose to model a reminder as an activity related to no record. This means having a void res_id and model. An activity type is added to classify reminders in it. Settings reminder as done is not done like classic activities. Indeed classic activities are unlinked and a message is logged on the related document. As there is no document for reminders those are archived instead. It means an active field is added as well as an override of toggle_archive to update systray counter. Activities systray widget is improved to display reminders in activities list. This entry leads to a kanban view of activities allowing their management. It is also possible to create them directly from the systray allowing a quick creation of reminders. This commit is related to task ID 41745. Closes #22143 . Co-authored-by: Dharmang Soni <dpr@odoo.com> Co-authored-by: Xavier Dollé <xdo@odoo.com>
2017-10-02[FIX] mail: 'chatter app icons', restore design prior to 7a91d87stefanorigano
This commit will restore the chatter App icon design defined for v11 and accidentally removed on 7a91d87. Apps icons should NOT have a circular shape in order to keep branding consistency.
2017-09-15[IMP] im_livechat, mail: Discuss UI in mobileAaron Bohy
- Extract mobile specific code for the client action to a specific file - Massive clean of less rules - Unify channels preview of the systray dropdown and the mobile UI of Discuss - Ensure to only load the last message of each channel in mobile, as this is not used in desktop (unless the user opens the systray menu) - Make livechat available in Discuss mobile UI
2017-09-15[IMP] mail: improve Discuss UI for mobile devicesDharmang Soni
- Brand new UI for Discuss client action (with tabs for Inbox, chats, channels...) - In mobile, conversations always open in Chat Windows - Chat window UI improved (both mobile and desktop) - Channels preview (used in the systray menu, and now in the mobile UI of Discuss) improved - Other minor less tweaks
2017-09-05[REF] mail: introduce new chatter/discuss designstefanorigano
- Improve overall design - Better use of UI colours - Replace planned activities icon - Vertically align kanban icons - Remove the 'bell shtcut' and followers caret - Use a mixin to style the chatter (inline, not inline, compact)
2017-07-05[IMP] mail: ease activities management by adding a shortcut-counter in top menupgu-odoo
This commit improves the use of activities through various applications by adding a counter of activities displaying next activities grouped by application. For each application activities are divided into late, today and future activities in order to achieve a better management. This commit also merges Inbox and Messaging icons in topbar to keep only one displaying All / Chat / Channels messages.
2016-05-04[MERGE] forward port of branch saas-10 up to 1e86774Christophe Simonis
2016-05-04[REF] mail,web: unique Spinner template in base.xmlAaron Bohy
2016-05-03[FIX] mail: escape author name in messaging menuAaron Bohy
2016-02-01[FIX] mail: systray: move Inbox counter to its own itemAaron Bohy
Clicking on that item redirects to the Inbox in Discuss. The messaging menu's counter is now the number of conversations (public or private channels, dm and livechat) in which there is at least one unread message. Moreover, it is emphasized when one of those conversations is a chat. Also make mass-mailing channels available through the messaging menu (for consistency as its counter takes those channels into account) and allow to open them in chat windows without input.
2016-01-14[IMP] mail: open dm shortcut from in navbar dropdownAaron Bohy
Allows to directly open a dm channel from a chat window, without coming back to Discuss.
2016-01-14[IMP] mail: navbar: messaging menuAaron Bohy
The navbar notification is now a dropdown containing a preview of all pinned channels (except Inbox and Starred), channels with unread messages being on the top. It allows to quickly detach a channel without going back to Discuss. The channels preview fetching is performed only once, and it is done in background without blocking the whole UI (using shadow option or session.rpc()). Also fixes a synchronization problem between server and client about the folded state of channels (the info wasn't stored client side, so it produced weird situations, e.g. unfolding a channel didn't actually unfold it).
2016-01-14[IMP] mail: move 'New message' button from navbar to InboxAaron Bohy
2016-01-13[FIX] mail,web: : untranslated term in viewMartin Trigaux
_t(...) in xml qweb views do not work, not exported, not evaluted. No reason to use t-att-*, just using simple attribute is enough.
2015-10-16[FIX] mail: font-family of notification counter in systrayAaron Bohy
On firefox, the font-family of the counter was font-awesome instead of Roboto because the counter was inside the <i> tag on which font-awesome rules applied. This rev. simply moves the counter out of that <i> tag.
2015-10-01[REF] mail: second part of the chat refactoring (client side)Géry Debongnie
Joint work with aab