diff --git a/whatsapp_mail_messaging/README.rst b/whatsapp_mail_messaging/README.rst new file mode 100644 index 000000000..9bd67217a --- /dev/null +++ b/whatsapp_mail_messaging/README.rst @@ -0,0 +1,45 @@ +.. 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 + +Odoo Whatsapp Connector +======================= +Odoo Whatsapp Connector For Sales, Invoice and Floating button in Website + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developers: Nishad@cybrosys + version 14: Sayooj A O @cybrosys, + version 15: Midilaj V K @cybrosys + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://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 `Our Website `__ + +Further information +=================== +HTML Description: ``__ + + diff --git a/whatsapp_mail_messaging/__init__.py b/whatsapp_mail_messaging/__init__.py new file mode 100644 index 000000000..9c65d6d4f --- /dev/null +++ b/whatsapp_mail_messaging/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import model +from . import wizard diff --git a/whatsapp_mail_messaging/__manifest__.py b/whatsapp_mail_messaging/__manifest__.py new file mode 100644 index 000000000..5cf1a077f --- /dev/null +++ b/whatsapp_mail_messaging/__manifest__.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +{ + 'name': 'Odoo Whatsapp Connector', + 'version': '15.0.1.0.0', + 'category': 'Extra Tools', + 'summary': """Odoo Whatsapp Connector For Sales, Invoice, and Floating button in Website""", + 'description': """Added options for sending Whatsapp messages and Mails in systray bar,sale order, invoices, + website portal view and share the access url of documents using share option available in each records through + Whatsapp web..""", + 'author': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'depends': ['sale', 'account', 'website'], + 'data': [ + 'views/portal_whatsapp_view.xml', + 'views/sale_order_inherited.xml', + 'views/account_move_inherited.xml', + 'views/website_inherited.xml', + 'wizard/wh_message_wizard.xml', + 'wizard/portal_share_inherited.xml', + 'security/ir.model.access.csv', + ], + 'assets': { + 'web.assets_backend': [ + "whatsapp_mail_messaging/static/src/js/whatsapp_button.js", + "whatsapp_mail_messaging/static/src/js/mail_button.js" + ], + 'web.assets_frontend': [ + "whatsapp_mail_messaging/static/src/css/whatsapp.css" + ], + 'web.assets_qweb': [ + 'whatsapp_mail_messaging/static/src/xml/whatsapp_button.xml', + 'whatsapp_mail_messaging/static/src/xml/mail_button.xml', + ], + }, + 'images': ['static/description/banner.gif'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/whatsapp_mail_messaging/doc/changelog.md b/whatsapp_mail_messaging/doc/changelog.md new file mode 100644 index 000000000..a6d26c5b4 --- /dev/null +++ b/whatsapp_mail_messaging/doc/changelog.md @@ -0,0 +1,6 @@ +## Module + +#### 18.12.2021 +#### Version 15.0.1.0.0 +#### ADD +- Initial commit diff --git a/whatsapp_mail_messaging/model/__init__.py b/whatsapp_mail_messaging/model/__init__.py new file mode 100644 index 000000000..b999986f0 --- /dev/null +++ b/whatsapp_mail_messaging/model/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import website +from . import sale_order +from . import account_move diff --git a/whatsapp_mail_messaging/model/account_move.py b/whatsapp_mail_messaging/model/account_move.py new file mode 100644 index 000000000..405648025 --- /dev/null +++ b/whatsapp_mail_messaging/model/account_move.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from itertools import groupby + +from odoo import models, _ +from odoo.exceptions import UserError + + +class Account(models.Model): + _inherit = 'account.move' + + def action_send_whatsapp(self): + compose_form_id = self.env.ref('whatsapp_mail_messaging.whatsapp_message_wizard_form').id + ctx = dict(self.env.context) + message = "Hi" + " " + self.partner_id.name + ',' + '\n' + "Here is your invoice" + ' ' + self.name + ' ' + "amounting" + ' ' + str( + self.amount_total) + self.currency_id.symbol + ' ' + "from " + self.company_id.name + ". Please remit payment at your earliest convenience. " + '\n' + \ + "Please use the following communication for your payment" + ' ' + self.name + ctx.update({ + 'default_message': message, + 'default_partner_id': self.partner_id.id, + 'default_mobile': self.partner_id.mobile, + 'default_image_1920': self.partner_id.image_1920, + }) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'whatsapp.message.wizard', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + + def check_customers(self, partner_ids): + partners = groupby(partner_ids) + return next(partners, True) and not next(partners, False) + + def action_whatsapp_multi(self): + account_move_ids = self.env['account.move'].browse(self.env.context.get('active_ids')) + partner_ids = [] + for account_move in account_move_ids: + partner_ids.append(account_move.partner_id.id) + partner_check = self.check_customers(partner_ids) + if partner_check: + account_move_numbers = account_move_ids.mapped('name') + account_move_numbers = "\n".join(account_move_numbers) + compose_form_id = self.env.ref('whatsapp_mail_messaging.whatsapp_message_wizard_form').id + ctx = dict(self.env.context) + message = "Hi" + " " + self.partner_id.name + ',' + '\n' + "Your Orders are" + '\n' + account_move_numbers + \ + ' ' + "is ready for review.Do not hesitate to contact us if you have any questions." + ctx.update({ + 'default_message': message, + 'default_partner_id': account_move_ids[0].partner_id.id, + 'default_mobile': account_move_ids[0].partner_id.mobile, + 'default_image_1920': account_move_ids[0].partner_id.image_1920, + }) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'whatsapp.message.wizard', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + else: + raise UserError(_( + 'It seems that you have selected Invoices of more than one customer.' + 'Try select Invoices of an unique customer')) diff --git a/whatsapp_mail_messaging/model/sale_order.py b/whatsapp_mail_messaging/model/sale_order.py new file mode 100644 index 000000000..579bdb8b3 --- /dev/null +++ b/whatsapp_mail_messaging/model/sale_order.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from itertools import groupby + +from odoo import models, _ +from odoo.exceptions import UserError + + +class Sale(models.Model): + _inherit = 'sale.order' + + def action_send_whatsapp(self): + compose_form_id = self.env.ref('whatsapp_mail_messaging.whatsapp_message_wizard_form').id + ctx = dict(self.env.context) + message = "Hi" + " " + self.partner_id.name + ',' + '\n' + "Your quotation" + ' ' + self.name + ' ' + "amounting" + ' ' + str( + self.amount_total) + self.currency_id.symbol + ' ' + "is ready for review.Do not hesitate to contact us if you have any questions." + ctx.update({ + 'default_message': message, + 'default_partner_id': self.partner_id.id, + 'default_mobile': self.partner_id.mobile, + 'default_image_1920': self.partner_id.image_1920, + }) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'whatsapp.message.wizard', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + + def check_customers(self, partner_ids): + partners = groupby(partner_ids) + return next(partners, True) and not next(partners, False) + + def action_whatsapp_multi(self): + sale_order_ids = self.env['sale.order'].browse(self.env.context.get('active_ids')) + partner_ids = [] + for sale in sale_order_ids: + partner_ids.append(sale.partner_id.id) + partner_check = self.check_customers(partner_ids) + if partner_check: + sale_numbers = sale_order_ids.mapped('name') + sale_numbers = "\n".join(sale_numbers) + compose_form_id = self.env.ref('whatsapp_mail_messaging.whatsapp_message_wizard_form').id + ctx = dict(self.env.context) + message = "Hi" + " " + self.partner_id.name + ',' + '\n' + "Your Orders are" + '\n' + sale_numbers + \ + ' ' + '\n' + "is ready for review.Do not hesitate to contact us if you have any questions." + ctx.update({ + 'default_message': message, + 'default_partner_id': sale_order_ids[0].partner_id.id, + 'default_mobile': sale_order_ids[0].partner_id.mobile, + 'default_image_1920': sale_order_ids[0].partner_id.image_1920, + }) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'whatsapp.message.wizard', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + else: + raise UserError(_( + 'It seems that you have selected orders of more than one customer.' + 'Try select orders of an unique customer')) diff --git a/whatsapp_mail_messaging/model/website.py b/whatsapp_mail_messaging/model/website.py new file mode 100644 index 000000000..945cfd0b4 --- /dev/null +++ b/whatsapp_mail_messaging/model/website.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class Website(models.Model): + _inherit = 'website' + + mobile_number = fields.Char(string='Mobile Number') diff --git a/whatsapp_mail_messaging/security/ir.model.access.csv b/whatsapp_mail_messaging/security/ir.model.access.csv new file mode 100644 index 000000000..df424fde7 --- /dev/null +++ b/whatsapp_mail_messaging/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_whatsapp_message_wizard,access.whatsapp.message.wizard,model_whatsapp_message_wizard,base.group_user,1,1,1,1 + diff --git a/whatsapp_mail_messaging/static/description/assets/hero.gif b/whatsapp_mail_messaging/static/description/assets/hero.gif new file mode 100644 index 000000000..2eaf7d905 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/hero.gif differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/check.png b/whatsapp_mail_messaging/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/check.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/chevron.png b/whatsapp_mail_messaging/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/chevron.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/cogs.png b/whatsapp_mail_messaging/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/cogs.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/consultation.png b/whatsapp_mail_messaging/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/consultation.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/ecom-black.png b/whatsapp_mail_messaging/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/ecom-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/education-black.png b/whatsapp_mail_messaging/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/education-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/hotel-black.png b/whatsapp_mail_messaging/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/hotel-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/license.png b/whatsapp_mail_messaging/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/license.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/lifebuoy.png b/whatsapp_mail_messaging/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/lifebuoy.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/logo.png b/whatsapp_mail_messaging/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/logo.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/manufacturing-black.png b/whatsapp_mail_messaging/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/manufacturing-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/pos-black.png b/whatsapp_mail_messaging/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/pos-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/puzzle.png b/whatsapp_mail_messaging/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/puzzle.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/restaurant-black.png b/whatsapp_mail_messaging/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/restaurant-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/service-black.png b/whatsapp_mail_messaging/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/service-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/trading-black.png b/whatsapp_mail_messaging/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/trading-black.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/training.png b/whatsapp_mail_messaging/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/training.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/update.png b/whatsapp_mail_messaging/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/update.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/user.png b/whatsapp_mail_messaging/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/user.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/icons/wrench.png b/whatsapp_mail_messaging/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/icons/wrench.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/budget_image.png b/whatsapp_mail_messaging/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..b50130c7d Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/budget_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/credit_image.png b/whatsapp_mail_messaging/static/description/assets/modules/credit_image.png new file mode 100644 index 000000000..3ad04ecfd Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/credit_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/employee_image.png b/whatsapp_mail_messaging/static/description/assets/modules/employee_image.png new file mode 100644 index 000000000..30ad58232 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/employee_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/export_image.png b/whatsapp_mail_messaging/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..492980ad0 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/export_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/gantt_image.png b/whatsapp_mail_messaging/static/description/assets/modules/gantt_image.png new file mode 100644 index 000000000..1ae7cfe3b Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/gantt_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/modules/quotation_image.png b/whatsapp_mail_messaging/static/description/assets/modules/quotation_image.png new file mode 100644 index 000000000..499b1a72f Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/modules/quotation_image.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_1.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_1.png new file mode 100644 index 000000000..0b8af5a5b Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_1.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_10.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_10.png new file mode 100644 index 000000000..96cdb05bc Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_10.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_11.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_11.png new file mode 100644 index 000000000..3ae871538 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_11.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_12.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_12.png new file mode 100644 index 000000000..09e73bd96 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_12.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_13.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_13.png new file mode 100644 index 000000000..bc6e5e308 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_13.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_14.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_14.png new file mode 100644 index 000000000..26cc14bea Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_14.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_15.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_15.png new file mode 100644 index 000000000..54958e858 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_15.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_16.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_16.png new file mode 100644 index 000000000..5f3e523f3 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_16.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_17.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_17.png new file mode 100644 index 000000000..1f29a5f05 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_17.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_18.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_18.png new file mode 100644 index 000000000..e3b35471b Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_18.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_19.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_19.png new file mode 100644 index 000000000..e8f60aebb Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_19.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_2.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_2.png new file mode 100644 index 000000000..f510e11d3 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_2.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_20.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_20.png new file mode 100644 index 000000000..9b9c6c3a7 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_20.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_21.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_21.png new file mode 100644 index 000000000..9470031f3 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_21.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_22.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_22.png new file mode 100644 index 000000000..03350172a Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_22.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_3.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_3.png new file mode 100644 index 000000000..7af8d5608 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_3.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_4.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_4.png new file mode 100644 index 000000000..91e9ac542 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_4.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_5.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_5.png new file mode 100644 index 000000000..a248e0d20 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_5.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_6.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_6.png new file mode 100644 index 000000000..11b2f2fd0 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_6.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_7.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_7.png new file mode 100644 index 000000000..95b9d989a Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_7.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_8.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_8.png new file mode 100644 index 000000000..630aa4c4c Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_8.png differ diff --git a/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_9.png b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_9.png new file mode 100644 index 000000000..52d450372 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/assets/screenshots/whatsapp_mail_messaging_9.png differ diff --git a/whatsapp_mail_messaging/static/description/banner.gif b/whatsapp_mail_messaging/static/description/banner.gif new file mode 100644 index 000000000..c51b9eb07 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/banner.gif differ diff --git a/whatsapp_mail_messaging/static/description/icon.png b/whatsapp_mail_messaging/static/description/icon.png new file mode 100644 index 000000000..ccbfa3fa6 Binary files /dev/null and b/whatsapp_mail_messaging/static/description/icon.png differ diff --git a/whatsapp_mail_messaging/static/description/index.html b/whatsapp_mail_messaging/static/description/index.html new file mode 100644 index 000000000..7c505718a --- /dev/null +++ b/whatsapp_mail_messaging/static/description/index.html @@ -0,0 +1,777 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ Odoo WhatsApp Connector

