diff --git a/setup/stock_picking_send_by_mail/odoo/addons/stock_picking_send_by_mail b/setup/stock_picking_send_by_mail/odoo/addons/stock_picking_send_by_mail new file mode 120000 index 000000000000..6742b39ef0bb --- /dev/null +++ b/setup/stock_picking_send_by_mail/odoo/addons/stock_picking_send_by_mail @@ -0,0 +1 @@ +../../../../stock_picking_send_by_mail \ No newline at end of file diff --git a/setup/stock_picking_send_by_mail/setup.py b/setup/stock_picking_send_by_mail/setup.py new file mode 100644 index 000000000000..28c57bb64031 --- /dev/null +++ b/setup/stock_picking_send_by_mail/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_picking_send_by_mail/README.rst b/stock_picking_send_by_mail/README.rst new file mode 100644 index 000000000000..3930eacb4ab7 --- /dev/null +++ b/stock_picking_send_by_mail/README.rst @@ -0,0 +1,92 @@ +===================== +Stock Picking by Mail +===================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-workflow/tree/14.0/stock_picking_send_by_mail + :alt: OCA/stock-logistics-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-14-0/stock-logistics-workflow-14-0-stock_picking_send_by_mail + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/154/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +========================== +Stock picking send by mail +========================== + +This module was written to extend the functionality of stock picking and allow +you to send the picking order by email. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +* Go to a Delivery Order. +* Click on the button Send by Email. +* And finally click on the button Send. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Sandra Figueroa Varela +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* Sandra Figueroa Varela +* Tecnativa : + + * Vicent Cubells + * Carlos Roca + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +This module is part of the `OCA/stock-logistics-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_picking_send_by_mail/__init__.py b/stock_picking_send_by_mail/__init__.py new file mode 100644 index 000000000000..83e553ac462c --- /dev/null +++ b/stock_picking_send_by_mail/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/stock_picking_send_by_mail/__manifest__.py b/stock_picking_send_by_mail/__manifest__.py new file mode 100644 index 000000000000..426c717f6a4f --- /dev/null +++ b/stock_picking_send_by_mail/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2015 - Sandra Figueroa Varela +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Stock Picking by Mail", + "summary": "Send stock picking by email", + "version": "15.0.1.0.0", + "author": "Sandra Figueroa Varela, " + "Tecnativa, " + "Odoo Community Association (OCA), " + "Daniel Domínguez (Xtendoo)", + "website": "https://github.com/OCA/stock-logistics-workflow", + "category": "Warehouse Management", + "license": "AGPL-3", + "depends": ["stock", "mail"], + "data": ["views/stock_picking_view.xml"], + "installable": True, +} diff --git a/stock_picking_send_by_mail/i18n/de.po b/stock_picking_send_by_mail/i18n/de.po new file mode 100644 index 000000000000..d5f2887c05fa --- /dev/null +++ b/stock_picking_send_by_mail/i18n/de.po @@ -0,0 +1,184 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +# Translators: +# OCA Transbot , 2017 +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-19 03:56+0000\n" +"PO-Revision-Date: 2017-12-19 03:56+0000\n" +"Last-Translator: Rudolf Schnapka , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_picking_send_by_mail +#: model:mail.template,body_html:stock_picking_send_by_mail.email_template_stock_picking +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

Here is your picking from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Picking number: ${object.name}
\n" +" % if object.origin:\n" +"   Picking reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Hallo ${object.partner_id.name},

\n" +"\n" +"

Hier ist Ihre Umlagerung für ${object.company_id.name}:

\n" +"\n" +"

\n" +"   BEZÜGE
\n" +"   Umlagerungsnummer: ${object.name}
\n" +" % if object.origin:\n" +"   Umlagerungsreferenz: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Ihr Ansprechpartner: ${object.user_id." +"name}\n" +" % endif\n" +"

\n" +"

Bei Fragen, bitte nicht zögern uns anzusprechen.

\n" +"

Vielen Dank für Ihr Vertrauen in ${object.company_id.name or 'uns'}!\n" +"
\n" +"
\n" +"

\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: stock_picking_send_by_mail +#: model:mail.template,report_name:stock_picking_send_by_mail.email_template_stock_picking +msgid "${(object.name or '').replace('/','_')}" +msgstr "${(object.name or '').replace('/','_')}" + +#. module: stock_picking_send_by_mail +#: model:mail.template,subject:stock_picking_send_by_mail.email_template_stock_picking +msgid "${object.company_id.name|safe} Picking (Ref ${object.name or 'n/a' })" +msgstr "" +"${object.company_id.name|safe} Umlagerung (Ref ${object.name or 'n/a' })" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:31 +#, python-format +msgid "Compose Email" +msgstr "Email verfassen" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "Per Email versenden" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "Umlagern" diff --git a/stock_picking_send_by_mail/i18n/es.po b/stock_picking_send_by_mail/i18n/es.po new file mode 100644 index 000000000000..fcf6a67d2115 --- /dev/null +++ b/stock_picking_send_by_mail/i18n/es.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-02 02:50+0000\n" +"PO-Revision-Date: 2019-04-02 14:15+0000\n" +"Last-Translator: MiquelDATW \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.5.1\n" + +#. module: stock_picking_send_by_mail +#: model:mail.template,body_html:stock_picking_send_by_mail.email_template_stock_picking +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

Here is your picking from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Picking number: ${object.name}
\n" +" % if object.origin:\n" +"   Picking reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Hola ${object.partner_id.name},

\n" +"\n" +"

Éste es su albarán de ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCIAS
\n" +"   Número de Albarán: ${object.name}
\n" +" % if object.origin:\n" +"   Número de Pedido: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Su contacto: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

Si tiene alguna pregunta, no dude en contactarnos.

\n" +"

Muchas gracias por escoger ${object.company_id.name or 'nuestra " +"compañía'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Teléfono:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: stock_picking_send_by_mail +#: model:mail.template,report_name:stock_picking_send_by_mail.email_template_stock_picking +msgid "${(object.name or '').replace('/','_')}" +msgstr "${(object.name or '').replace('/','_')}" + +#. module: stock_picking_send_by_mail +#: model:mail.template,subject:stock_picking_send_by_mail.email_template_stock_picking +msgid "${object.company_id.name|safe} Picking (Ref ${object.name or 'n/a' })" +msgstr "${object.company_id.name|safe} Albarán (Ref ${object.name or 'n/a' })" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:31 +#, python-format +msgid "Compose Email" +msgstr "Componer correo electrónico" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "Enviar por correo electrónico" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "Transferencia" diff --git a/stock_picking_send_by_mail/i18n/fr.po b/stock_picking_send_by_mail/i18n/fr.po new file mode 100644 index 000000000000..57320a6dd74d --- /dev/null +++ b/stock_picking_send_by_mail/i18n/fr.po @@ -0,0 +1,186 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +# Translators: +# OCA Transbot , 2017 +# Quentin THEURET , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-02 02:50+0000\n" +"PO-Revision-Date: 2017-09-02 02:50+0000\n" +"Last-Translator: Quentin THEURET , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_picking_send_by_mail +#: model:mail.template,body_html:stock_picking_send_by_mail.email_template_stock_picking +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

Here is your picking from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Picking number: ${object.name}
\n" +" % if object.origin:\n" +"   Picking reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Bonjour ${object.partner_id.name},

\n" +"\n" +"

Voici votre envoi de ${object.company_id.name}:

\n" +"\n" +"

\n" +"   RÉFÉRENCES
\n" +"    Numéro d'envoi: ${object.name}
\n" +" % if object.origin:\n" +"    Référence du mouvement: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Votre contact : ${object.user_id." +"name}\n" +" % endif\n" +"

\n" +"

Si vous avez des questions, n'hésitez pas à nous contacter

\n" +"

Merci ${'d'avoir choisi %s' % object.company_id.name or 'de nous " +"avoir choisi'}

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Téléphone :  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Site web : ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: stock_picking_send_by_mail +#: model:mail.template,report_name:stock_picking_send_by_mail.email_template_stock_picking +msgid "${(object.name or '').replace('/','_')}" +msgstr "${(object.name or '').replace('/','_')}" + +#. module: stock_picking_send_by_mail +#: model:mail.template,subject:stock_picking_send_by_mail.email_template_stock_picking +msgid "${object.company_id.name|safe} Picking (Ref ${object.name or 'n/a' })" +msgstr "" +"${object.company_id.name|safe} Mouvement de stock (Réf ${object.name or 'n/" +"a' })" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:31 +#, python-format +msgid "Compose Email" +msgstr "Écrire le courriel" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "Envoyé par courriel" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "Transfert" diff --git a/stock_picking_send_by_mail/i18n/it.po b/stock_picking_send_by_mail/i18n/it.po new file mode 100644 index 000000000000..63550f3c3369 --- /dev/null +++ b/stock_picking_send_by_mail/i18n/it.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +# Translators: +# Paolo Valier , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-02 02:50+0000\n" +"PO-Revision-Date: 2017-09-02 02:50+0000\n" +"Last-Translator: Paolo Valier , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_picking_send_by_mail +#: model:mail.template,body_html:stock_picking_send_by_mail.email_template_stock_picking +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

Here is your picking from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Picking number: ${object.name}
\n" +" % if object.origin:\n" +"   Picking reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:mail.template,report_name:stock_picking_send_by_mail.email_template_stock_picking +msgid "${(object.name or '').replace('/','_')}" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:mail.template,subject:stock_picking_send_by_mail.email_template_stock_picking +msgid "${object.company_id.name|safe} Picking (Ref ${object.name or 'n/a' })" +msgstr "" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:31 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "Trasferisci" diff --git a/stock_picking_send_by_mail/i18n/pt_BR.po b/stock_picking_send_by_mail/i18n/pt_BR.po new file mode 100644 index 000000000000..ccf2697b527c --- /dev/null +++ b/stock_picking_send_by_mail/i18n/pt_BR.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-02 02:50+0000\n" +"PO-Revision-Date: 2017-09-02 02:50+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_picking_send_by_mail +#: model:mail.template,body_html:stock_picking_send_by_mail.email_template_stock_picking +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

Here is your picking from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Picking number: ${object.name}
\n" +" % if object.origin:\n" +"   Picking reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id." +"name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % object.company_id." +"state_id.name) or ''} ${object.company_id.country_id.name or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +" \n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:mail.template,report_name:stock_picking_send_by_mail.email_template_stock_picking +msgid "${(object.name or '').replace('/','_')}" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:mail.template,subject:stock_picking_send_by_mail.email_template_stock_picking +msgid "${object.company_id.name|safe} Picking (Ref ${object.name or 'n/a' })" +msgstr "" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:31 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "Transferir" diff --git a/stock_picking_send_by_mail/i18n/stock_picking_send_by_mail.pot b/stock_picking_send_by_mail/i18n/stock_picking_send_by_mail.pot new file mode 100644 index 000000000000..193ea406a2bf --- /dev/null +++ b/stock_picking_send_by_mail/i18n/stock_picking_send_by_mail.pot @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_send_by_mail +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_picking_send_by_mail +#: code:addons/stock_picking_send_by_mail/models/stock_picking.py:0 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model.fields,field_description:stock_picking_send_by_mail.field_stock_picking__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model.fields,field_description:stock_picking_send_by_mail.field_stock_picking__id +msgid "ID" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model.fields,field_description:stock_picking_send_by_mail.field_stock_picking____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model_terms:ir.ui.view,arch_db:stock_picking_send_by_mail.view_picking_form +msgid "Send by Email" +msgstr "" + +#. module: stock_picking_send_by_mail +#: model:ir.model,name:stock_picking_send_by_mail.model_stock_picking +msgid "Transfer" +msgstr "" diff --git a/stock_picking_send_by_mail/models/__init__.py b/stock_picking_send_by_mail/models/__init__.py new file mode 100644 index 000000000000..1e28835357e9 --- /dev/null +++ b/stock_picking_send_by_mail/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import stock_picking diff --git a/stock_picking_send_by_mail/models/stock_picking.py b/stock_picking_send_by_mail/models/stock_picking.py new file mode 100644 index 000000000000..dd14293f77b3 --- /dev/null +++ b/stock_picking_send_by_mail/models/stock_picking.py @@ -0,0 +1,36 @@ +# Copyright 2015 - Sandra Figueroa Varela +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + def action_picking_send(self): + self.ensure_one() + template = self.company_id.stock_mail_confirmation_template_id + compose_form = self.env.ref( + "mail.email_compose_message_wizard_form", + False, + ) + ctx = dict( + default_model="stock.picking", + default_res_id=self.id, + default_use_template=bool(template), + default_template_id=template and template.id or False, + default_composition_mode="comment", + user_id=self.env.user.id, + ) + return { + "name": _("Compose Email"), + "type": "ir.actions.act_window", + "view_type": "form", + "view_mode": "form", + "res_model": "mail.compose.message", + "views": [(compose_form.id, "form")], + "view_id": compose_form.id, + "target": "new", + "context": ctx, + } diff --git a/stock_picking_send_by_mail/readme/CONTRIBUTORS.rst b/stock_picking_send_by_mail/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..c8e7b136ee70 --- /dev/null +++ b/stock_picking_send_by_mail/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* Sandra Figueroa Varela +* Tecnativa : + + * Vicent Cubells + * Carlos Roca diff --git a/stock_picking_send_by_mail/readme/DESCRIPTION.rst b/stock_picking_send_by_mail/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..46118ca3abcb --- /dev/null +++ b/stock_picking_send_by_mail/readme/DESCRIPTION.rst @@ -0,0 +1,6 @@ +========================== +Stock picking send by mail +========================== + +This module was written to extend the functionality of stock picking and allow +you to send the picking order by email. diff --git a/stock_picking_send_by_mail/readme/USAGE.rst b/stock_picking_send_by_mail/readme/USAGE.rst new file mode 100644 index 000000000000..bda2ae2a6c1b --- /dev/null +++ b/stock_picking_send_by_mail/readme/USAGE.rst @@ -0,0 +1,5 @@ +To use this module, you need to: + +* Go to a Delivery Order. +* Click on the button Send by Email. +* And finally click on the button Send. diff --git a/stock_picking_send_by_mail/static/description/icon.png b/stock_picking_send_by_mail/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/stock_picking_send_by_mail/static/description/icon.png differ diff --git a/stock_picking_send_by_mail/static/description/index.html b/stock_picking_send_by_mail/static/description/index.html new file mode 100644 index 000000000000..c1a1ce0fc80c --- /dev/null +++ b/stock_picking_send_by_mail/static/description/index.html @@ -0,0 +1,442 @@ + + + + + + +README.rst + + + +
+ + +
+

Stock Picking by Mail

+ +

Beta License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runbot

+
+
+

Stock picking send by mail

+

This module was written to extend the functionality of stock picking and allow +you to send the picking order by email.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  • Go to a Delivery Order.
  • +
  • Click on the button Send by Email.
  • +
  • And finally click on the button Send.
  • +
+
+
+

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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Sandra Figueroa Varela
  • +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

This module is part of the OCA/stock-logistics-workflow project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/stock_picking_send_by_mail/tests/__init__.py b/stock_picking_send_by_mail/tests/__init__.py new file mode 100644 index 000000000000..857c01757155 --- /dev/null +++ b/stock_picking_send_by_mail/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_stock_picking_send_by_mail diff --git a/stock_picking_send_by_mail/tests/test_stock_picking_send_by_mail.py b/stock_picking_send_by_mail/tests/test_stock_picking_send_by_mail.py new file mode 100644 index 000000000000..72360a2a5e38 --- /dev/null +++ b/stock_picking_send_by_mail/tests/test_stock_picking_send_by_mail.py @@ -0,0 +1,40 @@ +# Copyright 2017 Tecnativa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests import common + + +class TestStockPickingSendByMail(common.SavepointCase): + @classmethod + def setUpClass(cls): + super(TestStockPickingSendByMail, cls).setUpClass() + cls.product = cls.env["product.product"].create({"name": "Test product"}) + cls.location_id = cls.env.ref("stock.stock_location_stock") + cls.location_destination_id = cls.env.ref("stock.stock_location_customers") + cls.picking_type = cls.env.ref("stock.picking_type_out") + cls.picking = cls.env["stock.picking"].create( + { + "picking_type_id": cls.picking_type.id, + "location_id": cls.location_id.id, + "location_dest_id": cls.location_destination_id.id, + "move_lines": [ + ( + 0, + 0, + { + "name": cls.product.name, + "product_id": cls.product.id, + "product_uom": cls.product.uom_id.id, + "location_id": cls.location_id.id, + "location_dest_id": cls.location_destination_id.id, + }, + ) + ], + } + ) + + def test_send_mail(self): + self.picking.action_confirm() + self.picking.action_assign() + result = self.picking.action_picking_send() + self.assertEqual(result["name"], "Compose Email") diff --git a/stock_picking_send_by_mail/views/stock_picking_view.xml b/stock_picking_send_by_mail/views/stock_picking_view.xml new file mode 100644 index 000000000000..04009fc15f63 --- /dev/null +++ b/stock_picking_send_by_mail/views/stock_picking_view.xml @@ -0,0 +1,19 @@ + + + + stock.picking.form + stock.picking + + + +