From d615c7d7fc0f81c92c09f1b454917eccaa4dba67 Mon Sep 17 00:00:00 2001
From: Yajo <Yajo@users.noreply.github.com>
Date: Mon, 25 Jul 2016 12:50:32 +0200
Subject: [PATCH] [8.0][IMP][mass_mailing_custom_unsubscribe] Get reasons for
 unsubscription (#58)

* [8.0][IMP][mass_mailing_custom_unsubscribe] Get reasons for unsubscription.
---
 mass_mailing_custom_unsubscribe/README.rst    |  56 ++-
 .../__manifest__.py                           |  15 +-
 .../controllers.py                            |  15 -
 .../controllers/__init__.py                   |   5 +
 .../controllers/main.py                       | 237 +++++++++++
 .../data/install_salt.xml                     |  11 +
 .../data/mail.unsubscription.reason.csv       |   5 +
 mass_mailing_custom_unsubscribe/exceptions.py |   9 +
 mass_mailing_custom_unsubscribe/i18n/es.po    | 376 +++++++++++++++++-
 .../images/failure.png                        | Bin 0 -> 42059 bytes
 .../images/form.png                           | Bin 0 -> 36564 bytes
 .../images/success.png                        | Bin 0 -> 35465 bytes
 .../migrations/8.0.2.0.0/pre-migrate.py       |  27 ++
 .../models/__init__.py                        |   8 +-
 .../models/mail_mail.py                       |  35 +-
 .../models/mail_mass_mailing.py               |  35 ++
 .../models/mail_mass_mailing_list.py          |  15 +
 .../models/mail_unsubscription.py             |  74 ++++
 .../security/ir.model.access.csv              |   6 +
 .../static/src/js/require_details.js          |  13 +
 .../tests/__init__.py                         |   7 +
 .../tests/test_controller.py                  | 111 ++++++
 .../tests/test_mail_mail.py                   |  97 +++++
 .../tests/test_unsubscription.py              |  21 +
 .../views/assets.xml                          |  17 +
 .../views/mail_mass_mailing_list_view.xml     |  21 +
 .../views/mail_unsubscription_reason_view.xml |  60 +++
 .../views/mail_unsubscription_view.xml        |  89 +++++
 .../views/pages.xml                           | 106 ++++-
 29 files changed, 1411 insertions(+), 60 deletions(-)
 delete mode 100644 mass_mailing_custom_unsubscribe/controllers.py
 create mode 100644 mass_mailing_custom_unsubscribe/controllers/__init__.py
 create mode 100644 mass_mailing_custom_unsubscribe/controllers/main.py
 create mode 100644 mass_mailing_custom_unsubscribe/data/install_salt.xml
 create mode 100644 mass_mailing_custom_unsubscribe/data/mail.unsubscription.reason.csv
 create mode 100644 mass_mailing_custom_unsubscribe/exceptions.py
 create mode 100644 mass_mailing_custom_unsubscribe/images/failure.png
 create mode 100644 mass_mailing_custom_unsubscribe/images/form.png
 create mode 100644 mass_mailing_custom_unsubscribe/images/success.png
 create mode 100644 mass_mailing_custom_unsubscribe/migrations/8.0.2.0.0/pre-migrate.py
 create mode 100644 mass_mailing_custom_unsubscribe/models/mail_mass_mailing.py
 create mode 100644 mass_mailing_custom_unsubscribe/models/mail_mass_mailing_list.py
 create mode 100644 mass_mailing_custom_unsubscribe/models/mail_unsubscription.py
 create mode 100644 mass_mailing_custom_unsubscribe/security/ir.model.access.csv
 create mode 100644 mass_mailing_custom_unsubscribe/static/src/js/require_details.js
 create mode 100644 mass_mailing_custom_unsubscribe/tests/__init__.py
 create mode 100644 mass_mailing_custom_unsubscribe/tests/test_controller.py
 create mode 100644 mass_mailing_custom_unsubscribe/tests/test_mail_mail.py
 create mode 100644 mass_mailing_custom_unsubscribe/tests/test_unsubscription.py
 create mode 100644 mass_mailing_custom_unsubscribe/views/assets.xml
 create mode 100644 mass_mailing_custom_unsubscribe/views/mail_mass_mailing_list_view.xml
 create mode 100644 mass_mailing_custom_unsubscribe/views/mail_unsubscription_reason_view.xml
 create mode 100644 mass_mailing_custom_unsubscribe/views/mail_unsubscription_view.xml

diff --git a/mass_mailing_custom_unsubscribe/README.rst b/mass_mailing_custom_unsubscribe/README.rst
index 293670cc4..551b6d177 100644
--- a/mass_mailing_custom_unsubscribe/README.rst
+++ b/mass_mailing_custom_unsubscribe/README.rst
@@ -8,10 +8,17 @@ Customizable unsubscription process on mass mailing emails
 With this module you can set a custom unsubscribe link appended at the bottom
 of mass mailing emails.
 
+It also displays a beautiful and simple unsubscription form when somebody
+unsubscribes, to let you know why and let the user unsubscribe form another
+mailing lists at the same time; and then displays a beautiful and customizable
+goodbye message.
 
 Configuration
 =============
 
+Unsubscription Message In Mail Footer
+-------------------------------------
+
 To configure unsubscribe label go to *Settings > Technical > Parameters >
 System parameters* and add a ``mass_mailing.unsubscribe.label`` parameter
 with HTML to set at the bottom of mass emailing emails. Including ``%(url)s``
@@ -28,34 +35,63 @@ default 'Click to unsubscribe' link will appear, with the advantage that it is
 translatable via *Settings > Translations > Application Terms > Translated
 terms*.
 
-Also your unsubscriptors will recieve a beautier goodbye page. You can
-customize it clicking here **after installing the module**:
+Unsubscription Reasons
+----------------------
 
-* `Unsubscription successful </page/mass_mail_unsubscription_success>`_.
-* `Unsubscription failed </page/mass_mail_unsubscription_failure>`_.
+You can customize what reasons will be displayed to your unsubscriptors when
+they are going to unsubscribe. To do it:
 
+#. Go to *Marketing > Configuration > Unsubscription Reasons*.
+#. Create / edit / remove / sort as usual.
+#. If *Details required* is enabled, they will have to fill a text area to
+   continue.
+
+Unsubscription Goodbye Message
+------------------------------
+
+Your unsubscriptors will receive a beautier goodbye page. You can customize it
+with these links **after installing the module**:
+
+* `Unsubscription successful </page/mass_mailing_custom_unsubscribe.successs>`_.
+* `Unsubscription failed </page/mass_mailing_custom_unsubscribe.failure>`_.
 
 Usage
 =====
 
+Once configured, just send mass mailings as usual.
+
+If somebody gets unsubscribed, you will see logs about that under
+*Marketing > Mass Mailing > Unsubscriptions*.
+
 .. 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
 
-
 Known issues / Roadmap
 ======================
 
+* This needs tests.
 * This custom HTML is not translatable, so as a suggestion, you can define
   the same text in several languages in several lines.
 
-For example:
+  For example:
 
 .. code:: html
 
   <small>[EN] You can unsubscribe <a href="%(url)s">here</a></small><br/>
   <small>[ES] Puedes darte de baja <a href="%(url)s">aquí</a></small>
 
+* If you use the ``website_multi`` module, you will probably find that the
+  views are not visible by default.
+* This module adds a security hash for mass mailing unsubscription URLs, which
+  makes to not work anymore URLs of mass mailing messages sent before its
+  installation. If you need backwards compatibility, disable this security
+  feature by removing the ``mass_mailing.salt`` system parameter. To avoid
+  breaking current installations, you will not get a salt if you are upgrading
+  the addon. If you want a salt, create the above system parameter and assign a
+  random value to it.
+* Security should be patched upstream. Remove security features in the version
+  where https://github.com/odoo/odoo/pull/12040 gets merged (if it does).
 
 Bug Tracker
 ===========
@@ -63,8 +99,10 @@ Bug Tracker
 Bugs are tracked on `GitHub Issues <https://github.com/OCA/social/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 <https://github.com/OCA/social/issues/new?body=module:%20mass_mailing_custom_unsubscribe%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
-
+`here <https://github.com/OCA/
+social/issues/new?body=module:%20
+mass_mailing_custom_unsubscribe%0Aversion:%20
+8.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
 
 Credits
 =======
@@ -89,4 +127,4 @@ 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.
+To contribute to this module, please visit https://odoo-community.org.
diff --git a/mass_mailing_custom_unsubscribe/__manifest__.py b/mass_mailing_custom_unsubscribe/__manifest__.py
index 5d749a3e7..e4d97195c 100644
--- a/mass_mailing_custom_unsubscribe/__manifest__.py
+++ b/mass_mailing_custom_unsubscribe/__manifest__.py
@@ -23,15 +23,28 @@
 {
     'name': "Customizable unsubscription process on mass mailing emails",
     'category': 'Marketing',
-    'version': '8.0.1.1.0',
+    'version': '8.0.2.0.0',
     'depends': [
         'mass_mailing',
         'website_crm',
     ],
     'data': [
+        'security/ir.model.access.csv',
+        'data/install_salt.xml',
+        'data/mail.unsubscription.reason.csv',
+        'views/assets.xml',
+        'views/mail_unsubscription_reason_view.xml',
+        'views/mail_mass_mailing_list_view.xml',
+        'views/mail_unsubscription_view.xml',
         'views/pages.xml',
     ],
+    'images': [
+        'images/failure.png',
+        'images/form.png',
+        'images/success.png',
+    ],
     'author': 'Antiun Ingeniería S.L., '
+              'Tecnativa,'
               'Odoo Community Association (OCA)',
     'website': 'http://www.antiun.com',
     'license': 'AGPL-3',
diff --git a/mass_mailing_custom_unsubscribe/controllers.py b/mass_mailing_custom_unsubscribe/controllers.py
deleted file mode 100644
index b05ceee57..000000000
--- a/mass_mailing_custom_unsubscribe/controllers.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding: utf-8 -*-
-# © 2015 Antiun Ingeniería S.L. (http://www.antiun.com)
-# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
-
-from openerp import http
-from openerp.addons.mass_mailing.controllers.main import MassMailController
-
-
-class CustomUnsuscribe(MassMailController):
-    @http.route()
-    def mailing(self, *args, **kwargs):
-        path = "/page/mass_mail_unsubscription_%s"
-        result = super(CustomUnsuscribe, self).mailing(*args, **kwargs)
-        return http.local_redirect(
-            path % ("success" if result.data == "OK" else "failure"))
diff --git a/mass_mailing_custom_unsubscribe/controllers/__init__.py b/mass_mailing_custom_unsubscribe/controllers/__init__.py
new file mode 100644
index 000000000..494785710
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/controllers/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import main
diff --git a/mass_mailing_custom_unsubscribe/controllers/main.py b/mass_mailing_custom_unsubscribe/controllers/main.py
new file mode 100644
index 000000000..263d39b41
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/controllers/main.py
@@ -0,0 +1,237 @@
+# -*- coding: utf-8 -*-
+# © 2015 Antiun Ingeniería S.L. (http://www.antiun.com)
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
+
+from openerp import exceptions
+from openerp.http import local_redirect, request, route
+from openerp.addons.mass_mailing.controllers.main import MassMailController
+from .. import exceptions as _ex
+
+
+class CustomUnsubscribe(MassMailController):
+    def _mailing_list_contacts_by_email(self, email):
+        """Gets the mailing list contacts by email.
+
+        This should not be displayed to the final user if security validations
+        have not been matched.
+        """
+        return request.env["mail.mass_mailing.contact"].sudo().search([
+            ("email", "=", email),
+            ("opt_out", "=", False),
+            ("list_id.not_cross_unsubscriptable", "=", False),
+        ])
+
+    def unsubscription_reason(self, mailing_id, email, res_id, token,
+                              qcontext_extra=None):
+        """Get the unsubscription reason form.
+
+        :param mail.mass_mailing mailing_id:
+            Mailing where the unsubscription is being processed.
+
+        :param str email:
+            Email to be unsubscribed.
+
+        :param int res_id:
+            ID of the unsubscriber.
+
+        :param dict qcontext_extra:
+            Additional dictionary to pass to the view.
+        """
+        values = self.unsubscription_qcontext(mailing_id, email, res_id, token)
+        values.update(qcontext_extra or dict())
+        return request.website.render(
+            "mass_mailing_custom_unsubscribe.reason_form",
+            values)
+
+    def unsubscription_qcontext(self, mailing_id, email, res_id, token):
+        """Get rendering context for unsubscription form.
+
+        :param mail.mass_mailing mailing_id:
+            Mailing where the unsubscription is being processed.
+
+        :param str email:
+            Email to be unsubscribed.
+
+        :param int res_id:
+            ID of the unsubscriber.
+        """
+        email_fname = origin_name = None
+        domain = [("id", "=", res_id)]
+        record_ids = request.env[mailing_id.mailing_model].sudo()
+
+        if "email_from" in record_ids._fields:
+            email_fname = "email_from"
+        elif "email" in record_ids._fields:
+            email_fname = "email"
+
+        if not (email_fname and email):
+            # Trying to unsubscribe without email? Bad boy...
+            raise exceptions.AccessDenied()
+
+        domain.append((email_fname, "ilike", email))
+
+        # Search additional mailing lists for the unsubscriber
+        additional_contacts = self._mailing_list_contacts_by_email(email)
+
+        if record_ids._name == "mail.mass_mailing.contact":
+            domain.append(
+                ("list_id", "in", mailing_id.contact_list_ids.ids))
+
+        # Unsubscription targets
+        record_ids = record_ids.search(domain)
+
+        if record_ids._name == "mail.mass_mailing.contact":
+            additional_contacts -= record_ids
+
+        if not record_ids:
+            # Trying to unsubscribe with fake criteria? Bad boy...
+            raise exceptions.AccessDenied()
+
+        # Get data to identify the source of the unsubscription
+        fnames = self.unsubscription_special_fnames(record_ids._name)
+        first = record_ids[:1]
+        contact_name = first[fnames.get("contact", "name")]
+        origin_model_name = request.env["ir.model"].search(
+            [("model", "=", first._name)]).name
+        try:
+            first = first[fnames["related"]]
+        except KeyError:
+            pass
+        try:
+            origin_name = first[fnames["origin"]]
+        except KeyError:
+            pass
+
+        # Get available reasons
+        reason_ids = (
+            request.env["mail.unsubscription.reason"].search([]))
+
+        return {
+            "additional_contact_ids": additional_contacts,
+            "contact_name": contact_name,
+            "email": email,
+            "mailing_id": mailing_id,
+            "origin_model_name": origin_model_name,
+            "origin_name": origin_name,
+            "reason_ids": reason_ids,
+            "record_ids": record_ids,
+            "res_id": res_id,
+            "token": token,
+        }
+
+    def unsubscription_special_fnames(self, model):
+        """Define special field names to generate the unsubscription qcontext.
+
+        :return dict:
+            Special fields will depend on the model, so this method should
+            return something like::
+
+                {
+                    "related": "parent_id",
+                    "origin": "display_name",
+                    "contact": "contact_name",
+                }
+
+            Where:
+
+            - ``model.name`` is the technical name of the model.
+            - ``related`` indicates the name of a field in ``model.name`` that
+              contains a :class:`openerp.fields.Many2one` field which is
+              considered what the user is unsubscribing from.
+            - ``origin``: is the name of the field that contains the name of
+              what the user is unsubscribing from.
+            - ``contact`` is the name of the field that contains the name of
+              the user that is unsubscribing.
+
+            Missing keys will mean that nothing special is required for that
+            model and it will use the default values.
+        """
+        specials = {
+            "mail.mass_mailing.contact": {
+                "related": "list_id",
+                "origin": "display_name",
+            },
+            "crm.lead": {
+                "origin": "name",
+                "contact": "contact_name",
+            },
+            "hr.applicant": {
+                "related": "job_id",
+                "origin": "name",
+            },
+            # In case you install OCA's event_registration_mass_mailing
+            "event.registration": {
+                "related": "event_id",
+                "origin": "name",
+            },
+        }
+        return specials.get(model, dict())
+
+    @route(auth="public", website=True)
+    def mailing(self, mailing_id, email=None, res_id=None, **post):
+        """Display a confirmation form to get the unsubscription reason."""
+        mailing = request.env["mail.mass_mailing"]
+        path = "/page/mass_mailing_custom_unsubscribe.%s"
+        good_token = mailing.hash_create(mailing_id, res_id, email)
+
+        # Trying to unsubscribe with fake hash? Bad boy...
+        if good_token and post.get("token") != good_token:
+            return local_redirect(path % "failure")
+
+        mailing = mailing.sudo().browse(mailing_id)
+        contact = request.env["mail.mass_mailing.contact"].sudo()
+        unsubscription = request.env["mail.unsubscription"].sudo()
+
+        if not post.get("reason_id"):
+            # We need to know why you leave, get to the form
+            return self.unsubscription_reason(
+                mailing, email, res_id, post.get("token"))
+
+        # Save reason and details
+        try:
+            with request.env.cr.savepoint():
+                records = unsubscription.create({
+                    "email": email,
+                    "unsubscriber_id": ",".join(
+                        (mailing.mailing_model, res_id)),
+                    "reason_id": int(post["reason_id"]),
+                    "details": post.get("details", False),
+                    "mass_mailing_id": mailing_id,
+                })
+
+        # Should provide details, go back to form
+        except _ex.DetailsRequiredError:
+            return self.unsubscription_reason(
+                mailing, email, res_id, post.get("token"),
+                {"error_details_required": True})
+
+        # Unsubscribe from additional lists
+        for key, value in post.iteritems():
+            try:
+                label, list_id = key.split(",")
+                if label != "list_id":
+                    raise ValueError
+                list_id = int(list_id)
+            except ValueError:
+                pass
+            else:
+                contact_id = contact.browse(int(value))
+                if contact_id.list_id.id == list_id:
+                    contact_id.opt_out = True
+                    records += unsubscription.create({
+                        "email": email,
+                        "unsubscriber_id": ",".join((contact._name, value)),
+                        "reason_id": int(post["reason_id"]),
+                        "details": post.get("details", False),
+                        "mass_mailing_id": mailing_id,
+                    })
+
+        # All is OK, unsubscribe
+        result = super(CustomUnsubscribe, self).mailing(
+            mailing_id, email, res_id, **post)
+        records.write({"success": result.data == "OK"})
+
+        # Redirect to the result
+        return local_redirect(path % ("success" if result.data == "OK"
+                                      else "failure"))
diff --git a/mass_mailing_custom_unsubscribe/data/install_salt.xml b/mass_mailing_custom_unsubscribe/data/install_salt.xml
new file mode 100644
index 000000000..46732d60b
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/data/install_salt.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<openerp>
+<data noupdate="1">
+
+<function model="mail.mass_mailing" name="_init_salt_create"/>
+
+</data>
+</openerp>
diff --git a/mass_mailing_custom_unsubscribe/data/mail.unsubscription.reason.csv b/mass_mailing_custom_unsubscribe/data/mail.unsubscription.reason.csv
new file mode 100644
index 000000000..061d15873
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/data/mail.unsubscription.reason.csv
@@ -0,0 +1,5 @@
+"id","name","sequence","details_required"
+"reason_not_interested","I'm not interested",10,"False"
+"reason_not_requested","I did not request this",20,"False"
+"reason_too_many","I get too many emails",30,"False"
+"reason_other","Other reason",100,"True"
diff --git a/mass_mailing_custom_unsubscribe/exceptions.py b/mass_mailing_custom_unsubscribe/exceptions.py
new file mode 100644
index 000000000..efaac9080
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/exceptions.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp import exceptions
+
+
+class DetailsRequiredError(exceptions.ValidationError):
+    pass
diff --git a/mass_mailing_custom_unsubscribe/i18n/es.po b/mass_mailing_custom_unsubscribe/i18n/es.po
index a5a9da564..4405dea3a 100644
--- a/mass_mailing_custom_unsubscribe/i18n/es.po
+++ b/mass_mailing_custom_unsubscribe/i18n/es.po
@@ -1,29 +1,381 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
-# * mass_mailing_custom_unsubscribe
-# 
-# Translators:
+#	* mass_mailing_custom_unsubscribe
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: social (8.0)\n"
+"Project-Id-Version: Odoo Server 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-09-04 14:42+0000\n"
-"PO-Revision-Date: 2015-09-04 14:43+0000\n"
-"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
-"Language-Team: Spanish (http://www.transifex.com/oca/OCA-social-8-0/language/es/)\n"
+"POT-Creation-Date: 2016-05-23 14:21+0000\n"
+"PO-Revision-Date: 2016-05-23 14:21+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: \n"
 
 #. module: mass_mailing_custom_unsubscribe
-#: code:addons/mass_mailing_custom_unsubscribe/models/mail_mail.py:37
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "Anything else you want to say before you leave?"
+msgstr "¿Algo más que quiera decir antes de irse?"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "But before continuing, could you please tell us why do you want to unsubscribe?"
+msgstr "Pero antes de continuar, ¿podría decirnos por qué quiere darse de baja?"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,details_required:0
+#: help:mail.unsubscription.reason,details_required:0
+msgid "Check to ask for more details when this reason is selected."
+msgstr "Marcar para pedir más detalles cuando está razón se selecciona."
+
+#. module: mass_mailing_custom_unsubscribe
+#: code:addons/mass_mailing_custom_unsubscribe/models/mail_mail.py:39
 #, python-format
 msgid "Click to unsubscribe"
-msgstr "Haz click para darte de baja"
+msgstr "Haga click para darse de baja"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.failure
+#: view:website:mass_mailing_custom_unsubscribe.success
+msgid "Contact us"
+msgstr "Contáctenos"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,create_uid:0
+#: field:mail.unsubscription.reason,create_uid:0
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,create_date:0
+#: field:mail.unsubscription.reason,create_date:0
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,date:0
+msgid "Date"
+msgstr "Fecha"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,message_last_post:0
+msgid "Date of the last message posted on the record."
+msgstr "Fecha del último mensaje publicado en el registro."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,details:0
+msgid "Details"
+msgstr "Detalles"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,details_required:0
+#: field:mail.unsubscription.reason,details_required:0
+msgid "Details required"
+msgstr "Detalles requeridos"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,display_name:0
+#: field:mail.unsubscription.reason,display_name:0
+msgid "Display Name"
+msgstr "Nombre mostrado"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.mass_mailing.list,not_cross_unsubscriptable:0
+msgid "Don't show this list in the other unsubscriptions"
+msgstr "No mostrar esta lista en las otras desuscripciones"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,email:0
+msgid "Email"
+msgstr "Correo electrónico"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:ir.model,name:mass_mailing_custom_unsubscribe.model_mail_unsubscription
+msgid "Email Thread"
+msgstr "Hilo de mensajes"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_follower_ids:0
+msgid "Followers"
+msgstr "Seguidores"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+msgid "Group by"
+msgstr "Agrupar por"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "Hello,"
+msgstr "Hola,"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,message_summary:0
+msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
+msgstr "Contiene el resumen del chatter (nº de mensajes, ...). Este resumen está directamente en formato html para ser insertado en vistas kanban."
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:mail.unsubscription.reason,name:mass_mailing_custom_unsubscribe.reason_not_requested
+msgid "I did not request this"
+msgstr "No lo solicité"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:mail.unsubscription.reason,name:mass_mailing_custom_unsubscribe.reason_too_many
+msgid "I get too many emails"
+msgstr "Tengo demasiados correos electrónicos"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:mail.unsubscription.reason,name:mass_mailing_custom_unsubscribe.reason_not_interested
+msgid "I'm not interested"
+msgstr "No estoy interesado"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,id:0
+#: field:mail.unsubscription.reason,id:0
+msgid "ID"
+msgstr "ID"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr "Si está marcado, hay nuevos mensajes que requieren de su atención."
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,success:0
+msgid "If this is unchecked, it indicates some failure happened in the unsubscription process."
+msgstr "Si no está marcado, indica que algún fallo ha ocurrido en el proceso de desuscripción."
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.mass_mailing.list,not_cross_unsubscriptable:0
+msgid "If you mark this field, this list won't be shown when unsubscribing from other mailing list, in the section: 'Is there any other mailing list you want to leave?'"
+msgstr "Si marca esta casilla, esta lista no será mostrada cuando se dé de baja de otra lista de correo, en la sección: '¿Hay alguna otra lista de correo que quiera dejar?'"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_is_follower:0
+msgid "Is a Follower"
+msgstr "Es un seguidor"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "Is there any other mailing list you want to leave?"
+msgstr "¿Hay alguna otra lista de correo que quiera dejar?"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.success
+msgid "Is there anything else you want to tell us?"
+msgstr "¿Hay algo más que quiera decirnos?"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.success
+msgid "It's sad to see you go, but if you love\n"
+"                        something, let it go."
+msgstr "Es triste verlo partir, pero si quiere a algo, debe dejarlo marchar."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_last_post:0
+msgid "Last Message Date"
+msgstr "Fecha del último mensaje"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,__last_update:0
+#: field:mail.unsubscription.reason,__last_update:0
+msgid "Last Modified on"
+msgstr "Última modificación en"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,write_uid:0
+#: field:mail.unsubscription.reason,write_uid:0
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,write_date:0
+#: field:mail.unsubscription.reason,write_date:0
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:ir.model,name:mass_mailing_custom_unsubscribe.model_mail_mass_mailing_list
+msgid "Mailing List"
+msgstr "Lista de correo"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:ir.model,name:mass_mailing_custom_unsubscribe.model_mail_mass_mailing
+msgid "Mass Mailing"
+msgstr "Envío masivo"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+#: field:mail.unsubscription,mass_mailing_id:0
+msgid "Mass mailing"
+msgstr "Envío masivo"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,mass_mailing_id:0
+msgid "Mass mailing from which he was unsubscribed."
+msgstr "Envío masivo del que ha sido dado de baja."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_ids:0
+msgid "Messages"
+msgstr "Mensajes"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,message_ids:0
+msgid "Messages and communication history"
+msgstr "Mensajes e historial de comunicación"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+msgid "Month"
+msgstr "Mes"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,details:0
+msgid "More details on why the unsubscription was made."
+msgstr "Más detalles de por qué se dio de baja."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription.reason,name:0
+msgid "Name"
+msgstr "Nombre"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:mail.unsubscription.reason,name:mass_mailing_custom_unsubscribe.reason_other
+msgid "Other reason"
+msgstr "Otra razón"
 
 #. module: mass_mailing_custom_unsubscribe
 #: model:ir.model,name:mass_mailing_custom_unsubscribe.model_mail_mail
 msgid "Outgoing Mails"
 msgstr "Correos salientes"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription.reason,sequence:0
+msgid "Position of the reason in the list."
+msgstr "Posición de la razón en la lista."
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+#: field:mail.unsubscription,reason_id:0
+msgid "Reason"
+msgstr "Razón"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription.reason,sequence:0
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+#: field:mail.unsubscription,success:0
+msgid "Success"
+msgstr "Éxito"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_summary:0
+msgid "Summary"
+msgstr "Resumen"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "Thank you!"
+msgstr "¡Gracias!"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.failure
+msgid "Thanks for your patience."
+msgstr "Gracias por su paciencia."
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.failure
+msgid "There was an error processing your unsubscription\n"
+"                        request."
+msgstr "There was an error processing your unsubscription\n"
+"                        request."
+
+#. module: mass_mailing_custom_unsubscribe
+#: code:addons/mass_mailing_custom_unsubscribe/models/mail_unsubscription.py:59
+#, python-format
+msgid "This reason requires an explanation."
+msgstr "Esta razón requiere rellenar la explicación."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,message_unread:0
+msgid "Unread Messages"
+msgstr "Mensajes sin leer"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "Unsubscribe now"
+msgstr "Darse de baja ahora"
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,unsubscriber_id:0
+msgid "Unsubscriber"
+msgstr "Desuscriptor"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:ir.actions.act_window,name:mass_mailing_custom_unsubscribe.mail_unsubscription_reason_action
+#: model:ir.ui.menu,name:mass_mailing_custom_unsubscribe.mail_unsubscription_reason_menu
+msgid "Unsubscription Reasons"
+msgstr "Razones de desuscripción"
+
+#. module: mass_mailing_custom_unsubscribe
+#: model:ir.actions.act_window,name:mass_mailing_custom_unsubscribe.mail_unsubscription_action
+#: model:ir.ui.menu,name:mass_mailing_custom_unsubscribe.mail_unsubscription_menu
+msgid "Unsubscriptions"
+msgstr "Desuscripciones"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.failure
+msgid "We apologize for the inconvenience. You can contact us\n"
+"                        and we will handle your unsubscription manually."
+msgstr "Lamentamos los inconvenientes. Puede contactarnos\n"
+"                        y realizaremos la desuscripción manualmente."
+
+#. module: mass_mailing_custom_unsubscribe
+#: field:mail.unsubscription,website_message_ids:0
+msgid "Website Messages"
+msgstr "Mensajes del sitio web"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,website_message_ids:0
+msgid "Website communication history"
+msgstr "Historial de comunicación del sitio web"
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,unsubscriber_id:0
+msgid "Who was unsubscribed."
+msgstr "Quién se dio de baja."
+
+#. module: mass_mailing_custom_unsubscribe
+#: help:mail.unsubscription,reason_id:0
+msgid "Why the unsubscription was made."
+msgstr "Por qué se dio de baja."
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:mail.unsubscription:mass_mailing_custom_unsubscribe.mail_unsubscription_view_search
+msgid "Year"
+msgstr "Año"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "You are trying to unsubscribe from all massive mailings"
+msgstr "Está intentando darse de baja de todos los envíos masivos"
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.success
+msgid "You were successfully unsubscribed from our\n"
+"                        mailing list."
+msgstr "Fue dado de baja correctamente de nuestra\n"
+"                        lista de correo."
+
+#. module: mass_mailing_custom_unsubscribe
+#: view:website:mass_mailing_custom_unsubscribe.reason_form
+msgid "sent to followers of"
+msgstr "enviados a los seguidores de"
+
diff --git a/mass_mailing_custom_unsubscribe/images/failure.png b/mass_mailing_custom_unsubscribe/images/failure.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae751bfc42e9e076728bc0426b3a2224b252bff7
GIT binary patch
literal 42059
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%0DFeVSrCgHd`n)YP?ZX>=!Ox<TWp`
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

literal 0
HcmV?d00001

diff --git a/mass_mailing_custom_unsubscribe/images/form.png b/mass_mailing_custom_unsubscribe/images/form.png
new file mode 100644
index 0000000000000000000000000000000000000000..ceb0a54150b7585f290095912aa3df453ef7b3c9
GIT binary patch
literal 36564
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
QAZLWSrg}B&vibf01reJJ=Kufz

literal 0
HcmV?d00001

diff --git a/mass_mailing_custom_unsubscribe/images/success.png b/mass_mailing_custom_unsubscribe/images/success.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d835ee3d2c0b0654c676acbb645b3033f05936c
GIT binary patch
literal 35465
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%0AU0s>HQj-u}~}vu9&ftDP$w8rZRl$x99}5c~7<
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