+

+ Send WhatsApp messages and mails from Odoo. +

+ +
+
+ + + + +
+
+

+ Overview +

+
+ +
+

+ Added options for sending Whatsapp messages and Mails in systray bar,sale order, invoices, website + portal view and share the access url of + documents using share option available in each records through Whatsapp web.

+ +
+
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Community & Enterprise Support

+

+ Available in Odoo 15.0 Community and Enterprise.

+
+
+
+
+ +
+
+

+ Whatsapp/Mail Icon in systray bar

+

+ Using these icons we can send quick messages to any contacts through mail and whatsapp web.

+
+
+ +
+
+ +
+
+

+ Whatsapp floating icon in website

+

+ Added a whatsapp icon in website in which the customers can communicate with website through + whatsapp.

+
+
+ +
+
+ +
+
+

+ Whatsapp button in Sales and Invoice

+

+ Using this button we can send the order/invoice details to the customer of the + corresponding documents.

+
+
+ +
+
+ +
+
+

+ Added Whatsapp as a share option

+

+ With this we can share the access link of document to customers through whatsapp web.

+
+
+ +
+ +
+
+

+ Screenshots +

+
+
+

+ Added Whatsapp and Mail icon in the systray bar

+ +
+ +
+

+ By clicking on the mail icon we will have a mail composing screen like below + which we can specify the content,customer,subject and attachments.

