diff --git a/odoo_twilio_sms/README.rst b/odoo_twilio_sms/README.rst new file mode 100644 index 000000000..5b4490cd1 --- /dev/null +++ b/odoo_twilio_sms/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Twilio SMS Gateway +================== +* This module used to send sms through twilio sms from sales, purchase and contact modules. + +Configuration +============= +- Install twilio (pip install twilio) + +Company +======= +* Cybrosys Techno Solutions + +License +======= +GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3). +http://www.gnu.org/licenses/agpl-3.0-standalone.html + +Credits +======= +* Developer: (v15) Busthana Shirin , Contact: odoo@cybrosys.com + +Contacts +======== +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if +your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/odoo_twilio_sms/__init__.py b/odoo_twilio_sms/__init__.py new file mode 100644 index 000000000..4100e97b1 --- /dev/null +++ b/odoo_twilio_sms/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +################################################################################ +from . import models +from . import wizard diff --git a/odoo_twilio_sms/__manifest__.py b/odoo_twilio_sms/__manifest__.py new file mode 100644 index 000000000..40fb496ec --- /dev/null +++ b/odoo_twilio_sms/__manifest__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +################################################################################ +{ + 'name': 'Twilio SMS Gateway', + 'version': '15.0.1.0.0', + 'category': 'Extra Tools', + 'summary': """Send SmS through twilio""", + 'description': """The module helps to send SmS through twilio""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['base_setup', 'sale', 'purchase', 'base'], + 'data': [ + 'security/ir.model.access.csv', + 'data/ir_cron_data.xml', + 'views/purchase_order_views.xml', + 'views/sale_order_views.xml', + 'views/twilio_account_views.xml', + 'views/twilio_sms_group_views.xml', + 'views/twilio_sms_template_views.xml', + 'views/twilio_sms_views.xml', + 'wizard/twilio_sms_interaction_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': True, +} diff --git a/odoo_twilio_sms/data/ir_cron_data.xml b/odoo_twilio_sms/data/ir_cron_data.xml new file mode 100644 index 000000000..9015c683e --- /dev/null +++ b/odoo_twilio_sms/data/ir_cron_data.xml @@ -0,0 +1,16 @@ + + + + + + Sent SmS + + code + model.sent_sms_on_time() + 1 + minutes + -1 + + + + diff --git a/odoo_twilio_sms/doc/RELEASE_NOTES.md b/odoo_twilio_sms/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..d62f3eac0 --- /dev/null +++ b/odoo_twilio_sms/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 06.02.2024 +#### Version 15.0.1.0.0 +##### ADD +- Initial Commit for Twilio SMS Gateway diff --git a/odoo_twilio_sms/models/__init__.py b/odoo_twilio_sms/models/__init__.py new file mode 100644 index 000000000..357893343 --- /dev/null +++ b/odoo_twilio_sms/models/__init__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from . import purchase_order +from . import res_partner +from . import sale_order +from . import sms_template +from . import twilio_account +from . import twilio_sms +from . import twilio_sms_group diff --git a/odoo_twilio_sms/models/purchase_order.py b/odoo_twilio_sms/models/purchase_order.py new file mode 100644 index 000000000..d1600b7f6 --- /dev/null +++ b/odoo_twilio_sms/models/purchase_order.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from odoo import models, _ + + +class PurchaseOrder(models.Model): + """Inheriting model purchase order""" + _inherit = 'purchase.order' + + def action_purchase_twilio_sms(self): + """Action for SmS wizard view""" + action = { + 'type': 'ir.actions.act_window', + 'name': _('Message Content'), + 'res_model': 'twilio.sms.interaction', + 'view_mode': 'form', + 'target': 'new', + 'context': {'default_partner_id': self.partner_id.id}, + 'views': [[False, 'form']] + } + return action diff --git a/odoo_twilio_sms/models/res_partner.py b/odoo_twilio_sms/models/res_partner.py new file mode 100644 index 000000000..ce4104314 --- /dev/null +++ b/odoo_twilio_sms/models/res_partner.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from odoo import fields, models, _ + + +class ResPartner(models.Model): + """Inheriting model res partner""" + _inherit = 'res.partner' + + twilio_sms_id = fields.Many2one('twilio.sms.group', + string='Twilio ID', + help='Twilio Connection') + + def action_partner_twilio_sms(self): + """Action for SmS wizard view""" + action = { + 'type': 'ir.actions.act_window', + 'name': _('Message Content'), + 'res_model': 'twilio.sms.interaction', + 'view_mode': 'form', + 'target': 'new', + 'context': {'default_partner_id': self.id}, + 'views': [[False, 'form']] + } + return action diff --git a/odoo_twilio_sms/models/sale_order.py b/odoo_twilio_sms/models/sale_order.py new file mode 100644 index 000000000..043b10bbd --- /dev/null +++ b/odoo_twilio_sms/models/sale_order.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from odoo import models, _ + + +class SaleOrder(models.Model): + """Inheriting model sale order""" + _inherit = 'sale.order' + + def action_twilio_sms(self): + """Action for SmS wizard view""" + action = { + 'type': 'ir.actions.act_window', + 'name': _('Message Content'), + 'res_model': 'twilio.sms.interaction', + 'view_mode': 'form', + 'target': 'new', + 'context': {'default_partner_id': self.partner_id.id}, + 'views': [[False, 'form']] + } + return action diff --git a/odoo_twilio_sms/models/sms_template.py b/odoo_twilio_sms/models/sms_template.py new file mode 100644 index 000000000..3df1be61f --- /dev/null +++ b/odoo_twilio_sms/models/sms_template.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from odoo import fields, models, _ + + +class TwilioSmsTemplate(models.Model): + """Template to create template which can select and send messages""" + _name = 'twilio.sms.template' + _description = 'Twilio SmS Template' + + name = fields.Char(string='Name', help='Name of Template', required=True) + content = fields.Text(string='Content', help='Content of the Template') diff --git a/odoo_twilio_sms/models/twilio_account.py b/odoo_twilio_sms/models/twilio_account.py new file mode 100644 index 000000000..c59105b37 --- /dev/null +++ b/odoo_twilio_sms/models/twilio_account.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from twilio.rest import Client +from odoo import fields, models, _ + + +class TwilioAccount(models.Model): + """Create twilio account to set the details of twilio account, + can set the number and auth token""" + _name = 'twilio.account' + _description = 'Twilio Account' + + name = fields.Char(string='Name', required=True, help='Name') + account_sid = fields.Char(string='Account SID', required=True, + help='Account SID') + auth_token = fields.Char(string='Auth Token', required=True, + help='Auth Token') + from_number = fields.Char(string='From Number', required=True, + help='Twilio account number') + to_number = fields.Char(string='To Number', required=True, + help='Receiving number for testing') + body = fields.Text(string='Body', required=True, + help='Body for test message', + default='This Message is To Test The Connection') + state = fields.Selection(selection=[ + ('new', 'New'), + ('confirm', 'Connected'), + ], string='State', required=True, default='new', + help='The state to show the connection is successful') + + def action_test_connection(self): + """Send test sms and set the connection""" + try: + client = Client(self.account_sid, self.auth_token) + message = client.messages.create( + body=self.body, + from_=self.from_number, + to=self.to_number) + if message.sid: + self.state = 'confirm' + message_data = _("Connection Successful!") + message_type = 'success' + else: + message_data = _("Connection Not Successful!") + message_type = 'warning' + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': message_data, + 'type': message_type, + 'sticky': True, + } + } + except: + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': _("Connection Not Successful!"), + 'type': 'warning', + 'sticky': True, + } + } + pass diff --git a/odoo_twilio_sms/models/twilio_sms.py b/odoo_twilio_sms/models/twilio_sms.py new file mode 100644 index 000000000..e0a06a380 --- /dev/null +++ b/odoo_twilio_sms/models/twilio_sms.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from twilio.rest import Client +from odoo import api, fields, models, _ + + +class TwilioSmS(models.Model): + """Can send sms, select the receiver and template or content, + then can send the sms""" + _name = 'twilio.sms' + _description = 'Twilio SmS' + + name = fields.Char(string='Name', help='Name', required=True) + partner_id = fields.Many2one('twilio.sms.group', + string='Select Receiving Group', + help='Select the receiving groups', + required=True) + template_body_id = fields.Many2one('twilio.sms.template', + string='Message Template', + help='Select the message template') + content = fields.Text(string='Content', help='Content', required=True) + scheduled_date = fields.Date('Scheduled Date', help='Scheduled Date', + default=fields.Date.today) + state = fields.Selection(selection=[ + ('draft', 'Draft'), + ('confirm', 'Confirm'), + ('sent', 'Sent'), + ], string="State", default='draft', help='State of the sms') + + @api.onchange('template_body_id') + def onchange_template_body_id(self): + """Add the content when select the template""" + self.content = self.template_body_id.content + + def action_confirm_sms(self): + """Send sms when click the action button""" + for val in self: + val.state = 'confirm' + if val.scheduled_date == fields.Date.today(): + self.sent_sms_message(val) + + def sent_sms_on_time(self): + """Send sms when schedule the time""" + vals = self.env['twilio.sms'].search([]) + for val in vals: + if (val.state == 'confirm' and val.scheduled_date == + fields.date.today()): + self.sent_sms_message(val) + + def sent_sms_message(self, val): + """Send SmS for all users""" + server = self.env['twilio.account'].search([('state', '=', 'confirm')], + limit=1) + count = len(val.partner_id.contact_ids) + for partner in val.partner_id.contact_ids: + try: + client = Client(server.account_sid, server.auth_token) + message = client.messages.create( + body=val.content, + from_=server.from_number, + to=partner.phone + ) + if message.sid: + count = count - 1 + if not count: + val.state = 'sent' + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': 'Message Sent Successfully', + 'type': 'success', + 'sticky': True, + } + } + except: + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': _("Message Not Sent!"), + 'type': 'warning', + 'sticky': True, + } + } + pass diff --git a/odoo_twilio_sms/models/twilio_sms_group.py b/odoo_twilio_sms/models/twilio_sms_group.py new file mode 100644 index 000000000..c5722c581 --- /dev/null +++ b/odoo_twilio_sms/models/twilio_sms_group.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Busthana Shirin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +############################################################################### +from odoo import fields, models + + +class TwilioSmsGroup(models.Model): + """Make group can send sms to group with more than one receiver at time""" + _name = 'twilio.sms.group' + _description = 'Twilio SmS Group' + + name = fields.Char('Name', help='Name of Group', required=True) + contact_ids = fields.One2many('res.partner', + 'twilio_sms_id', + string='Partner Group', + help='Group Contacts') diff --git a/odoo_twilio_sms/security/ir.model.access.csv b/odoo_twilio_sms/security/ir.model.access.csv new file mode 100644 index 000000000..eac07872b --- /dev/null +++ b/odoo_twilio_sms/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 +access_twilio_account,access.twilio.account,model_twilio_account,base.group_user,1,1,1,1 +access_twilio_sms_template,access.twilio.sms.template,model_twilio_sms_template,base.group_user,1,1,1,1 +access_twilio_sms_interaction,access.twilio.sms.interaction,model_twilio_sms_interaction,base.group_user,1,1,1,1 +access_twilio_sms_group,access.twilio.sms.group,model_twilio_sms_group,base.group_user,1,1,1,1 +access_twilio_sms,access.twilio.sms,model_twilio_sms,base.group_user,1,1,1,1 diff --git a/odoo_twilio_sms/static/description/assets/icons/check.png b/odoo_twilio_sms/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/check.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/chevron.png b/odoo_twilio_sms/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/chevron.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/cogs.png b/odoo_twilio_sms/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/cogs.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/consultation.png b/odoo_twilio_sms/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/consultation.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/ecom-black.png b/odoo_twilio_sms/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/ecom-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/education-black.png b/odoo_twilio_sms/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/education-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/hotel-black.png b/odoo_twilio_sms/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/hotel-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/license.png b/odoo_twilio_sms/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/license.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/lifebuoy.png b/odoo_twilio_sms/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/lifebuoy.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/manufacturing-black.png b/odoo_twilio_sms/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/manufacturing-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/pos-black.png b/odoo_twilio_sms/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/pos-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/puzzle.png b/odoo_twilio_sms/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/puzzle.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/restaurant-black.png b/odoo_twilio_sms/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/restaurant-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/service-black.png b/odoo_twilio_sms/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/service-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/trading-black.png b/odoo_twilio_sms/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/trading-black.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/training.png b/odoo_twilio_sms/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/training.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/update.png b/odoo_twilio_sms/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/update.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/user.png b/odoo_twilio_sms/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/user.png differ diff --git a/odoo_twilio_sms/static/description/assets/icons/wrench.png b/odoo_twilio_sms/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/icons/wrench.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/categories.png b/odoo_twilio_sms/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/categories.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/check-box.png b/odoo_twilio_sms/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/check-box.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/compass.png b/odoo_twilio_sms/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/compass.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/corporate.png b/odoo_twilio_sms/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/corporate.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/customer-support.png b/odoo_twilio_sms/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/customer-support.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/cybrosys-logo.png b/odoo_twilio_sms/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/cybrosys-logo.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/features.png b/odoo_twilio_sms/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/features.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/logo.png b/odoo_twilio_sms/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/logo.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/pictures.png b/odoo_twilio_sms/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/pictures.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/pie-chart.png b/odoo_twilio_sms/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/pie-chart.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/right-arrow.png b/odoo_twilio_sms/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/right-arrow.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/star.png b/odoo_twilio_sms/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/star.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/support.png b/odoo_twilio_sms/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/support.png differ diff --git a/odoo_twilio_sms/static/description/assets/misc/whatsapp.png b/odoo_twilio_sms/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/misc/whatsapp.png differ diff --git a/odoo_twilio_sms/static/description/assets/modules/1.png b/odoo_twilio_sms/static/description/assets/modules/1.png new file mode 100644 index 000000000..a0969fcb5 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/1.png differ diff --git a/odoo_twilio_sms/static/description/assets/modules/live_chat.png b/odoo_twilio_sms/static/description/assets/modules/live_chat.png new file mode 100644 index 000000000..3664700f5 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/live_chat.png differ diff --git a/odoo_twilio_sms/static/description/assets/modules/slack.png b/odoo_twilio_sms/static/description/assets/modules/slack.png new file mode 100644 index 000000000..92ae36dc5 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/slack.png differ diff --git a/odoo_twilio_sms/static/description/assets/modules/twitter.png b/odoo_twilio_sms/static/description/assets/modules/twitter.png new file mode 100644 index 000000000..ee4fa9abd Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/twitter.png differ diff --git a/odoo_twilio_sms/static/description/assets/modules/whatsapp.gif b/odoo_twilio_sms/static/description/assets/modules/whatsapp.gif new file mode 100644 index 000000000..c51b9eb07 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/whatsapp.gif differ diff --git a/odoo_twilio_sms/static/description/assets/modules/zoom_meet.jpg b/odoo_twilio_sms/static/description/assets/modules/zoom_meet.jpg new file mode 100644 index 000000000..ae7760bd2 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/modules/zoom_meet.jpg differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/hero1.gif b/odoo_twilio_sms/static/description/assets/screenshots/hero1.gif new file mode 100644 index 000000000..d7fb0e400 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/hero1.gif differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/image1.png b/odoo_twilio_sms/static/description/assets/screenshots/image1.png new file mode 100644 index 000000000..8812c86f3 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/image1.png differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/image2.png b/odoo_twilio_sms/static/description/assets/screenshots/image2.png new file mode 100644 index 000000000..a36854890 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/image2.png differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/image3.png b/odoo_twilio_sms/static/description/assets/screenshots/image3.png new file mode 100644 index 000000000..3635e915c Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/image3.png differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/image4.png b/odoo_twilio_sms/static/description/assets/screenshots/image4.png new file mode 100644 index 000000000..b26617126 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/image4.png differ diff --git a/odoo_twilio_sms/static/description/assets/screenshots/image5.png b/odoo_twilio_sms/static/description/assets/screenshots/image5.png new file mode 100644 index 000000000..8683fb3e8 Binary files /dev/null and b/odoo_twilio_sms/static/description/assets/screenshots/image5.png differ diff --git a/odoo_twilio_sms/static/description/banner.jpg b/odoo_twilio_sms/static/description/banner.jpg new file mode 100644 index 000000000..b0793e6df Binary files /dev/null and b/odoo_twilio_sms/static/description/banner.jpg differ diff --git a/odoo_twilio_sms/static/description/icon.png b/odoo_twilio_sms/static/description/icon.png new file mode 100644 index 000000000..f54c6e579 Binary files /dev/null and b/odoo_twilio_sms/static/description/icon.png differ diff --git a/odoo_twilio_sms/static/description/index.html b/odoo_twilio_sms/static/description/index.html new file mode 100644 index 000000000..57cc4bd56 --- /dev/null +++ b/odoo_twilio_sms/static/description/index.html @@ -0,0 +1,577 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+
+ +
+
+
+ +