literal 0
HcmV?d00001

diff --git a/mass_mailing_custom_unsubscribe/migrations/8.0.2.0.0/pre-migrate.py b/mass_mailing_custom_unsubscribe/migrations/8.0.2.0.0/pre-migrate.py
new file mode 100644
index 000000000..55d2cf466
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/migrations/8.0.2.0.0/pre-migrate.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+try:
+    from openupgradelib.openupgrade import rename_xmlids
+except ImportError:
+    # Simplified version mostly copied from openupgradelib
+    def rename_xmlids(cr, xmlids_spec):
+        for (old, new) in xmlids_spec:
+            if '.' not in old or '.' not in new:
+                raise Exception(
+                    'Cannot rename XMLID %s to %s: need the module '
+                    'reference to be specified in the IDs' % (old, new))
+            else:
+                query = ("UPDATE ir_model_data SET module = %s, name = %s "
+                         "WHERE module = %s and name = %s")
+                cr.execute(query, tuple(new.split('.') + old.split('.')))
+
+
+def migrate(cr, version):
+    """Update database from previous versions, before updating module."""
+    rename_xmlids(
+        cr,
+        (("website.mass_mail_unsubscription_" + r,
+          "mass_mailing_custom_unsubscribe." + r)
+         for r in ("success", "failure")))
diff --git a/mass_mailing_custom_unsubscribe/models/__init__.py b/mass_mailing_custom_unsubscribe/models/__init__.py
index ac5156be6..c81c6cc0e 100644
--- a/mass_mailing_custom_unsubscribe/models/__init__.py
+++ b/mass_mailing_custom_unsubscribe/models/__init__.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
-# Python source code encoding : https://www.python.org/dev/peps/pep-0263/
-##############################################################################
-# For copyright and license notices, see __openerp__.py file in root directory
-##############################################################################
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
 
 from . import mail_mail