+ +
+ +
+

+ After click on send from the composing wizard the corresponding recipients will receive the mail.

+ +
+ +
+

+ We have to specify the mobile field in contact form along with the country code for filling + the mobile number automatically in the whatsapp message composing wizard.

+ +
+ +
+

+ After click on the whatsapp icon in systray, we will have a message composing screen like this.

+ +
+ +
+

+ We can use the below emojis in our message

+ +
+ +
+

+ After click on send , we will redirected to the whatsapp web along with our message.

+ +
+ +
+

+ The message we entered in odoo will carried to the corresponding number in our contact.

+ +
+ +
+

+ In Invoice form view we will have a button "Send by Whatsapp"

+ +
+ +
+

+ By clicking on "Send by Whatsapp" button ,a popup will arrive with auto filled details such as + recipient,number and required content, + we can edit those details if required.

+ +
+ +
+

+ The message will redirect to the whatsapp web with the details in the popup.

+ +
+ +
+

+ In Sale Order form view we will have a button "Send by Whatsapp"

+ +
+ +
+

+ By clicking on "Send by Whatsapp" button ,a popup will arrive with auto filled details such as + recipient,number and required content, + we can edit those details if required.

+ +
+ +
+

+ The message will redirect to the whatsapp web with the details in the popup

+ +
+ +
+

