summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/xml/web_kanban_activity.xml
AgeCommit message (Collapse)Author
2020-08-18[FIX] mail: fix activity scheduling dropdown overflowAymane (ayt)
The dropdown for scheduling the next activity was overflowing inside the container div. After this commit, the dropdown is now attached to body element. In other terms, the pop-in window to schedule an activity in the web kanban activity widget is now visible (and not displayed anymore under previous line in the widget tree view). Task ID:2301262 closes odoo/odoo#56072 X-original-commit: 5ca624605571f79d1bca27c9a40286722c2a801b Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-06-11[IMP] crm: improve onboarding tour of module CRMPierre Collinet (pic)
Add an autocomplete for opportunity name. If no name is set when a customer is selected set the name partner_id.name's Opportunity Change help title and subtitle to be more explicit. Change title from "Create an opportunity in your pipeline" to "Create opportunities to keep an eye on all your ongoing sales talks." Concerning subtitle, if a valid and active email alias is found : Emails sent to ALIAS@address automatically create opportunities. Improve crm onboarding tour text messages and display. Change menuitem from Teams to Team Pipelines to be more explicit. Update the corresponding act_window name in the sales_team module. Make the "schedule an activity" button bigger (100% of the div) and highlight the entire Schedule button box. Update test tours accordingly. Since quick create opportunity form is updated the tests were failing. Reason is a trigger on input:first trying to detect the field "name". This is not the case after this commit's changes. Task ID 2226563 Community PR #51587
2020-06-10[IMP] mail: few improvements on activity widgetHiral Bhavsar
PURPOSE Display the activity type through the icon of the widget and change the place to display to whom the activity is assigned (if it is not assigned to the current user). SPECIFICATION Display the deadline with a prefix as responsible if the activity assigned to another user than the current one (uid). Add a new 'activity_type_icon' field to the mail mixin to get the 'icon' of the type (fa-phone, fa-users, etc...) and for the list_activity widget, display it as an icon instead of the default 'fa-clock-o' icon. LINKS PR https://github.com/odoo/odoo/pull/52252 Task-2267579 closes odoo/odoo#52252 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-05-19[IMP] mail: display activity summary in dropdownPriyanka Kakadiya
PURPOSE Currently, the activity dropdown displays the activity types of activities. The goal is to display the activity summaries instead, and fallback on the activity type if there is no summary set. SPECIFICATION In the activity dropdown, display the activity summary instead of the activity type. Only display the activity type if there is no summary set on the activity. A long summary will be ended with a ellipsis. Here, handled a long summary for chatter, list, kanban, and activity views. LINKS Task: 2254893 PR https://github.com/odoo/odoo/pull/51438 closes odoo/odoo#51438 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-05-05[IMP] mail: add ListActivity widgetAaron Bohy
This commit adds a tweaked version of the kanban_activity widget for the list view. This widget displays the summary of the next activity (and fallbacks on the activity type if there is no summary). It can be set by defining widget='list_activity' on field activity_ids. Part of task 2195254
2019-12-09[REV] web: reverts update to fontawesome 5.11.2Kevin Baptiste
This reverts commit ff1c35513aecef5fbc30f7c2f3834450e719714e. closes odoo/odoo#41480 X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc Related: odoo/enterprise#7110 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28[IMP] web: update to fontawesome 4.7.0 to 5.11.2Kevin Baptiste
FontAwesome 5 introduced new names for some icons as described on https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes This commit replaces the old names to the new ones. closes odoo/odoo#35826 Taskid: 2050241 Related: odoo/enterprise#5180 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-07[IMP] mail: better exception activity handling in kanban and treeMitali Patel
The purpose of this task is to add a visual indicator on kanban and list views when there is an exception activity on a record. To do so, two fields have been added on the activity mixin that determine if the record has an exception activity and its corresponding icon. When there's an exception activity, the next activity icon is different in the kanban and in the list view, the icon is displayed at the end of the column with no label. Prefetching all activity_type_ids in compute will allow to lessen queries (3 query for this compute) and cache may benefit to other mail.activity.mixin computed field, like activity_state in kanban view Task 1889379
2019-02-13[IMP] web, *: remove explicit references to `session_id`Martin Geubelle
Since rev. odoo/odoo@f4d541e the `session_id` cookie uses the `httponly` flag so it cannot be accessed through client side script. But before this rev. the `session_id` was still provided by the server to the webclient (in session_info, mostly) and was stored and accessible. This made XSS injection more dangerous than they should be as it was very easy to steal the `session_id`. As the browser automatically set the `session_id` on every request to the server, the webclient shouldn't need any explicit reference.
2019-01-17[IMP] mail: upload a file to mark activity as donejem-odoo
This commit introduces the "upload file" activity type category. For an activity of that time, uploading a file will mark the activity as done (and maybe create the forced next activities). This activity type is seen as a shortcut to upload a file with a reminder. Task-1915004 closes odoo/odoo#29861
2018-12-28[IMP] mail: Modify activity templates to ease inheritancesed-odoo
These templates are supposed to be modified by a new approvals application in the enterprise repository.
2018-12-12[IMP] mail: clean activities access rightsSébastien Theys
This commit improves code of access rights checks when creating or updating activities. Several points triggers this commit * we would like to use _filter_access_rules and override it on activities model in order to be more standard; * we would like to get rid of sudo used in various CRUD overrides as using standard ORM method allows to correctly use current user; * we would like to get rid of create_user_id field once we can keep the current user as create_uid; Access rights are a bit updated. They are now the following * you can create activities for documents like posting messages (using _mail_post_access attribute; if not defined, write access on document is required); * you can read activities for documents you can read; * you can write and unlink activities either following the defined access rule (created OR assigned), and otherwise like posting messages ( using _mail_post_access attribute; if not defined, write access on document is required); In this commit we also hide edit / mark as done / cancel buttons for activities the current user cannot modify. This commit is linked to task ID 1856417 and PR #27619. Co-Authored-By: Sébastien Theys <seb@odoo.com> Co-Authored-By: Thibault Delavallée <tde@odoo.com>
2018-10-23[FIX] mail: schedule an activity button not visible in mobileAdrien Dieudonne
Before this commit, text color was in grey because of a css inherited rule applied by Bootstrap when there is no href attribute. In mobile, text color was in white as the background and it was not possible to see the text. Now, we transform this link into button to restore the previous behavior and keep it visible in mobile. closes odoo/odoo#28061
2018-09-18[REF] mail: activities list, ‘mark as done’ sliding panelsri-odoo
Refactor ‘mark as done’ popup JS in order to use a sliding panel layout instead. Sliding panels are currently needed in kanban views, where activities are listed in a dropdown that can't handle popups because of CSS overflow and lack of space. Since this new system check for default bootstrap data-toggle attributes, it could be easily used elsewhere changing the buttons's data-toggle and providing the necessary container for the “mark as done” form.
2018-09-18[IMP] mail: add force_next on activity typeXavierDo
A new field on activity type allow to change the behaviour of mark done & schedule next: -marking as done will automatically schedule the next activity, based on the default_next_activity. -It should also be impossible to edit an activity when this flag is on. task: #1884521
2018-08-20[IMP] mail: refactor activity.js and add some testXavierDo
activity.js was a little dirty with a lot of copy paste. Most of the common logic is now in a BasicModel. This commit also add some tests on activity view Co-authored-by: RomainLibert <rli@odoo.com>
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-08-10[IMP] mail: add feedback option to kanban activitiesRomainLibert
In the kanban view, there was no possibility to add a feedback when closing an activity this commit adds the same popover as the one we have in the form view. This commit also add the templates to this popover with the possible to directly send the template or open the composer. Task #1870662 Closes #26280
2018-08-07[FIX] mail: BS4, restore activity popoverqsm-odoo
Adapt SCSS which was BS3-specific and remove misuses of the dropdown-item class. Closes https://github.com/odoo/odoo/pull/24419
2018-07-27[REF] *: BS4, 'pull-left/right' -> 'float-left/right'qsm-odoo
2018-07-27[REF] *: BS4, review the 'nav' and 'navbar' componentsqsm-odoo
Now the nav structure is more declarative: the 'nav-item' and 'nav-link' classes have to be put on related nav item and links. Also, the 'active' class has to be put on links instead of items. Same as for the navbar component: - The navbar structure was simplified and meant to be more declarative. - The navbar colors are also now handled by a different set of classes. The 'nav-stacked' class was removed and replaced by flex utilities. The set of classes for colors and nav styles also changed.
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-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-25[IMP] mail: improve usability of activitiesDarshil Trivedi
This commit improves the daily use of activities through some small updates * on hover of clock icon in kanban card display tooltip. Purpose of this change is to clarify meaning of colors displayed in kanban view. Otherwise just havign a color is not very meaningful; * add days string in planned in column; * add space between number and days in planned in field; This commit is related to task ID 1838315.
2018-01-15[IMP] crm: onboardingRomainLibert
- Add missing tour stage in crm creating opportunity and minor fixes - Label, Placeholder and Tip IMP - Restrict Create new sales channel - No Content Help Improvements - Schedule Activity Button Layout Change - Chatter Log IMP
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-08-30[FIX] web, mail: kanban activity dropdown and button designsqsm-odoo
2017-05-02[IMP] mail: spacing around the next activity iconFabien Pinckaers
2017-04-11[REF] web, *: redesign all JS viewsGéry Debongnie
This commit introduce a full redesign of all JS views. We started basically from scratch. The goal was to unify all the various views under a common framework, to make them testable, to make then usable in different conditions (in studio, or in the frontend), and to make our lives easier. Some important points are: - we introduced new coding guidelines (camelCase, 80 chars width, ...) - we have a brand new testing framework (still QUnit based) - kanban view moved to the web addon - calendar view (formerly web_calender) moved to web as well - the tree view was removed - all new code should be documented We hope that this code is the start of a new era for the Odoo web client, we want to have a high quality codebase, well documented, well tested, well designed. Work done by the framework team: mostly aab, ged, chm, dmo, qsm
2016-12-21[IMP] mail: add activities allowing to define next actions on various modelsRavi Gadhia
This commit introduces generic activities to use in your addons. Activities are actions user have to take on a document like making a phonecall or organizing a meeting. Activities come with the mail module as they are integrated in the Chatter but are not bundled with mail.thread. New models are * mail.activity.type: used to categorize activities. Each type is a different kind of activity e.g. call, mail, meeting. An activity can be generic i.e. available for all models using activities; or specific to a model in which case res_model_id field should be used. * mail.activity: an actual activity to perform. Activities are linked to documents using res_id and res_model_id fields. Activities have a deadline that can be used in kanban view to display a status. Once done activities are unlinked and a message is posted. This message has a new activity_type_id field that indicates the activity linked to the message. This commit introduces a mail.activity mixin to use in various addons that enables the activities feature. It works like the mail.thread mixin. It defines a activity_ids one2many field toward activities using res_id and res_model_id. Various related / computed fields are also added to have a global status of activities on documents. Activities come with a new JS widget for the form view. It is integrated in the Chatter widget although it is a separate widget. It displays activities linked to the current record and allow to schedule, edit and mark done activities. Use widget="mail_activity" on activity_ids field in form view to use it. There is also a kanban widget defined. It defines a small widget to integrate in kanban vignettes. It allow to manage activities directly from the kanban view. Use widget="kanban_activity" on activitiy_ids field in kanban view to use it. Next commits will aim at integrating activities inside main Odoo addons. Thanks to R&D India for their work and testing on this task. Thanks to belgian Usabiliteam for reviewing and testing it. Thanks to @jem-odoo for the final review. May his soul lie in peace with the trumpets of paradise.