summaryrefslogtreecommitdiff
path: root/addons/mail/data/mail_data.xml
AgeCommit message (Collapse)Author
2019-01-09[MERGE] forward port branch 12.0 up to 3e4138deaa2Christophe Simonis
closes odoo/odoo#30045
2018-12-31[FIX] mail: Wrong message when closing activitiesJorge Pinna Puissant
opw-1916935 Before this commit, when a next activity was closed, the message said that the action was performed by the assigned person. Now, the message say that the action was performed by the person who closed the activity. closes odoo/odoo#29678
2018-12-12[MERGE] forward port branch 12.0 up to 047e2b28de4Christophe Simonis
2018-12-10[FIX] mail: model descriptionNicolas Martinelli
Do not use the model `_description` field which cannot be translated. Use the `display_name` of the corresponding model instead. Moreover, `<t t-esc="'%s' % model_description or 'document'"/>` gives `'None'`, while `'document'` is expected. This adds a query to some tests, which is expected since `display_name` requires information stored in the DB, while `_description` is defined at the Python level. opw-1908420
2018-11-16[MERGE] forward port branch 12.0 up to bc744a1da46Christophe Simonis
2018-11-06[MERGE] forward port branch 12.0 up to dd70c684268Christophe Simonis
2018-11-06[FIX] mail: no company printed in footerJulien (juc) Castiaux
In a multiple company account, when a parter is doesn't have a company, the mails he revieved have "Send by using odoo" as footer. This PR correct that by setting the footer to "Send using odoo" when there is no company. opw-1894825
2018-10-26[REF] mail: rename blablebluThibault Delavallée
Some people do not understand the old forgotten langage coming from R'yleh sub-city of Helk'Yizrk. Let us use standard naming then. closes odoo/odoo#28196
2018-10-22[MERGE] forward port branch saas-11.4 up to 3c108977c1eChristophe Simonis
2018-10-22[MERGE] forward port branch 12.0 up to b81c2bce846Christophe Simonis
2018-10-09[IMP] mail,crm,...: Replace occurences of name_get()[0][1] by display_nameTWA
Purpose ======= display_name is equal to doing name_get()[0][1] Replacing name_get()[0][1] by display_name could be good for 2 things: - Uniformization of the code - Probable optimization if name_get is used inside a for loop on a recordset (as the values will be prefetched and put in the cache). TaskID: 1849250 closes odoo/odoo#26341
2018-10-02[FIX] mail: make guideline template a qweb viewXavierDo
The mail template mail_template_channel_send_guidelines should only be used from send_guidelines action. Anyway, with mail_template on activity and all demo done to show this mechanic on contacts, trying to render this one will generate a traceback. This fix transforms the mail_template to qweb view so that it won't be available in mail template.
2018-09-19[IMP] various,sale: improve sign, pay and rejectSébastien Theys
Flow ==== Have one model field responsible of telling when the sales order has to be signed or paid to avoid inconsistencies. The general rule is: sign & pay are only used upfront to confirm a sales order. If a sales person starts to modify (confirm) it manually, we don't need those features. Especially at that point pay should be done with invoices. Modal ===== For the sign, we want to force refresh the page to update its state, and thus we need to show the confirmation message on the reloaded page. For sign and pay, we changed a bit the structure of the text in the modal to allow to translate it more easily. Also fixed the payment selection by moving it into the body instead of the footer. For the reject modal, we want the feedback field to be required, so we can see in the chatter by who and why it has been rejected. Misc ==== Moved remaining bits of code related to preview/pay/accept/decline from sale_management into sale, where it should have been in the first place. Sales Order: - Improved status/contextual alerts. - Hide discount from small to fix responsive. PR: #26801 task-1876864 remove sales help
2018-08-23[IMP] base: add regular user admin as uid 2Raphael Collet
User 1 simply becomes a technical user (inactive, no password).
2018-08-17[REF] mail,im_livechat,digest: rename 'chat_client_action' to 'Discuss'Alexandre Kühn
Revision on https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498#diff-6d76770b1b7cf716d60a4d76a1555c1d The commit above mostly renamed 'Client Action' to 'Discuss', but there were some leftovers.
2018-08-03[FIX] mail: button are now translatableFabien Pinckaers
[IMP] mail; various CSS issues
2018-08-03[IMP] Portal - Share link : Easily share the url of a documentMitali Patel
Purpose ======= - Quickly share the url to someone else (a client, a colleague,...) - Ensure that the recipient can access at least the portal view of the shared record. - Typically used when a client cannot retrieve the mail to access his order. The share link can be used in this case. Specifications ============== For any object inheriting form portal.mixin: - Add a button SHARE (not visible in edit mode) - When clicking on this button, a popup opens with : - A warning message for tasks and projects only (see below) - the link (like in gmail) that can be copied - Recipients - mail composer (with preselected template) ==> see below - button [Send Link] [Copy Link] Discard - After sharing document, put internal note like "Document shared to xyz,...." with template message - Anyone with the link, even anonymous user (not logged in) can have access to the document with the access token provided in the url. Impacted models: - account.invoice (Community) - project.project (Community) - project.task (Community) - purchase.order (Community) - sale.order (Community) - helpdesk.ticket (Enterprise) Warning messages and access rules: Allowed : - SO canceled or draft will be accessible with the link with access_token - If the customer account is B2B (signup not enabled), the recipient will anyway see the document as the user specifically wants the recipient to see the document. Restrictions : - For Project and Task, if the privacy is not public, then, there is a contradiction between the access_token mechanism and the privacy of the document. - A warning message will be displayed in the share wizard to inform the user if the document cannot be visible by the recipients and to ask him to set the privacy to 'Visible by following customer'. The send button will, in that case, be hidden. - To avoid to block the share for a new project, default privacy value is now set to 'Visible by followong customer' Technical implementation ======================== - Move the access_token mechanism (field + methods + mail controller) to the portal.mixin to be able to use it in a generic way for each object inheriting the portal.mixin - Generalise a part of the _*model*_get_page_view_values method into a single one in portal - Generalize the _*model*_check_access into the portal controller of the portal module - Remove the init_column + default value for the access_token > old records have an access_token, > new one won't but it will be generated on demand via the get_access_token Done for performance reasons - Add share button into action menu separately. + kanban view context menu (except for task and project where button not in action menu but 'simple' button for task and project because other modules already provide action to send documents by email, which is not the case for project and task.) - Add a sign_token used to authentify the recipient in the portal view chatter, if any. The message will be posted as if the user was logged in. - Set the _get_share_url as private for security reason - Add a redirect parameter to _get_share_url to get If false : The direct portal view url If True : The redirect url (mail/view/?) - Cleaning up unnecessary code - Bug fix : - Before, if user was not logged and record had partner_id, if partner id was null, post message was done as admin. Now, the post message is done as public user. - If the user had an uid but had no access_token, he could be able to gain the access token of the record. check_access_rights was missing in the get_access_action. Task ID : 30985 Closes #25629
2018-08-03Revert "[FIX] mail, sale: button texts are translatable"Thibault Delavallée
This reverts commit c4af8f95d0a447e9fc4e1f63d25cd88bca9e1abe. Break master, not tested, blocks other pending merges.
2018-08-03[FIX] mail, sale: button texts are translatableFabien Pinckaers
[IMP] mail: improve email templates and simplify DOM
2018-08-03[IMP]: mail layout CSS fix on buttonFabien Pinckaers
2018-07-27[IMP] mail: notify people when another user assigns them on an activityThibault Delavallée
When someone assigns an activity to another user it is a good idea to notify this user a new activity has been assigned to him. This is done using the message_notify method that sends a notification either in the Inbox either by email depending on the user preferences. This commits is linked to task ID 1854820. Closes PR #25265.
2018-07-27[MOV] mail: move template used for notification to dataThibault Delavallée
As those are technical views used as data when sending some notifications they should not be in the templates.
2018-07-24[IMP] mail: clean record name displayed in notification email and update ↵Mitali Patel
font size Purpose is to avoid having '/' in record name. This is generally considered as being an URL and leads to a specific display in most email readers. In this commit we therefore remove '/' by '-'. A use case is the name of payment receipts. Font sizes in light notification template are also standardized to 13 and 11 px to better match the chatter layout. Emails are still bioutifoul. This commit is linked to task ID 1843376 (and 1868112) and to PR #25349 (and #25889).
2018-07-19[IMP] mail: add a new payment-specific notification templateThibault Delavallée
This commit introduces a new notification template. Its target is to be used when sending payment-based templates like 'Send by email' for sale orders, invoices or purchase orders. Purpose is to separate the template content (payment information) from the payment button (Pay and sign online) when sending those documents by email. Composer and chatter should not hold the button. It should be added only in notifications emails. Technical solution is to have a somewhat-generic template available in mail to be used in some specific actions. Another solution is to hide the button but it breaks if people edit or remove the hidden content when editing the mail in the composer without knowing it. As the button is mandatory in those actions we choose to have it added by the notification email. Future commits will gradually use this template in some addons. This commit is linked to task ID 1860049 and PR #25824.
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-08[IMP] mail: update light notification template for a cleaner designPratima Gupta
* increase logo size, because big logos are necessary; * correctly set cellpadding / spacing to 0 to avoid loosing some pixels when having several embedded tables; * remove summary mail_notification as it should be used only to some customer-specific part of emails; This commit is related to task 51122 (and PR #24052).
2018-06-06[IMP] mail: add moderation on channelsMathieu Duckaerts-Antoine
Purpose of this commit is to allow moderation on incoming messages in discussion channels. On some channels on which moderation is required messages should be in a pending moderation stage. Moderators can accept or refuse messages as well as always allow or ban messages coming from a given set of emails. Channels now have an option to be moderated. Moderators can be added on channels. They have access to a specific UI in Discuss to see and take action on messages waiting for moderation. Concerning mail.thread message that are pending moderation are not notified. It means nobody receives a notification about them. Moderation process calls the notification once the message is validated. Various features included in this commit : * a model is added to store the decision about emails, allow or ban; * access rights are updated so that only moderators can modify moderation fields on message; * specific bus notifications are send to moderated people as well as to moderators on incoming emails as well as when a decision is taken; * options are added on channels to send explanations to moderated emails; * options are added on channels to write and send guidelines explaining why and how moderation is performed; * a reminder is send daily to moderators with remaining messages to moderate; * discuss UI is adapted and a new channel is added below Inbox and Starred giving access to moderation tools; * chanenl UI is adapted allowing to moderate directly inside channels; This commit is linked to task ID 29521. Closes #21921.
2018-05-22[MOV] mail: move crons into their own data fileMathieu Duckerts-Antoine
Purpose is to avoid mixing various data types in the same generic mail_data file. We already have 2 crons and the upcoming moderation feature will add some more. Let us put them in their file to ease the finding. This commit is linked to task ID 29521.
2018-04-10[IMP] mail: do not follow activities by defaultThibault Delavallée
Activities are quite personal and linked to daily jobs of people using it. Being notified of all activities is therefore not considered as default behavior and should be a choice done by users. Subtype linked to logged activities is now not followed by default anymore. It is still configurable through subscription widget or parent subscription (project/task for example). This commit is linked to task ID 1824141.
2018-02-20[IMP] mail: add new classy layout for email notificationsThibault Delavallée
This commit adds a new QWeb layout mail_notification_light. It is a new lighter template using more modern styling. Its purpose is to be used as a basis for all future templates used in notification mechanism (chatter, sale orders, ...). During some time all templates will exist separately. Future commits will gradually improve or add various notification mechanisms. This new template will gradually be used more often in order to replace old ones. Thanks to @est-odoo for its in-depth testing of the template.
2018-02-12[FIX] mail: fix wrongly QWeb-converted bits of notification emailsThibault Delavallée
Notification emails now use QWeb to be rendered instead of jinja-based mail.template since 2f7593761c1ea432e2e58045150150356816f868. Part of the notification emails was not working anymore since its syntax was still using jinja. This commit fixes that. This commit also removes strange ';' that should not be part of python code as well as an unnecessary variable propagation.
2018-01-29[REF] mail: add a secondary notification template in mailThibault Delavallée
Various modules use another template when sending notification emails for some specific case. For example sending sale orders or invoices using the 'Send by email' button encapsulates the content in a layout different from the base one. As all modules basically uses the same copy-and-pasted template we choose to define another email template directly in mail.
2018-01-29[REF] mail: move email notification templates to QWebThibault Delavallée
In this commit we change notification templates used to render notification emails from jinja-based mail.template to pure QWeb templates. There are several reasons to do so * those are not real mail.template records. Indeed they cannot be used outside of the notification process as some values are computed and not available on the mail.message record used to render the template; * we do not really need other fields than body. Indeed fields like subject, email_from or email_to are computed from the notification process; * we do not want people to update the mail.template without knowing the consequences, especially for fields like recipients that may broke the mail gateway; * using the html editor easily break the mail.template as it is very custom and very to break without really realizing it. It also simplifies template management as it lessens number of mail template people have in their list view of mail.template. It avoids mixing technical and functional templates. We move to QWeb templates as those are not too hard to customize and allow to perform body rendering which is what we really need when notifying people of a new message. This commit does not change the functional purpose and layout of the templates. Behavior should be the same before and after this commit.
2018-01-29[REM] mail: remove follow / unfollow buttons in notification emailsThibault Delavallée
Notification emails contain a link allowing to follow or unfollow documents directly from the notification email. However there are several issues with this button * it require people to login to follow or unfollow documents; * it is not linked to the email; * if the customer does not have a login it is not possible to perform the action; * there is no confirmation step; This commit removes the follow / unfollow button in the notification emails. Indeed as people have the "Access document" button there is only one more click to perform in order to subscribe or unsubscribe. Concerning customers adding a complete control of the follow mechanism would be costly in term of code and access rights checks. We therefore decided to remove this button. It also allows to simplify a bit the notification process as there are less parameters to take into account when grouping recipients. It allows to lessen the number of required template rendering when sending notification emails.
2017-12-28[FIX][IMP] mail: remove cdata of notification email data and fix some ↵Thibault Delavallée
invalid stuff Using xml type it allows to have a cleaner view of the content in a classic code editor. This commit also fixes some xml-related invalid stuff that does not impact the notification email rendering.
2017-10-20[MERGE] forward port branch saas-14 up to f3ac68ed29aChristophe Simonis
2017-10-20[MERGE] forward port branch 10.0 up to e2532f855f7Christophe Simonis
2017-10-20[FIX] mail: company logoNicolas Martinelli
- Activate multi-company, create companies A and B - Set 2 companies on a user When a message is sent (for example, thanks to the chatter), the notification email always contains the logo of the same company, whatever the company of the user or the company of the object. This is a complement of commit 7a03f9ce93, applied to notifications. Closes #20088 opw-772405
2017-02-21[IMP] mail: improve notification management, either email either inboxAline Preillon
Currently partners have a boolean field to choose whether to receive notifications only in their Odoo inbox or to receive them in their inbox and by email. This leads to several issues : * if a customer is configured to not receive emails he will not receive any notification on sales orders, leads, ... This is not clearly indicated to the salesman and it is not easy to know how to change that behavior * if an user chooses to receive emails and does not use its inbox a lot of notifications stay in Odoo. The user has to manually set them as done to make them disappear which is redundant. This commit changes that behavior. From now on customers will always receive all notifications by email. Indeed Odoo is not a customer oriented mailbox. Moreover sales orders or discussions on leads send to customers should always be sent by email as it is the standard communication mechanism. Users will be able to choose to receive notifications in Odoo or by email. The choice is no longer inbox or inbox + email, but inbox or email. Choosing one option or the other one depends on the way the user wants to work. Technically the field is moved on the users model and selection keys are renamed. Notification process is modified * notified_partner_ids contains as before specified recipients as well as followers matching the subtype * customers and users working with emails are notified. During that process customers notifications are marked as done to be able to track the email state without having needaction. Users notifications are currently deleted as we do not track their email state. The removal of partner field implies changes in various addons that define partner data with this field set in the values.
2017-02-21[FIX] mail: slighty improve notification email layoutThibault Delavallée
* Limit company image to match buttons size and avoid badly sized image * Add a margin below internal note notice because it currently overlaps with actual email content * Avoid having signature direclty included in message by enclosing body in a div
2017-02-10[IMP] generic: Open external links in a new tab by defaultmmo
Purpose ======= External links in the data sometimes open in the same tab, the users loses times as he has to come back (and looses the context). Specification ============= Any external links in data (planners, settings) should open in new tabs.
2017-01-03[REF] ir_cron: make scheduled actions inherits from server actionsThibault Delavallée
The purpose of this commit is to handle code execution only in server action and delegate schedule management to ir_cron model. ir.cron model now inherits from ir.actions.server. Fields model, function and args are removed as well as the logic to handle them. There is no more code manipulation and evaluation in ir_cron, only a call to the run method of ir.actions.server. Cron form view use server action form view as primary view. This way automated actions use the same base form as server actions with cron details added. Thanks to @fpodoo for the original idea and preliminary work. Thanks to @jpr-odoo for first developments. Thanks to @jem-odoo for reviewing.
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.
2016-10-05[FIX] *: adapt odoo interface violetqsm-odoo
Change color #a24689 to #875A7B Commit https://github.com/odoo/enterprise/commit/8ac1c19fac7615fecd51e670f798d13158a4e53c changed the odoo interface violet by changing the main LESS variable but forgot there was many direct occurences in XML/HTML/... (for example for the mobile browser color). Even if it's community the odoo interface violet is used at many places (module description, XML demo data, ...).
2016-09-23[IMP] mail: reimplement grouping of notification recipientsThibault Delavallée
There is now a single method easier to inherit to add specific behavior for the display of access button as well as actions buttons. All addons using this mechanism are updated accordingly.
2016-09-23[FIX] mail: fix display of actions button in notification emailThibault Delavallée
2016-09-01[REM] mail, forum: remove hack to add buttons in forum notificationsThibault Delavallée
It has been solved using the standard way of managing buttons in notification emails. At least we hope it.
2016-09-01[IMP] mail: bounce managementThibault Delavallée
Handle bounces using bounce alias directly in mailgateway. Previously bounces were used only in mass mailing to update campaign statistics. Now the mailgateway tries to find data from standard delivery status emails. This data is used to update state of emails sent to customers, to display it in the Chatter. It is also used to increment the message_bounce counter on the bounced partner and bounced record, if any and if the field exists. Previous more generic code that detect bounces is kept. This code is more specific to standard delivery failure notifications by parsing its content.
2016-08-30[REF] various: make mako mail templates more xml compliantThibault Delavallée
As we will soon improve the sanitizer we will be able to sanitize email templates body. However this implies some cleaning in the templates to be sure mako is not considered as invalid html / xml and therefore removed from the template body.
2016-08-10[REF] various: rename openerp node to odoo in xml filesThibault Delavallée