+ In the website form view we can define the number along with country code required for communicating + with the + website responsible.

+ +
+ +
+

+ There will be a whatsapp icon present in the website.

+ +
+ +
+

+ By clicking on the whatsapp floating icon it will redirect to whatsapp web with the recipient as the + number specified in corresponding website

+ +
+ +
+

+ We will have a share menu in documents like sales order, invoices, purchase etc.

+ +
+ +
+

+ By clicking on that there will be an additional option 'Whatsapp" in the popup screen where we can add + the customer + and additional contents if we need.

+ +
+ +
+

+ After click on send first it will redirected to then whatsapp web and then to corresponding contact in + our whatsapp + along with the custom message and link for accessing the document.

+ +
+ +
+

+ In the sales and invoice list view, we will have an option after selecting the records in the list view. +

+ +
+ +
+

+ We can send multiple document references to a single customer using this option, + we can only send documents of a single customer at a time.

+ +
+ +
+ + +
+
+

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

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

Need Help?

+
+
+
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/whatsapp_mail_messaging/static/src/css/whatsapp.css b/whatsapp_mail_messaging/static/src/css/whatsapp.css new file mode 100644 index 000000000..91dd355b3 --- /dev/null +++ b/whatsapp_mail_messaging/static/src/css/whatsapp.css @@ -0,0 +1,22 @@ +.cy_whatsapp_web{ + position:fixed; + width:60px; + height:60px; + bottom:40px; + right:40px; + background-color:#25d366; + color:#FFF; + border-radius:50px; + text-align:center; + font-size:30px; + z-index:100; +} + +.cy-icon{ + margin-top:16px; + color: white; +} + +.fa-whatsapp { + color:#FFF; +} \ No newline at end of file diff --git a/whatsapp_mail_messaging/static/src/js/mail_button.js b/whatsapp_mail_messaging/static/src/js/mail_button.js new file mode 100644 index 000000000..bedaedb48 --- /dev/null +++ b/whatsapp_mail_messaging/static/src/js/mail_button.js @@ -0,0 +1,28 @@ +/** @odoo-module **/ + +import SystrayMenu from 'web.SystrayMenu'; +import Widget from 'web.Widget'; + +const { Component } = owl; + +var ActionMenu = Widget.extend({ + template: 'global_mail_message.mail_icon', + events: { + 'click .mail_icon': 'onclick_mail_icon', + }, + onclick_mail_icon: function() { + var self = this; + self.do_action({ + name: 'Compose Mail', + res_model: 'mail.compose.message', + views: [[false, 'form']], + type: 'ir.actions.act_window', + view_mode: 'form', + target: 'new' + }); + }, +}); + +SystrayMenu.Items.push(ActionMenu); + +export default ActionMenu; diff --git a/whatsapp_mail_messaging/static/src/js/whatsapp_button.js b/whatsapp_mail_messaging/static/src/js/whatsapp_button.js new file mode 100644 index 000000000..55488380a --- /dev/null +++ b/whatsapp_mail_messaging/static/src/js/whatsapp_button.js @@ -0,0 +1,28 @@ +/** @odoo-module **/ + +import SystrayMenu from 'web.SystrayMenu'; +import Widget from 'web.Widget'; + +const { Component } = owl; + +var ActionMenu = Widget.extend({ + template: 'whatsapp_mail_messaging.whatsapp_icon', + events: { + 'click .whatsapp_icon': 'onclick_whatsapp_icon', + }, + onclick_whatsapp_icon: function() { + var self = this; + self.do_action({ + name: 'Compose Whatsapp Message', + res_model: 'whatsapp.message.wizard', + views: [[false, 'form']], + type: 'ir.actions.act_window', + view_mode: 'form', + target: 'new' + }); + }, +}); + +SystrayMenu.Items.push(ActionMenu); + +export default ActionMenu; diff --git a/whatsapp_mail_messaging/static/src/xml/mail_button.xml b/whatsapp_mail_messaging/static/src/xml/mail_button.xml new file mode 100644 index 000000000..d31747eb9 --- /dev/null +++ b/whatsapp_mail_messaging/static/src/xml/mail_button.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/whatsapp_mail_messaging/static/src/xml/whatsapp_button.xml b/whatsapp_mail_messaging/static/src/xml/whatsapp_button.xml new file mode 100644 index 000000000..4c0b40662 --- /dev/null +++ b/whatsapp_mail_messaging/static/src/xml/whatsapp_button.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/whatsapp_mail_messaging/views/account_move_inherited.xml b/whatsapp_mail_messaging/views/account_move_inherited.xml new file mode 100644 index 000000000..0b745582e --- /dev/null +++ b/whatsapp_mail_messaging/views/account_move_inherited.xml @@ -0,0 +1,25 @@ + + + + account.move.form.view.inherited + account.move + + + +