summaryrefslogtreecommitdiff
path: root/addons/mail/data/mail_data.xml
AgeCommit message (Collapse)Author
2021-04-23[FW][FIX] sale: correctly redirect customers in "Pay Now" templateThibault Delavallée
Mail holds a "Pay Now" notification template holding notably customized links to portal for records like sale orders or invoices. It allow to give a more personalized button than a plain simple "View document" link. Currently frontend / backend links are not always correctly computed in this template. This commit fixes that behavior. Task ID-2513724 COM PR #69607 ENT PR odoo/enterprise#17849 closes odoo/odoo#69714 X-original-commit: odoo/odoo@a55f125f5420797a9378925da5626e43d002b9b0 Related: odoo/enterprise#17889 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-26[IMP] mail, mail_bot: move notif request and OdooBot name into mailDidier (did)
task-2282334 closes odoo/odoo#56584 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>
2020-06-15[MOV] mail: move message technical template into data and correctly name ↵Thibault Delavallée
assets file Task ID 2265592 PR #
2020-04-20[FIX] mail: Fallback to default company logo instead of odoobotAndrea Grazioso (agr-odoo)
For some specific report (i.e account followup report) the mail_message sent will contains no company informations because it will be sent on the partner context, so when generating the template the logo will be retrieved from the route /logo.png?company=False which yield back the odoo company logo. Adding a default 0 allow to retrieve the company logo for the current user opw-2232184 closes odoo/odoo#49787 X-original-commit: eea99fe1e00eb2dbd2bbeaca3e2f09845b426267 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-03-12[IMP] mail: ease bounce email content update based on alias securityRémy Voet (ryv)
PURPOSE When incoming emails bounce due to alias security bounce email is quite generic. Purpose of this task is to ease its customization and update. SPECIFICATIONS In order to improve the flexibility of alias, add a customizable html field on the alias model. This html content will be send as bounce email core content in case of bounced/unauthorized mail received for this alias, Obviously it has no effect on 'everyone' security setting as no email will bounce due to that issue. If it is not set a default generic mail will be send depending on security setting. It allows to keep void html fields when no specific bounce content is required In HR, an old template allowing some light customization for employee based security option is removed as it is completely replaced by the new feature. Also add references message-id of the mail received to the answer so that threads are correctly set. LINKS Task ID 2126509
2019-12-02[IMP] mail: use _notify_get_action_link and not inline stringRomeo Fragomeli
Note that this also add data-oe-model and data-oe-id in XML. This allow us to avoid to load these links as external URL when a user receive it in inbox instead of external mail client. See file addons/mail/static/src/js/thread_widget.js -> _onClickRedirect Task ID: 1895451 closes odoo/odoo#39958 Related: odoo/enterprise#6414 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-10-01[FIX] mail: use correct template attributeHugo Adan
Custom CSS should be in style attribute Closes odoo/odoo#37638 closes odoo/odoo#37707 X-original-commit: c1254cca7aae54982d270227d58aad8bdf0a7804 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-05[IMP] mail: do not log note if note is emptyRomainLibert
Because a note could be only False, not at least "<p></br></p>" TaskID: 2026295
2019-06-12[IMP] web,mail: support line break in activity feedbackVarun Raval
Purpose of the commit is when writing feedback on an activity it doesn't have a line break in it so feedback was printed in a single line. After this commit feedback will support line break. Split the line by '\n' in feedback xml template to avoid t-raw. Avoid `preventDefault` in kanban record when hitting <ENTER> on a textarea. Task #1965831 closes odoo/odoo#33212 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-05-09[IMP] mail: improve "Pay Now" email notification layoutBarad Mahendra
In mail custom layout template display 'best regards' and signature in email only when user exists and is not odoobot. Border-bottom style is also now white-listed in sanitizer in order to ease customization of emails. Related to task ID 1873634 Linked to PR #28781
2019-02-22[MERGE] forward port branch saas-12.1 up to 0f4abc5c228Christophe Simonis
2019-02-21[MERGE] forward port branch 12.0 up to 84143a34b31Christophe Simonis
2019-02-06[FIX] *: share URL on the correct website if possibleSébastien Theys
* = base, auth_signup, mail, portal, sale, website, website_sale Before this commit, sending an object by email would always link to web.base.url even if the object was created from a specific website. Now if the object has a website, we use the URL of that website if it is set. The fallback will always be on the web.base.url. opw-1921030 PR: #30000
2019-01-31[MERGE] forward port branch 12.0 up to cb8fefa8999Christophe Simonis
2019-02-04[MERGE] forward port branch saas-12.1 up to 4524ad06a8aChristophe Simonis
2019-01-29[FIX] mail: user signatureNicolas Martinelli
- Install Invoicing - Multi company Set up with no common contact book - Create & validate an invoice with user A in company 1 - Change to company 2 with user A - Connect with user B in company 1 - Send & Print the invoice An error is raised on the template rendering because user B cannot read info from user A. opw-1928676 closes odoo/odoo#30649
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
2019-01-09[MERGE] forward port branch saas-12.1 up to 8aa8548d8abChristophe Simonis
2018-12-18[IMP] mail: improve activity done message templateXavierDo
Feedback should be the first part of the message without title to make it more concise. If the activity has a note, the note should be displayed but after the feedback. We can also remove the field feedback that was not so useful since it was only written just before unlink. Feedback is now passed as another parameter to the template. Task: 1918392 closes odoo/odoo#29605
2018-12-12[REF] mail: remove create_user_id field on activityThibault Delavallée
As activities are created using the current user there is no need anymore to have another field to store the activity creator. We can therefore remove create_user_id and replace its use by the magic create_uid field. This commit is linked to task ID 1856417 and PR #27619.
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.