summaryrefslogtreecommitdiff
path: root/addons/website_sms
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website_sms')
-rw-r--r--addons/website_sms/__init__.py4
-rw-r--r--addons/website_sms/__manifest__.py16
-rw-r--r--addons/website_sms/models/__init__.py4
-rw-r--r--addons/website_sms/models/website_visitor.py42
-rw-r--r--addons/website_sms/views/website_visitor_views.xml14
5 files changed, 80 insertions, 0 deletions
diff --git a/addons/website_sms/__init__.py b/addons/website_sms/__init__.py
new file mode 100644
index 00000000000..dc5e6b693d1
--- /dev/null
+++ b/addons/website_sms/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import models
diff --git a/addons/website_sms/__manifest__.py b/addons/website_sms/__manifest__.py
new file mode 100644
index 00000000000..2f950750094
--- /dev/null
+++ b/addons/website_sms/__manifest__.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+{
+ 'name': 'Send SMS to Visitor',
+ 'category': 'Website',
+ 'sequence': 54,
+ 'summary': 'Allows to send sms to website visitor',
+ 'version': '1.0',
+ 'description': """Allows to send sms to website visitor if the visitor is linked to a partner.""",
+ 'depends': ['website', 'sms'],
+ 'data': [
+ 'views/website_visitor_views.xml',
+ ],
+ 'installable': True,
+ 'auto_install': True,
+}
diff --git a/addons/website_sms/models/__init__.py b/addons/website_sms/models/__init__.py
new file mode 100644
index 00000000000..8c76c6becd2
--- /dev/null
+++ b/addons/website_sms/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import website_visitor
diff --git a/addons/website_sms/models/website_visitor.py b/addons/website_sms/models/website_visitor.py
new file mode 100644
index 00000000000..7042ed22766
--- /dev/null
+++ b/addons/website_sms/models/website_visitor.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models, _
+from odoo.exceptions import UserError
+
+
+class WebsiteVisitor(models.Model):
+ _inherit = 'website.visitor'
+
+ def _prepare_visitor_send_sms_values(self):
+ if self.user_partner_id.mobile:
+ return {
+ 'res_model': 'res.partner',
+ 'res_id': self.user_partner_id.id,
+ 'partner_ids': [self.user_partner_id.id],
+ 'number_field_name': 'mobile',
+ }
+ return {}
+
+ def action_send_sms(self):
+ self.ensure_one()
+ visitor_sms_values = self._prepare_visitor_send_sms_values()
+ if not visitor_sms_values:
+ raise UserError(_("There is no mobile phone number linked to this visitor."))
+
+ context = dict(self.env.context)
+ context.update({
+ 'default_res_model': visitor_sms_values['res_model'],
+ 'default_res_id': visitor_sms_values['res_id'],
+ 'default_composition_mode': 'comment',
+ 'default_number_field_name': visitor_sms_values['number_field_name'],
+ })
+
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "sms.composer",
+ "view_mode": 'form',
+ "context": context,
+ "name": "Send SMS Text Message",
+ "target": "new",
+ }
diff --git a/addons/website_sms/views/website_visitor_views.xml b/addons/website_sms/views/website_visitor_views.xml
new file mode 100644
index 00000000000..6e30b773cc0
--- /dev/null
+++ b/addons/website_sms/views/website_visitor_views.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data>
+ <record id="website_visitor_view_form" model="ir.ui.view">
+ <field name="name">website.visitor.view.form.inherit.website.mass.mailing.sms</field>
+ <field name="model">website.visitor</field>
+ <field name="inherit_id" ref="website.website_visitor_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//header" position="inside">
+ <button name="action_send_sms" type="object" class="btn btn-primary"
+ attrs="{'invisible': [('mobile', '=', False)]}" string="Send SMS"/>
+ </xpath>
+ </field>
+ </record>
+</data></odoo>