From cc0dfa80a137376ade3d45a8c3bf4f53cc91d26b Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Mon, 14 Sep 2015 09:58:13 +0200 Subject: [PATCH 1/9] Move mail_forward module from [odoo-grupoesoc-addons][1] [1]: https://github.com/grupoesoc/odoo-grupoesoc-addons --- mail_forward/README.rst | 102 +++++ mail_forward/__init__.py | 5 + mail_forward/__openerp__.py | 26 ++ mail_forward/i18n/es.po | 394 +++++++++++++++++++ mail_forward/static/description/icon.png | Bin 0 -> 1881 bytes mail_forward/static/src/css/mail_forward.css | 12 + mail_forward/static/src/js/mail_forward.js | 65 +++ mail_forward/static/src/xml/mail_forward.xml | 14 + mail_forward/views/assets.xml | 21 + mail_forward/wizard/__init__.py | 0 mail_forward/wizard/mail_forward.py | 120 ++++++ mail_forward/wizard/mail_forward.xml | 64 +++ 12 files changed, 823 insertions(+) create mode 100644 mail_forward/README.rst create mode 100644 mail_forward/__init__.py create mode 100644 mail_forward/__openerp__.py create mode 100644 mail_forward/i18n/es.po create mode 100644 mail_forward/static/description/icon.png create mode 100644 mail_forward/static/src/css/mail_forward.css create mode 100644 mail_forward/static/src/js/mail_forward.js create mode 100644 mail_forward/static/src/xml/mail_forward.xml create mode 100644 mail_forward/views/assets.xml create mode 100644 mail_forward/wizard/__init__.py create mode 100644 mail_forward/wizard/mail_forward.py create mode 100644 mail_forward/wizard/mail_forward.xml diff --git a/mail_forward/README.rst b/mail_forward/README.rst new file mode 100644 index 00000000..523dbcf1 --- /dev/null +++ b/mail_forward/README.rst @@ -0,0 +1,102 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=============== +Message forward +=============== + +This module was written to extend the functionality of mails to support +forwarding them to another contact or database object. + +* **To another object of the database:** + * All its followers are notified according to their settings. +* **To other contacts:** + * They recieve the forwarded message according to the usual notification + rules of Odoo. + +Installation +============ + +When installed, this module allows forwarding to the following database +objects: + +* ``crm.lead`` +* ``crm.meeting`` +* ``crm.phonecall`` +* ``mail.group`` +* ``note.note`` +* ``product.product`` +* ``project.project`` +* ``project.task`` +* ``res.partner`` +* ``sale.order`` + +Of course, if some of those are not available in your database, they will be +hidden until you install the module that adds them. + +Usage +===== + +To use this module, you need to: + +* Go to any view that has a message thread. +* Press *Forward* (the button with a curved arrow pointing to the right). +* Modify the subject if you wish. +* If you want to forward the message to an *object*, choose it from the + selector. +* If you want to forward the message to some partner(s), add them in the + selector. +* Modify the message if you want. +* Add attachments if you want. +* If the message contains attachments, you can turn on the *Move attachments* + option, and those will get attached to the new object. + + You will need to install the *document* module and have at least *User* + permissions for *Knowledge* to see the effect. + +.. info:: + Technical note: Internally, forwarded messages are modified copies of + original ones, but attachments are references to the exact originals to + avoid duplicating disk space. Keep that in mind when managing permissions. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/205/8.0 + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. In +case of trouble, please check there if your issue has already been reported. If +you spotted it first, help us smashing it by providing a detailed and welcomed +feedback `here +`_. + + +Credits +======= + +Contributors +------------ + +* Jairo Llopis + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/mail_forward/__init__.py b/mail_forward/__init__.py new file mode 100644 index 00000000..9611dac3 --- /dev/null +++ b/mail_forward/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2014-2015 Grupo ESOC +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from .wizard import mail_forward diff --git a/mail_forward/__openerp__.py b/mail_forward/__openerp__.py new file mode 100644 index 00000000..711ae210 --- /dev/null +++ b/mail_forward/__openerp__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# © 2014-2015 Grupo ESOC +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Message Forward", + "summary": "Add option to forward messages", + "version": "8.0.6.0.0", + "category": "Social Network", + "website": "http://www.grupoesoc.es, https://odoo-community.org/", + "author": "Grupo ESOC, Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "mail", + "web", + ], + "data": [ + "wizard/mail_forward.xml", + "views/assets.xml", + ], + "qweb": [ + "static/src/xml/mail_forward.xml", + ], +} diff --git a/mail_forward/i18n/es.po b/mail_forward/i18n/es.po new file mode 100644 index 00000000..a2bf61c4 --- /dev/null +++ b/mail_forward/i18n/es.po @@ -0,0 +1,394 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_forward +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-12-11 10:00+0000\n" +"PO-Revision-Date: 2014-12-11 11:07+0100\n" +"Last-Translator: Jairo Llopis \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"Language: es_ES\n" + +#. module: mail_forward +#. openerp-web +#: code:addons/mail_forward/static/src/js/mail_forward.js:37 +#, python-format +msgid "(No subject)" +msgstr "(Sin asunto)" + +#. module: mail_forward +#: field:mail.compose.forward,active_domain:0 +msgid "Active domain" +msgstr "Dominio activo" + +#. module: mail_forward +#: field:mail.compose.forward,partner_ids:0 +msgid "Additional contacts" +msgstr "Contactos adicionales" + +#. module: mail_forward +#: help:mail.compose.forward,no_auto_thread:0 +msgid "" +"Answers do not go in the original document' discussion thread. This has an " +"impact on the generated message-id." +msgstr "" +"Las respuestas no van en el hilo de discusión original del documento. Esto " +"tiene un impacto en el ID generado para el mensaje." + +#. module: mail_forward +#: field:mail.compose.forward,attachment_ids:0 +msgid "Attachments" +msgstr "Adjuntos" + +#. module: mail_forward +#: help:mail.compose.forward,move_attachments:0 +msgid "" +"Attachments will be assigned to the chosen destination object and you will " +"be able to pick them from its 'Attachments' button, but they will not be " +"there for the current object if any. In any case you can always open it from " +"the message itself." +msgstr "" +"Los adjuntos se asignarán al objeto de destino escogido, y podrás " +"seleccionarlos desde el botón \"Adjuntos\", pero se quitarán del objeto en " +"el que estén adjuntados actualmente, si lo hay. En cualquier caso, siempre " +"puedes abrirlos desde el propio mensaje." + +#. module: mail_forward +#: field:mail.compose.forward,author_id:0 +msgid "Author" +msgstr "Autor" + +#. module: mail_forward +#: help:mail.compose.forward,author_id:0 +msgid "" +"Author of the message. If not set, email_from may hold an email address that " +"did not match any partner." +msgstr "" +"Autor del mensaje. Si no está establecido, puede que encuentres una " +"dirección que no coincide con ninguna empresa en \"email_from\"." + +#. module: mail_forward +#: field:mail.compose.forward,author_avatar:0 +msgid "Author's Avatar" +msgstr "Avatar del autor" + +#. module: mail_forward +#: help:mail.compose.forward,body:0 +msgid "Automatically sanitized HTML contents" +msgstr "Contenidos HTML automáticamente desinfectados" + +#. module: mail_forward +#: field:mail.compose.forward,child_ids:0 +msgid "Child Messages" +msgstr "Mensajes hijos" + +#. module: mail_forward +#: selection:mail.compose.forward,type:0 +msgid "Comment" +msgstr "Comentario" + +#. module: mail_forward +#: field:mail.compose.forward,composition_mode:0 +msgid "Composition mode" +msgstr "Modo de composición" + +#. module: mail_forward +#: field:mail.compose.forward,body:0 +msgid "Contents" +msgstr "Contenidos" + +#. module: mail_forward +#: field:mail.compose.forward,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: mail_forward +#: field:mail.compose.forward,create_date:0 +msgid "Created on" +msgstr "Creado el" + +#. module: mail_forward +#: help:mail.compose.forward,starred:0 +msgid "Current user has a starred notification linked to this message" +msgstr "" +"El usuario actual tiene una notificación por realizar vinculada a este " +"mensaje" + +#. module: mail_forward +#: help:mail.compose.forward,to_read:0 +msgid "Current user has an unread notification linked to this message" +msgstr "" +"El usuario actual tiene una notificación sin leer vinculada a este mensaje" + +#. module: mail_forward +#: field:mail.compose.forward,date:0 +msgid "Date" +msgstr "Fecha" + +#. module: mail_forward +#. openerp-web +#: code:addons/mail_forward/static/src/js/mail_forward.js:55 +#, python-format +msgid "Date:" +msgstr "Fecha:" + +#. module: mail_forward +#: field:mail.compose.forward,destination_object_id:0 +msgid "Destination object" +msgstr "Objeto de destino" + +#. module: mail_forward +#: selection:mail.compose.forward,type:0 +msgid "Email" +msgstr "Correo electrónico" + +#. module: mail_forward +#: help:mail.compose.forward,email_from:0 +msgid "" +"Email address of the sender. This field is set when no matching partner is " +"found for incoming emails." +msgstr "" +"Dirección de correo electrónico del autor. Este campo se establece cuando no " +"se puede encontrar una empresa correspondiente para los correos entrantes." + +#. module: mail_forward +#: model:ir.model,name:mail_forward.model_mail_compose_forward +msgid "Email composition wizard" +msgstr "Asistente de redacción de correo electrónico." + +#. module: mail_forward +#. openerp-web +#: code:addons/mail_forward/static/src/xml/mail_forward.xml:25 +#, python-format +msgid "Forward" +msgstr "Reenviar" + +#. module: mail_forward +#: model:ir.actions.act_window,name:mail_forward.compose_action +msgid "Forward Email" +msgstr "Reenviar correo electrónico" + +#. module: mail_forward +#. openerp-web +#: code:addons/mail_forward/static/src/js/mail_forward.js:51 +#, python-format +msgid "Forwarded message" +msgstr "Mensaje reenviado" + +#. module: mail_forward +#: field:mail.compose.forward,email_from:0 +msgid "From" +msgstr "De" + +#. module: mail_forward +#. openerp-web +#: code:addons/mail_forward/static/src/js/mail_forward.js:53 +#, python-format +msgid "From:" +msgstr "De:" + +#. module: mail_forward +#: field:mail.compose.forward,id:0 +msgid "ID" +msgstr "ID" + +#. module: mail_forward +#: help:mail.compose.forward,parent_id:0 +msgid "Initial thread message." +msgstr "Mensaje inicial del hilo." + +#. module: mail_forward +#: field:mail.compose.forward,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: mail_forward +#: field:mail.compose.forward,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: mail_forward +#: field:mail.compose.forward,is_log:0 +msgid "Log an Internal Note" +msgstr "Registrar una nota interna" + +#. module: mail_forward +#: field:mail.compose.forward,record_name:0 +msgid "Message Record Name" +msgstr "Nombre del registro del mensaje" + +#. module: mail_forward +#: help:mail.compose.forward,type:0 +msgid "" +"Message type: email for email message, notification for system message, " +"comment for other messages such as user replies" +msgstr "" +"Tipo de mensaje: \"email\" para mensaje de correo electrónico, \"notification" +"\" para mensaje del sistema, \"comment\" para otros mensajes, como " +"respuestas de usuarios" + +#. module: mail_forward +#: help:mail.compose.forward,message_id:0 +msgid "Message unique identifier" +msgstr "Identificador único del mensaje" + +#. module: mail_forward +#: field:mail.compose.forward,message_id:0 +msgid "Message-Id" +msgstr "ID del mensaje" + +#. module: mail_forward +#: field:mail.compose.forward,move_attachments:0 +msgid "Move attachments" +msgstr "Mover adjuntos" + +#. module: mail_forward +#: help:mail.compose.forward,record_name:0 +msgid "Name get of the related document." +msgstr "Obtener nombre del documento relacionado." + +#. module: mail_forward +#: field:mail.compose.forward,no_auto_thread:0 +msgid "No threading for answers" +msgstr "Sin hilos para las respuestas" + +#. module: mail_forward +#: field:mail.compose.forward,notification_ids:0 +msgid "Notifications" +msgstr "Notificaciones" + +#. module: mail_forward +#: field:mail.compose.forward,notified_partner_ids:0 +msgid "Notified partners" +msgstr "Empresas notificadas" + +#. module: mail_forward +#: field:mail.compose.forward,notify:0 +msgid "Notify followers" +msgstr "Notificar a los seguidores" + +#. module: mail_forward +#: help:mail.compose.forward,notify:0 +msgid "Notify followers of the document (mass post only)" +msgstr "Notificar a los seguidores de este documento (solo envío masivo)" + +#. module: mail_forward +#: help:mail.compose.forward,destination_object_id:0 +msgid "Object where the forwarded message will be attached" +msgstr "Objeto al que se enganchará el mensaje reenviado" + +#. module: mail_forward +#: field:mail.compose.forward,mail_server_id:0 +msgid "Outgoing mail server" +msgstr "Servidor de correo saliente" + +#. module: mail_forward +#: field:mail.compose.forward,parent_id:0 +msgid "Parent Message" +msgstr "Mensaje padre" + +#. module: mail_forward +#: help:mail.compose.forward,notified_partner_ids:0 +msgid "" +"Partners that have a notification pushing this message in their mailboxes" +msgstr "" +"Empresas que son notificados de este mensaje en sus bandejas de entrada" + +#. module: mail_forward +#: field:mail.compose.forward,res_id:0 +msgid "Related Document ID" +msgstr "ID del documento relacionado" + +#. module: mail_forward +#: field:mail.compose.forward,model:0 +msgid "Related Document Model" +msgstr "Modelo del documento relacionado" + +#. module: mail_forward +#: help:mail.compose.forward,reply_to:0 +msgid "" +"Reply email address. Setting the reply_to bypasses the automatic thread " +"creation." +msgstr "" +"Email de respuesta. Al establecer esto, se omite la creación automática de " +"hilos." + +#. module: mail_forward +#: field:mail.compose.forward,reply_to:0 +msgid "Reply-To" +msgstr "Responder a" + +#. module: mail_forward +#: field:mail.compose.forward,starred:0 +msgid "Starred" +msgstr "Por realizar" + +#. module: mail_forward +#: field:mail.compose.forward,subject:0 +msgid "Subject" +msgstr "Asunto" + +#. module: mail_forward +#: field:mail.compose.forward,subtype_id:0 +msgid "Subtype" +msgstr "Subtipo" + +#. module: mail_forward +#: selection:mail.compose.forward,type:0 +msgid "System notification" +msgstr "Notificación del sistema" + +#. module: mail_forward +#: help:mail.compose.forward,notification_ids:0 +msgid "" +"Technical field holding the message notifications. Use notified_partner_ids " +"to access notified partners." +msgstr "" +"Campo técnico que contiene las notificaciones del mensaje. Use " +"\"notified_partner_ids\" para acceder a las empresas notificadas." + +#. module: mail_forward +#: field:mail.compose.forward,to_read:0 +msgid "To read" +msgstr "Sin leer" + +#. module: mail_forward +#: field:mail.compose.forward,type:0 +msgid "Type" +msgstr "Tipo" + +#. module: mail_forward +#: field:mail.compose.forward,use_active_domain:0 +msgid "Use active domain" +msgstr "Usar dominio activo" + +#. module: mail_forward +#: field:mail.compose.forward,template_id:0 +msgid "Use template" +msgstr "Usar plantilla" + +#. module: mail_forward +#: help:mail.compose.forward,vote_user_ids:0 +msgid "Users that voted for this message" +msgstr "Usuarios que han votado por este mensaje" + +#. module: mail_forward +#: field:mail.compose.forward,vote_user_ids:0 +msgid "Votes" +msgstr "Votos" + +#. module: mail_forward +#: help:mail.compose.forward,is_log:0 +msgid "Whether the message is an internal note (comment mode only)" +msgstr "" +"Indica si el mensaje es una nota interna (solo para el modo comentarios)" + +#~ msgid "Filters" +#~ msgstr "Filtros" diff --git a/mail_forward/static/description/icon.png b/mail_forward/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3c09dc0f393895ac03d0c58bf9c94149ac20a20 GIT binary patch literal 1881 zcmV-f2d4OmP)`1`(!@lfCcf~Nh!;qR#tYSuihv*x6{12=BmqiLYtVo+L{JJ5E48FowzPYE zac0PLnCE%U>^`&e%lzGMP*!lgVT-6E+PcN6;+}XU7W!ia0Zs+xSBnjbhhIG+=M@2S^M+%;uykOTC*t;P2n8; z8zEaQww0~7w4acUT|=0u662}3rU4n4K)bwKjE-I1Pn1rTbp)=$+Y7|Xlrn?k#hU&2 zwk_+rzPw+cwYZq@5n6|OFMia>zeVF@Ck568E(_cpIMDA2NVQ7{M|6uZg@2AdljC5^ z13wDPE<}KS_LFW=P9J?n$H6`nc(iUIx@{9-3O-%p$j|UBOP=tlAqvrL8{lh-1$p7f z%AhfXHxUjkf*AVPYKRS7Ni5&B!PYRGBq$68vq zP&{?g;Z*!_$PP7`cMN#{9`W10o9#!k?UeZON}SN|{{2`(>&EU6zoEDd`R0HQO&Hc#SirDK};+g z+dqrS>NxxsFQ_B2`AnLv$EBX!C7e{Q6#J{aBXM{(eur1rmDqe|G2f3r;N-d-X)dju z_&$#8x$silhF8{|VoJBS$R5G!x*cjBVcOyA-s|z0`Ip*}Tt5-lVME1zV@~T} zduPZrE)d(5qbdSbm0claPsqu*tmJyP{SwE{*NHJ;xws24r7XUJGfS?|d!&AnSa)8U z=*Sjv@_*8Jjkq;5Rg9J)3Zk7rYFjgD?aDf7?Zp9nvMbzB1?g}${+Hm~9L_WRwdi4T zG=3`WOL(6r_qG;A5Lkgb5*_`uxUX{DSSc>frR4E9V&|rpMH7TLDBPIn@Vz*#%z=in zTC8@f@^uKGQ#@<2sDgC(usDjXa(-X?-X_x$3;3Yw{5&icco`!R1YUuEBxEAshsyVX zjf!K%ZhJ}|HsiSoagI!oPKHw7ExB2MOgqWc(Nvj$j zP~$>RAJ*W}1V8qxr;FZ5K{}j;oh9jXY*zi_m6r7O;(olWrgR%E2(h}juOzMR>f-Y? zr8y&gM&Wk#R-26%gxH{_4#2Lpuz9eR;*OD&v@TSC$6_o5A#Ni|twQb<*RBWUENSym zvksp!uamJ6q{BL~K&lFDxAYC)Gx#zdPl$Ji1@1DeVC)2e*GWHD<$AoTB(AqfpEAEo zP5Y=y7)wEj6LqQUD|7fgJ}#bA^hR-mMXC@1zfi*t!vw}w5MqORUWp%dSnm?+u$h-2 zO<7_+D0X$v5!;oz*(q*=y=Vw=*Gf|a>F`}~ePv6Hab7D<4qjJdoI|5&g23PLdVEKG zyywd-&c!=bze>;;nkWcyK52s}%uNG^ox>I46v(&Re~%4K6{N#$c(d4}x?Ef+Dq@FN z<-Hj1!`7jDHw4Dz*wW2yn-=#!ohmK^AHsidC+@beDy|WXiy$2iier{LM(xP3XnK{k zj}r!^na(j45$uwTP7WATs@VUdgq+MHi;= zP)Wcaa|AudT5@nF$~mUzhJ{WUw3DP|X*sbHzP^RFsWPD{(w!<7>D4V)pa zEevzlN4EHMl%Al}IpJoTxYkg3xNl~`1bo1NYdPmidq*(aV73SE89;}_c)55wK^A7= zwqHEBXGLn^m%Xxeg1CM?jz?pRnt=a`|5+jr88VqnCX>lzGMP*!lgVT<6UqMpWw_Zz TgUb8t00000NkvXXu0mjfPNa@- literal 0 HcmV?d00001 diff --git a/mail_forward/static/src/css/mail_forward.css b/mail_forward/static/src/css/mail_forward.css new file mode 100644 index 00000000..6eabe491 --- /dev/null +++ b/mail_forward/static/src/css/mail_forward.css @@ -0,0 +1,12 @@ +/* © 2014-2015 Grupo ESOC + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + */ + +.openerp .oe_mail .oe_msg .oe_msg_icons .oe_forward:hover a { + color: #1FC0FF; + text-shadow: 0px 1px #184FC5, + 0px -1px #184FC5, + -1px 0px #184FC5, + 1px 0px #184FC5, + 0px 3px 3px rgba(0, 0, 0, 0.1); +} diff --git a/mail_forward/static/src/js/mail_forward.js b/mail_forward/static/src/js/mail_forward.js new file mode 100644 index 00000000..1de4c124 --- /dev/null +++ b/mail_forward/static/src/js/mail_forward.js @@ -0,0 +1,65 @@ +/* © 2014-2015 Grupo ESOC + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + */ + +openerp.mail_forward = function (instance) { + var _t = instance.web._t; + instance.mail.ThreadMessage.include({ + bind_events: function () { + this._super.apply(this, arguments); + this.$('.oe_forward').on('click', this.on_message_forward); + }, + + on_message_forward: function () { + // Generate email subject as possible from record_name and subject + var subject = ["FWD"]; + if (this.record_name && (this.show_record_name || + this.parent_id)) + { + subject.push(this.record_name); + } + if (this.subject) { + subject.push(this.subject); + } else if (subject.length < 2) { + subject.push(_t("(No subject)")); + } + + // Get only ID from the attachments + var attachment_ids = []; + for (n in this.attachment_ids) { + attachment_ids.push(this.attachment_ids[n].id); + } + + // Get necessary fields from the forwarded message + var context = { + default_attachment_ids: attachment_ids, + default_body: + "

----------" + + _t("Forwarded message") + + "----------
" + + _t("From:") + " " + + _.str.escapeHTML(this.author_id[1]) + "
" + + _t("Date:") + " " + this.date + "


" + + this.body, + default_model: this.model, + default_res_id: this.res_id, + default_subject: subject.join(": "), + }; + + if (this.model && this.res_id) { + context.default_destination_object_id = + [this.model, this.res_id].join(); + } + + // Get the action data and execute it to open the composer wizard + var do_action = this.do_action; + this.rpc("/web/action/load", { + "action_id": "mail_forward.compose_action", + }) + .done(function(action) { + action.context = context; + do_action(action); + }); + } + }); +}; diff --git a/mail_forward/static/src/xml/mail_forward.xml b/mail_forward/static/src/xml/mail_forward.xml new file mode 100644 index 00000000..a3c97daa --- /dev/null +++ b/mail_forward/static/src/xml/mail_forward.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/mail_forward/views/assets.xml b/mail_forward/views/assets.xml new file mode 100644 index 00000000..7c04b70d --- /dev/null +++ b/mail_forward/views/assets.xml @@ -0,0 +1,21 @@ + + + + + + + +