+ Twilio SMS Gateway

+

Send SMS Through Twilio

+ + +
+
+
+
+ + +
+
+ +
+

Explore This + Module

+
+ + + + +
+
+ +
+

Overview +

+
+
+
+ The module will help us to send the sms through twilio, it will help us to send sms from sale order, purchase order + and contacts.In this module we can create the message templates and use whenever we need. This module will + help us to send sms to a group of members also. +
+
+ + + +
+
+ +
+

Features +

+
+
+
+
+ + Can Send SMS in Sale Order, Purchase Order, and Contacts +
+
+ + Create Message Templates for Send the Same Content in Multiple Places. +
+
+ + Create Group of Users and Send Messages to Multiple Persons at a Time. +
+
+ + Send Messages can Previously Scheduled +
+ +
+
+ + + +
+
+ +
+

Screenshots +

+
+
+
+ +
+

Add the details of twilio account connections.

+

In twilio module add the account details, Twilio -> Configuration -> Twilio Account

+ +
+ +
+

Create SMS template to select message body when we send SMS.

+

In twilio module we can create multiple message templates. Twilio -> Configuration -> Sms Templates

+ +
+ +
+

Create group of users to send SMS bulk +

+ +
+
+

Send bulk SMS by selecting group of users and message body.

+ +
+ +
+

Send SMS in sale order

+ +
+ + + +
+
+

Suggested Products

+
+ + +
+
+ + + + +
+
+ +
+

Our Services +

+
+ +
+
+
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+ +
+ + + + + +
+
+ +
+

Our + Industries +

+
+ +
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + + + +
+
+ +
+

Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ +
+
diff --git a/odoo_twilio_sms/views/purchase_order_views.xml b/odoo_twilio_sms/views/purchase_order_views.xml new file mode 100644 index 000000000..1f809c863 --- /dev/null +++ b/odoo_twilio_sms/views/purchase_order_views.xml @@ -0,0 +1,17 @@ + + + + + purchase.order.view.form.inherit.odoo.twilio.sms + + purchase.order + + + +