+from . import mail_mass_mailing
+from . import mail_mass_mailing_list
+from . import mail_unsubscription
diff --git a/mass_mailing_custom_unsubscribe/models/mail_mail.py b/mass_mailing_custom_unsubscribe/models/mail_mail.py
index 9ae335864..dde94eca2 100644
--- a/mass_mailing_custom_unsubscribe/models/mail_mail.py
+++ b/mass_mailing_custom_unsubscribe/models/mail_mail.py
@@ -6,28 +6,37 @@
 
 import urlparse
 import urllib
-
-from openerp import models
+from openerp import api, models
 from openerp.tools.translate import _
 
 
 class MailMail(models.Model):
     _inherit = 'mail.mail'
 
-    def _get_unsubscribe_url(self, cr, uid, mail, email_to,
-                             msg=None, context=None):
-        m_config = self.pool.get('ir.config_parameter')
-        base_url = m_config.get_param(cr, uid, 'web.base.url')
-        config_msg = m_config.get_param(cr, uid,
-                                        'mass_mailing.unsubscribe.label')
+    @api.model
+    def _get_unsubscribe_url(self, mail, email_to, msg=None):
+        m_config = self.env['ir.config_parameter']
+        base_url = m_config.get_param('web.base.url')
+        config_msg = m_config.get_param('mass_mailing.unsubscribe.label')
+        params = {
+            'db': self.env.cr.dbname,
+            'res_id': mail.res_id,
+            'email': email_to,
+            'token': self.env["mail.mass_mailing"].hash_create(
+                mail.mailing_id.id,
+                mail.res_id,
+                email_to),
+        }
+
+        # Avoid `token=None` in URL
+        if not params["token"]:
+            del params["token"]
+
+        # Generate URL
         url = urlparse.urljoin(
             base_url, 'mail/mailing/%(mailing_id)s/unsubscribe?%(params)s' % {
                 'mailing_id': mail.mailing_id.id,
-                'params': urllib.urlencode({
-                    'db': cr.dbname,
-                    'res_id': mail.res_id,
-                    'email': email_to
-                })
+                'params': urllib.urlencode(params),
             }
         )
         html = ''
diff --git a/mass_mailing_custom_unsubscribe/models/mail_mass_mailing.py b/mass_mailing_custom_unsubscribe/models/mail_mass_mailing.py
new file mode 100644
index 000000000..4e17ec85f
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/models/mail_mass_mailing.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from hashlib import sha256
+from uuid import uuid4
+from openerp import api, models
+
+
+class MailMassMailing(models.Model):
+    _inherit = "mail.mass_mailing"
+
+    @api.model
+    def _init_salt_create(self):
+        """Create a salt to secure the unsubscription URLs."""
+        icp = self.env["ir.config_parameter"]
+        key = "mass_mailing.salt"
+        salt = icp.get_param(key)
+        if salt is False:
+            salt = str(uuid4())
+            icp.set_param(key, salt, ["base.group_erp_manager"])
+
+    @api.model
+    def hash_create(self, mailing_id, res_id, email):
+        """Create a secure hash to know if the unsubscription is trusted.
+
+        :return None/str:
+            Secure hash, or ``None`` if the system parameter is empty.
+        """
+        salt = self.env["ir.config_parameter"].sudo().get_param(
+            "mass_mailing.salt")
+        if not salt:
+            return None
+        source = (self.env.cr.dbname, mailing_id, res_id, email, salt)
+        return sha256(",".join(map(unicode, source))).hexdigest()
diff --git a/mass_mailing_custom_unsubscribe/models/mail_mass_mailing_list.py b/mass_mailing_custom_unsubscribe/models/mail_mass_mailing_list.py
new file mode 100644
index 000000000..971018949
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/models/mail_mass_mailing_list.py
@@ -0,0 +1,15 @@
+# -*- coding: utf-8 -*-
+# © 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp import fields, models
+
+
+class MailMassMailing(models.Model):
+    _inherit = "mail.mass_mailing.list"
+
+    not_cross_unsubscriptable = fields.Boolean(
+        string="Don't show this list in the other unsubscriptions",
+        help="If you mark this field, this list won't be shown when "
+             "unsubscribing from other mailing list, in the section: "
+             "'Is there any other mailing list you want to leave?'")
diff --git a/mass_mailing_custom_unsubscribe/models/mail_unsubscription.py b/mass_mailing_custom_unsubscribe/models/mail_unsubscription.py
new file mode 100644
index 000000000..8686d59e4
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/models/mail_unsubscription.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp import _, api, fields, models
+from .. import exceptions
+
+
+class MailUnsubscription(models.Model):
+    _name = "mail.unsubscription"
+    _inherit = "mail.thread"
+    _rec_name = "date"
+
+    date = fields.Datetime(
+        default=lambda self: self._default_date(),
+        required=True)
+    email = fields.Char(
+        required=True)
+    mass_mailing_id = fields.Many2one(
+        "mail.mass_mailing",
+        "Mass mailing",
+        required=True,
+        help="Mass mailing from which he was unsubscribed.")
+    unsubscriber_id = fields.Reference(
+        lambda self: self._selection_unsubscriber_id(),
+        "Unsubscriber",
+        required=True,
+        help="Who was unsubscribed.")
+    reason_id = fields.Many2one(
+        "mail.unsubscription.reason",
+        "Reason",
+        ondelete="restrict",
+        required=True,
+        help="Why the unsubscription was made.")
+    details = fields.Char(
+        help="More details on why the unsubscription was made.")
+    details_required = fields.Boolean(
+        related="reason_id.details_required")
+    success = fields.Boolean(
+        help="If this is unchecked, it indicates some failure happened in the "
+             "unsubscription process.")
+
+    @api.model
+    def _default_date(self):
+        return fields.Datetime.now()
+
+    @api.model
+    def _selection_unsubscriber_id(self):
+        """Models that can be linked to a ``mail.mass_mailing``."""
+        return self.env["mail.mass_mailing"]._get_mailing_model()
+
+    @api.multi
+    @api.constrains("details", "reason_id")
+    def _check_details_needed(self):
+        """Ensure details are given if required."""
+        for s in self:
+            if not s.details and s.details_required:
+                raise exceptions.DetailsRequiredError(
+                    _("This reason requires an explanation."))
+
+
+class MailUnsubscriptionReason(models.Model):
+    _name = "mail.unsubscription.reason"
+    _order = "sequence, name"
+
+    name = fields.Char(
+        index=True,
+        translate=True,
+        required=True)
+    details_required = fields.Boolean(
+        help="Check to ask for more details when this reason is selected.")
+    sequence = fields.Integer(
+        index=True,
+        help="Position of the reason in the list.")
diff --git a/mass_mailing_custom_unsubscribe/security/ir.model.access.csv b/mass_mailing_custom_unsubscribe/security/ir.model.access.csv
new file mode 100644
index 000000000..4fdadeab0
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/security/ir.model.access.csv
@@ -0,0 +1,6 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"read_unsubscription_reason_public","Public users can read unsubscription reasons","model_mail_unsubscription_reason","base.group_public",1,0,0,0
+"read_unsubscription_reason_employee","Employee users can read unsubscription reasons","model_mail_unsubscription_reason","base.group_user",1,0,0,0
+"write_unsubscription_reason","Mass mailing managers can manage unsubscription reasons","model_mail_unsubscription_reason","mass_mailing.group_mass_mailing_campaign",1,1,1,1
+"read_unsubscription","Marketing users can read unsubscriptions","model_mail_unsubscription","marketing.group_marketing_user",1,0,0,0
+"write_unsubscription","Mass mailing managers can manage unsubscriptions","model_mail_unsubscription","mass_mailing.group_mass_mailing_campaign",1,1,1,1
diff --git a/mass_mailing_custom_unsubscribe/static/src/js/require_details.js b/mass_mailing_custom_unsubscribe/static/src/js/require_details.js
new file mode 100644
index 000000000..a8459f53c
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/static/src/js/require_details.js
@@ -0,0 +1,13 @@
+/* © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+ * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
+
+"use strict";
+(function ($) {
+    $("#reason_form :radio").change(function(event) {
+        $("textarea[name=details]").attr(
+            "required",
+            $(event.target).is("[data-details-required]")
+        );
+    });
+    $("#reason_form :radio:checked").change();
+})(jQuery);
diff --git a/mass_mailing_custom_unsubscribe/tests/__init__.py b/mass_mailing_custom_unsubscribe/tests/__init__.py
new file mode 100644
index 000000000..033a58c2e
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/tests/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import test_unsubscription
+from . import test_mail_mail
+from . import test_controller
diff --git a/mass_mailing_custom_unsubscribe/tests/test_controller.py b/mass_mailing_custom_unsubscribe/tests/test_controller.py
new file mode 100644
index 000000000..df04d7935
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/tests/test_controller.py
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+# © 2016 LasLabs Inc.
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+import mock
+from contextlib import contextmanager
+
+from openerp.tests.common import TransactionCase
+
+from openerp.addons.mass_mailing_custom_unsubscribe.controllers.main import (
+    CustomUnsubscribe
+)
+
+
+model = 'openerp.addons.mass_mailing_custom_unsubscribe.controllers.main'
+
+
+@contextmanager
+def mock_assets():
+    """ Mock & yield controller assets """
+    with mock.patch('%s.request' % model) as request:
+        yield {
+            'request': request,
+        }
+
+
+class EndTestException(Exception):
+    pass
+
+
+class TestController(TransactionCase):
+
+    def setUp(self):
+        super(TestController, self).setUp()
+        self.controller = CustomUnsubscribe()
+
+    def _default_domain(self):
+        return [
+            ('opt_out', '=', False),
+            ('list_id.not_cross_unsubscriptable', '=', False),
+        ]
+
+    def test_mailing_list_contacts_by_email_search(self):
+        """ It should search for contacts """
+        expect = 'email'
+        with mock_assets() as mk:
+            self.controller._mailing_list_contacts_by_email(expect)
+            model_obj = mk['request'].env['mail.mass_mailing.contact'].sudo()
+            model_obj.search.assert_called_once_with(
+                [('email', '=', expect)] + self._default_domain()
+            )
+
+    def test_mailing_list_contacts_by_email_return(self):
+        """ It should return result of search """
+        expect = 'email'
+        with mock_assets() as mk:
+            res = self.controller._mailing_list_contacts_by_email(expect)
+            model_obj = mk['request'].env['mail.mass_mailing.contact'].sudo()
+            self.assertEqual(
+                model_obj.search(), res,
+            )
+
+    def test_unsubscription_reason_gets_context(self):
+        """ It should retrieve unsub qcontext """
+        expect = 'mailing_id', 'email', 'res_id', 'token'
+        with mock_assets():
+            with mock.patch.object(
+                self.controller, 'unsubscription_qcontext'
+            ) as unsub:
+                unsub.side_effect = EndTestException
+                with self.assertRaises(EndTestException):
+                    self.controller.unsubscription_reason(*expect)
+                unsub.assert_called_once_with(*expect)
+
+    def test_unsubscription_updates_with_extra_context(self):
+        """ It should update qcontext with provided vals """
+        expect = 'mailing_id', 'email', 'res_id', 'token'
+        qcontext = {'context': 'test'}
+        with mock_assets():
+            with mock.patch.object(
+                self.controller, 'unsubscription_qcontext'
+            ) as unsub:
+                self.controller.unsubscription_reason(
+                    *expect, qcontext_extra=qcontext
+                )
+                unsub().update.assert_called_once_with(qcontext)
+
+    def test_unsubscription_updates_rendered_correctly(self):
+        """ It should correctly render website """
+        expect = 'mailing_id', 'email', 'res_id', 'token'
+        with mock_assets() as mk:
+            with mock.patch.object(
+                self.controller, 'unsubscription_qcontext'
+            ) as unsub:
+                self.controller.unsubscription_reason(*expect)
+                mk['request'].website.render.assert_called_once_with(
+                    "mass_mailing_custom_unsubscribe.reason_form",
+                    unsub(),
+                )
+
+    def test_unsubscription_updates_returns_site(self):
+        """ It should return website """
+        expect = 'mailing_id', 'email', 'res_id', 'token'
+        with mock_assets() as mk:
+            with mock.patch.object(
+                self.controller, 'unsubscription_qcontext'
+            ):
+                res = self.controller.unsubscription_reason(*expect)
+                self.assertEqual(
+                    mk['request'].website.render(), res
+                )
diff --git a/mass_mailing_custom_unsubscribe/tests/test_mail_mail.py b/mass_mailing_custom_unsubscribe/tests/test_mail_mail.py
new file mode 100644
index 000000000..9692267c1
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/tests/test_mail_mail.py
@@ -0,0 +1,97 @@
+# -*- coding: utf-8 -*-
+# © 2016 LasLabs Inc.
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+import mock
+
+from openerp.tests.common import TransactionCase
+
+
+model = 'openerp.addons.mass_mailing_custom_unsubscribe.models.mail_mail'
+
+
+class EndTestException(Exception):
+    pass
+
+
+class TestMailMail(TransactionCase):
+
+    def setUp(self):
+        super(TestMailMail, self).setUp()
+        self.Model = self.env['mail.mail']
+        param_obj = self.env['ir.config_parameter']
+        self.base_url = param_obj.get_param('web.base.url')
+        self.config_msg = param_obj.get_param(
+            'mass_mailing.unsubscribe.label'
+        )
+
+    @mock.patch('%s.urlparse' % model)
+    @mock.patch('%s.urllib' % model)
+    def test_get_unsubscribe_url_proper_url(self, urllib, urlparse):
+        """ It should join the URL w/ proper args """
+        urlparse.urljoin.side_effect = EndTestException
+        expect = mock.MagicMock(), 'email', 'msg'
+        with self.assertRaises(EndTestException):
+            self.Model._get_unsubscribe_url(*expect)
+        urlparse.urljoin.assert_called_once_with(
+            self.base_url,
+            'mail/mailing/%(mailing_id)s/unsubscribe?%(params)s' % {
+                'mailing_id': expect[0].mailing_id.id,
+                'params': urllib.urlencode(),
+            }
+        )
+
+    @mock.patch('%s.urlparse' % model)
+    @mock.patch('%s.urllib' % model)
+    def test_get_unsubscribe_url_correct_params(self, urllib, urlparse):
+        """ It should create URL params w/ proper data """
+        urlparse.urljoin.side_effect = EndTestException
+        expect = mock.MagicMock(), 'email', 'msg'
+        with self.assertRaises(EndTestException):
+            self.Model._get_unsubscribe_url(*expect)
+        urllib.urlencode.assert_called_once_with(dict(
+            db=self.env.cr.dbname,
+            res_id=expect[0].res_id,
+            email=expect[1],
+            token=self.env['mail.mass_mailing'].hash_create(
+                expect[0].mailing_id.id,
+                expect[0].res_id,
+                expect[1],
+            )
+        ))
+
+    @mock.patch('%s.urlparse' % model)
+    @mock.patch('%s.urllib' % model)
+    def test_get_unsubscribe_url_false_config_msg(self, urllib, urlparse):
+        """ It should return default config msg when none supplied """
+        expects = ['uri', False]
+        urlparse.urljoin.return_value = expects[0]
+        with mock.patch.object(self.Model, 'env') as env:
+            env['ir.config_paramater'].get_param.side_effect = expects
+            res = self.Model._get_unsubscribe_url(
+                mock.MagicMock(), 'email', 'msg'
+            )
+            self.assertIn(
+                expects[0], res,
+                'Did not include URI in default message'
+            )
+            self.assertIn(
+                'msg', res,
+                'Did not include input msg in default message'
+            )
+
+    @mock.patch('%s.urlparse' % model)
+    @mock.patch('%s.urllib' % model)
+    def test_get_unsubscribe_url_with_config_msg(self, urllib, urlparse):
+        """ It should return config message w/ URL formatted """
+        expects = ['uri', 'test %(url)s']
+        urlparse.urljoin.return_value = expects[0]
+        with mock.patch.object(self.Model, 'env') as env:
+            env['ir.config_paramater'].get_param.side_effect = expects
+            res = self.Model._get_unsubscribe_url(
+                mock.MagicMock(), 'email', 'msg'
+            )
+            self.assertEqual(
+                expects[1] % {'url': expects[0]}, res,
+                'Did not return proper config message'
+            )
diff --git a/mass_mailing_custom_unsubscribe/tests/test_unsubscription.py b/mass_mailing_custom_unsubscribe/tests/test_unsubscription.py
new file mode 100644
index 000000000..3c787d465
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/tests/test_unsubscription.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp.tests.common import TransactionCase
+from .. import exceptions
+
+
+class UnsubscriptionCase(TransactionCase):
+    def test_details_required(self):
+        """Cannot create unsubscription without details when required."""
+        with self.assertRaises(exceptions.DetailsRequiredError):
+            self.env["mail.unsubscription"].create({
+                "email": "axelor@yourcompany.example.com",
+                "mass_mailing_id": self.env.ref("mass_mailing.mass_mail_1").id,
+                "unsubscriber_id":
+                    "res.partner,%d" % self.env.ref("base.res_partner_13").id,
+                "reason_id":
+                    self.env.ref(
+                        "mass_mailing_custom_unsubscribe.reason_other").id,
+            })
diff --git a/mass_mailing_custom_unsubscribe/views/assets.xml b/mass_mailing_custom_unsubscribe/views/assets.xml
new file mode 100644
index 000000000..47583e5b1
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/views/assets.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<openerp>
+<data>
+
+<template id="assets_frontend"
+          inherit_id="website.assets_frontend">
+    <xpath expr=".">
+        <script type="text/javascript"
+                src="/mass_mailing_custom_unsubscribe/static/src/js/require_details.js"/>
+    </xpath>
+</template>
+
+</data>
+</openerp>
diff --git a/mass_mailing_custom_unsubscribe/views/mail_mass_mailing_list_view.xml b/mass_mailing_custom_unsubscribe/views/mail_mass_mailing_list_view.xml
new file mode 100644
index 000000000..b8066c41a
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/views/mail_mass_mailing_list_view.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- © 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<openerp>
+<data>
+
+    <record id="view_mail_mass_mailing_list_form" model="ir.ui.view">
+        <field name="model">mail.mass_mailing.list</field>
+        <field name="inherit_id" ref="mass_mailing.view_mail_mass_mailing_list_form"/>
+        <field name="arch" type="xml">
+            <div class="oe_title" position="after">
+                <group>
+                    <field name="not_cross_unsubscriptable"/>
+                </group>
+            </div>
+        </field>
+    </record>
+
+</data>
+</openerp>
diff --git a/mass_mailing_custom_unsubscribe/views/mail_unsubscription_reason_view.xml b/mass_mailing_custom_unsubscribe/views/mail_unsubscription_reason_view.xml
new file mode 100644
index 000000000..c3a93ffc0
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/views/mail_unsubscription_reason_view.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<openerp>
+<data>
+
+<record id="mail_unsubscription_reason_view_form" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Reason Form</field>
+    <field name="model">mail.unsubscription.reason</field>
+    <field name="arch" type="xml">
+        <form>
+            <sheet>
+                <group>
+                    <field name="name"/>
+                    <field name="details_required"/>
+                    <field name="sequence"/>
+                </group>
+                <div class="oe_chatter"/>
+            </sheet>
+        </form>
+    </field>
+</record>
+
+<record id="mail_unsubscription_reason_view_tree" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Reason Tree</field>
+    <field name="model">mail.unsubscription.reason</field>
+    <field name="arch" type="xml">
+        <tree>
+            <field name="name"/>
+            <field name="details_required"/>
+            <field name="sequence" invisible="True"/>
+        </tree>
+    </field>
+</record>
+
+<record id="mail_unsubscription_reason_view_search" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Reason Search</field>
+    <field name="model">mail.unsubscription.reason</field>
+    <field name="arch" type="xml">
+        <search>
+            <field name="name"/>
+            <field name="details_required"/>
+        </search>
+    </field>
+</record>
+
+<act_window
+    id="mail_unsubscription_reason_action"
+    name="Unsubscription Reasons"
+    res_model="mail.unsubscription.reason"/>
+
+<menuitem
+    id="mail_unsubscription_reason_menu"
+    parent="mass_mailing.marketing_configuration"
+    groups="mass_mailing.group_mass_mailing_campaign"
+    action="mail_unsubscription_reason_action"/>
+
+</data>
+</openerp>
diff --git a/mass_mailing_custom_unsubscribe/views/mail_unsubscription_view.xml b/mass_mailing_custom_unsubscribe/views/mail_unsubscription_view.xml
new file mode 100644
index 000000000..e27248df1
--- /dev/null
+++ b/mass_mailing_custom_unsubscribe/views/mail_unsubscription_view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<openerp>
+<data>
+
+<record id="mail_unsubscription_view_form" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Form</field>
+    <field name="model">mail.unsubscription</field>
+    <field name="arch" type="xml">
+        <form>
+            <sheet>
+                <group>
+                    <field name="date"/>
+                    <field name="mass_mailing_id"/>
+                    <field name="unsubscriber_id"/>
+                    <field name="email"/>
+                    <field name="success"/>
+                    <field name="reason_id"/>
+                    <field name="details"
+                           attrs="{'required': [('details_required', '=', True)]}"/>
+                    <field name="details_required" invisible="True"/>
+                </group>
+            </sheet>
+            <div class="oe_chatter">
+                <field name="message_follower_ids"
+                       widget="mail_followers"
+                       groups="base.group_user"/>
+                <field name="message_ids"
+                       widget="mail_thread"/>
+           </div>
+        </form>
+    </field>
+</record>
+
+<record id="mail_unsubscription_view_tree" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Tree</field>
+    <field name="model">mail.unsubscription</field>
+    <field name="arch" type="xml">
+        <tree>
+            <field name="date"/>
+            <field name="mass_mailing_id"/>
+            <field name="unsubscriber_id"/>
+            <field name="email" invisible="True"/>
+            <field name="reason_id"/>
+            <field name="details" invisible="True"/>
+        </tree>
+    </field>
+</record>
+
+<record id="mail_unsubscription_view_search" model="ir.ui.view">
+    <field name="name">Mail Unsubscription Search</field>
+    <field name="model">mail.unsubscription</field>
+    <field name="arch" type="xml">
+        <search>
+            <field name="mass_mailing_id"/>
+            <field name="unsubscriber_id"/>
+            <field name="email"/>
+            <field name="success"/>
+            <field name="reason_id"/>
+            <field name="details"/>
+            <separator/>
+            <group string="Group by">
+                <filter string="Month"
+                        context="{'group_by': 'date:month'}"/>
+                <filter string="Year"
+                        context="{'group_by': 'date:year'}"/>
+                <filter string="Reason"
+                        context="{'group_by': 'reason_id'}"/>
+                <filter string="Mass mailing"
+                        context="{'group_by': 'mass_mailing_id'}"/>
+                <filter string="Success"
+                        context="{'group_by': 'success'}"/>
+            </group>
+        </search>
+    </field>
+</record>
+
+<act_window id="mail_unsubscription_action"
+            name="Unsubscriptions"
+            res_model="mail.unsubscription"/>
+
+<menuitem id="mail_unsubscription_menu"
+          parent="mass_mailing.mass_mailing_campaign"
+          action="mail_unsubscription_action"/>
+
+</data>
+</openerp>
diff --git a/mass_mailing_custom_unsubscribe/views/pages.xml b/mass_mailing_custom_unsubscribe/views/pages.xml
index b4ed5cf5a..c01096936 100644
--- a/mass_mailing_custom_unsubscribe/views/pages.xml
+++ b/mass_mailing_custom_unsubscribe/views/pages.xml
@@ -3,7 +3,7 @@
 <data>
 
 <template name="Unsubscription worked"
-          id="website.mass_mail_unsubscription_success"
+          id="success"
           page="True">
     <t t-call="website.layout">
         <div id="wrap" class="oe_structure oe_empty">
@@ -18,12 +18,11 @@
                         something, let it go.
                     </h3>
                     <p>
-                        However, we are open to suggestions. Please tell us
-                        why you left.
+                        Is there anything else you want to tell us?
                     </p>
                     <p>
                         <a class="btn btn-primary btn-lg"
-                           href="/page/website.contactus">Contact us</a>
+                           href="/page/contactus">Contact us</a>
                     </p>
                 </div>
             </section>
@@ -32,7 +31,7 @@
 </template>
 
 <template name="Unsubscription failed"
-          id="website.mass_mail_unsubscription_failure"
+          id="failure"
           page="True">
     <t t-call="website.layout">
         <div id="wrap" class="oe_structure oe_empty">
@@ -49,7 +48,7 @@
                     <p>Thanks for your patience.</p>
                     <p>
                         <a class="btn btn-primary btn-lg"
-                           href="/page/website.contactus">Contact us</a>
+                           href="/page/contactus">Contact us</a>
                     </p>
                 </div>
             </section>
@@ -57,5 +56,100 @@
     </t>
 </template>
 
+<template id="reason_form"
+          name="Unsubscription Reason Form">
+    <t t-call="website.layout">
+        <div id="wrap" class="oe_structure oe_empty">
+            <section class="mt16 mb16">
+                <form
+                    id="reason_form"
+                    class="container"
+                    t-attf-action="/mail/mailing/#{mailing_id.id}/unsubscribe"
+                    method="post">
+                    <div class="row">
+                        <div class="col-md-12 text-center mt16 mb32">
+                            <h2>
+                                Hello,
+                                <t t-esc="contact_name"/>
+                            </h2>
+                            <h3 class="text-muted">
+                                You are trying to unsubscribe from all massive mailings
+                                <t t-if="origin_name">
+                                    sent to followers of
+                                    <br/>
+                                    <br/>
+                                    <i><span>"</span><t t-esc="origin_name"/><span>"</span></i>
+                                </t>
+                            </h3>
+                        </div>
+                        <div t-if="additional_contact_ids"
+                             class="col-md-12 mt16">
+                            Is there any other mailing list you want to leave?
+                            <t t-foreach="additional_contact_ids"
+                               t-as="contact">
+                                <div class="checkbox">
+                                    <label>
+                                        <input
+                                            t-attf-name="list_id,#{contact.list_id.id}"
+                                            type="checkbox"
+                                            t-att-value="contact.id"/>
+                                        <t t-esc="contact.list_id.display_name"/>
+                                    </label>
+                                </div>
+                            </t>
+                        </div>
+                        <div class="col-md-12 mt16">
+                            But before continuing, could you please tell us why do you want to unsubscribe?
+                        </div>
+                        <div class="col-md-12 mb16">
+                            <input
+                                type="hidden"
+                                name="db"
+                                t-att-value="env.cr.dbname"/>
+                            <input
+                                type="hidden"
+                                name="res_id"
+                                t-att-value="res_id"/>
+                            <input
+                                type="hidden"
+                                name="email"
+                                t-att-value="email"/>
+                            <input
+                                type="hidden"
+                                name="token"
+                                t-att-value="token"/>
+                            <t t-foreach="reason_ids" t-as="reason">
+                                <div class="radio">
+                                    <label>
+                                        <input
+                                            type="radio"
+                                            name="reason_id"
+                                            t-att-data-details-required="reason.details_required"
+                                            t-att-value="reason.id"/>
+                                        <t t-esc="reason.display_name"/>
+                                    </label>
+                                </div>
+                            </t>
+                            <div t-attf-class="form-group #{error_details_required and 'has-error' or ''}">
+                                <textarea
+                                    name="details"
+                                    class="form-control"
+                                    placeholder="Anything else you want to say before you leave?"
+                                    rows="3"/>
+                            </div>
+                            <div class="form-group mb16 mt16">
+                                <button type="submit" class="btn btn-danger">
+                                    Unsubscribe now
+                                </button>
+                                <p class="help-block">Thank you!</p>
+                            </div>
+                        </div>
+                    </div>
+                </form>
+            </section>
+        </div>
+    </t>
+</template>
+
 </data>
 </openerp>