Browse Source

APR 30: [ADD] Initial commit 'website_extra_social_media'

pull/317/merge
Cybrosys Technologies 3 months ago
parent
commit
b41ec1b894
  1. 49
      website_extra_social_media/README.rst
  2. 23
      website_extra_social_media/__init__.py
  3. 51
      website_extra_social_media/__manifest__.py
  4. 22
      website_extra_social_media/controllers/__init__.py
  5. 182
      website_extra_social_media/controllers/website_extra_social_media.py
  6. 7
      website_extra_social_media/doc/RELEASE_NOTES.md
  7. 22
      website_extra_social_media/models/__init__.py
  8. 107
      website_extra_social_media/models/res_config_settings.py
  9. BIN
      website_extra_social_media/static/description/assets/icons/check.png
  10. BIN
      website_extra_social_media/static/description/assets/icons/chevron.png
  11. BIN
      website_extra_social_media/static/description/assets/icons/cogs.png
  12. BIN
      website_extra_social_media/static/description/assets/icons/consultation.png
  13. BIN
      website_extra_social_media/static/description/assets/icons/ecom-black.png
  14. BIN
      website_extra_social_media/static/description/assets/icons/education-black.png
  15. BIN
      website_extra_social_media/static/description/assets/icons/hotel-black.png
  16. BIN
      website_extra_social_media/static/description/assets/icons/license.png
  17. BIN
      website_extra_social_media/static/description/assets/icons/lifebuoy.png
  18. BIN
      website_extra_social_media/static/description/assets/icons/manufacturing-black.png
  19. BIN
      website_extra_social_media/static/description/assets/icons/pos-black.png
  20. BIN
      website_extra_social_media/static/description/assets/icons/puzzle.png
  21. BIN
      website_extra_social_media/static/description/assets/icons/restaurant-black.png
  22. BIN
      website_extra_social_media/static/description/assets/icons/service-black.png
  23. BIN
      website_extra_social_media/static/description/assets/icons/trading-black.png
  24. BIN
      website_extra_social_media/static/description/assets/icons/training.png
  25. BIN
      website_extra_social_media/static/description/assets/icons/update.png
  26. BIN
      website_extra_social_media/static/description/assets/icons/user.png
  27. BIN
      website_extra_social_media/static/description/assets/icons/wrench.png
  28. BIN
      website_extra_social_media/static/description/assets/misc/categories.png
  29. BIN
      website_extra_social_media/static/description/assets/misc/check-box.png
  30. BIN
      website_extra_social_media/static/description/assets/misc/compass.png
  31. BIN
      website_extra_social_media/static/description/assets/misc/corporate.png
  32. BIN
      website_extra_social_media/static/description/assets/misc/customer-support.png
  33. BIN
      website_extra_social_media/static/description/assets/misc/cybrosys-logo.png
  34. BIN
      website_extra_social_media/static/description/assets/misc/features.png
  35. BIN
      website_extra_social_media/static/description/assets/misc/logo.png
  36. BIN
      website_extra_social_media/static/description/assets/misc/pictures.png
  37. BIN
      website_extra_social_media/static/description/assets/misc/pie-chart.png
  38. BIN
      website_extra_social_media/static/description/assets/misc/right-arrow.png
  39. BIN
      website_extra_social_media/static/description/assets/misc/star.png
  40. BIN
      website_extra_social_media/static/description/assets/misc/support.png
  41. BIN
      website_extra_social_media/static/description/assets/misc/whatsapp.png
  42. BIN
      website_extra_social_media/static/description/assets/modules/1.jpg
  43. BIN
      website_extra_social_media/static/description/assets/modules/2.jpg
  44. BIN
      website_extra_social_media/static/description/assets/modules/3.jpg
  45. BIN
      website_extra_social_media/static/description/assets/modules/4.jpg
  46. BIN
      website_extra_social_media/static/description/assets/modules/5.jpg
  47. BIN
      website_extra_social_media/static/description/assets/modules/6.jpg
  48. BIN
      website_extra_social_media/static/description/assets/screenshots/1.png
  49. BIN
      website_extra_social_media/static/description/assets/screenshots/2.png
  50. BIN
      website_extra_social_media/static/description/assets/screenshots/3.png
  51. BIN
      website_extra_social_media/static/description/assets/screenshots/4.png
  52. BIN
      website_extra_social_media/static/description/assets/screenshots/5.png
  53. BIN
      website_extra_social_media/static/description/assets/screenshots/6.png
  54. BIN
      website_extra_social_media/static/description/assets/screenshots/hero.gif
  55. BIN
      website_extra_social_media/static/description/banner.jpg
  56. BIN
      website_extra_social_media/static/description/icon.png
  57. 782
      website_extra_social_media/static/description/index.html
  58. 35
      website_extra_social_media/static/src/js/extra_social_media.js
  59. 81
      website_extra_social_media/views/res_config_setting_views.xml
  60. 81
      website_extra_social_media/views/snippets/extra_social_media_templates.xml

49
website_extra_social_media/README.rst

@ -0,0 +1,49 @@
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
Extra Social Media In Website
=============================
This module will help you to add Extra Social Media in Website by using an
Inner Content Snippet.
Configuration
=============
* Need to add your Social Media Account links in the corresponding field of
Configuration Settings of Website module.
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
License
-------
Affero General Public License v3.0 (AGPL v3)
(https://www.gnu.org/licenses/agpl-3.0-standalone.html)
Credits
-------
Developer: (V16) Amaya Aravind, (V17) Sreerag PM
Contact : odoo@cybrosys.com
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 <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

23
website_extra_social_media/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import controllers
from . import models

51
website_extra_social_media/__manifest__.py

@ -0,0 +1,51 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
{
'name': 'Extra Social Media In Website',
'version': '17.0.1.0.0',
'category': 'Website',
'summary': 'Snippet for adding extra social medias in website.',
'description': "This provides an option to add extra social medias "
"like YouTube, Google+, Pinterest, Flickr etc. in website"
" by using inner content snippet.The social medias that "
"have values in the configuration settings will be only "
"visible in the website.",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
'depends': ['website'],
'data': [
'views/res_config_setting_views.xml',
'views/snippets/extra_social_media_templates.xml'
],
'assets': {
'web.assets_frontend': [
'website_extra_social_media/static/src/js/extra_social_media.js',
],
},
'images': ['static/description/banner.jpg'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

22
website_extra_social_media/controllers/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import website_extra_social_media

182
website_extra_social_media/controllers/website_extra_social_media.py

@ -0,0 +1,182 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import http
from odoo.http import request
class WebsiteExtraSocialMedia(http.Controller):
"""Class for the controllers of website_extra_social_media."""
@http.route(['/website/sm/facebook'], type="http", auth="public")
def facebook(self):
""" when clicking on the facebook icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['facebook_link'] is not False:
url = values['facebook_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/twitter'], type="http", auth="public")
def twitter(self):
""" when clicking on the twitter icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['twitter_link'] is not False:
url = values['twitter_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/linkedin'], type="http", auth="public")
def linkedin(self):
""" when clicking on the LinkedIn icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['linkedin_link'] is not False:
url = values['linkedin_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/instagram'], type="http", auth="public")
def instagram(self):
""" when clicking on the instagram icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['instagram_link'] is not False:
url = values['instagram_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/whatsapp'], type="http", auth="public")
def whatsapp(self):
""" when clicking on the whatsapp icon in the website, it will enter
to this controller,and it will redirect to the
link - 'https://api.whatsapp.com/send?phone='with the number that
in the configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['whatsapp_link'] is not False:
url = 'https://api.whatsapp.com/send?phone=' + values[
'whatsapp_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/github'], type="http", auth="public")
def github(self):
""" when clicking on the gitHub icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['github_link'] is not False:
url = values['github_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/youtube'], type="http", auth="public")
def youtube(self):
""" when clicking on the YouTube icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['youtube_link'] is not False:
url = values['youtube_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/google/plus'], type="http", auth="public")
def google_plus(self):
""" when clicking on the Google plus icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['google_plus_link'] is not False:
url = values['google_plus_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/snapchat'], type="http", auth="public")
def snapchat(self):
""" when clicking on the snapchat icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['snapchat_link'] is not False:
url = values['snapchat_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/flickr'], type="http", auth="public")
def flickr(self):
""" when clicking on the flickr icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['flickr_link'] is not False:
url = values['flickr_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/quora'], type="http", auth="public")
def quora(self):
""" when clicking on the quora icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['quora_link'] is not False:
url = values['quora_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/pinterest'], type="http", auth="public")
def pinterest(self):
""" when clicking on the pinterest icon in the website, it will enter
to this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['pinterest_link'] is not False:
url = values['pinterest_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/dribble'], type="http", auth="public")
def dribble(self):
""" when clicking on the dribble icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['dribble_link'] is not False:
url = values['dribble_link']
return request.redirect(url, local=False)
@http.route(['/website/sm/tumblr'], type="http", auth="public")
def tumblr(self):
""" when clicking on the tumblr icon in the website, it will enter to
this controller,and it will redirect to the link that in the
configuration settings of website module."""
values = request.env['res.config.settings'].sudo().default_get(
list(request.env['res.config.settings'].fields_get()))
if values['tumblr_link'] is not False:
url = values['tumblr_link']
return request.redirect(url, local=False)

7
website_extra_social_media/doc/RELEASE_NOTES.md

@ -0,0 +1,7 @@
## Module <website_extra_social_media>
#### 02.04.2025
#### Version 17.0.1.0.0
#### ADD
- Initial Commit for Extra Social Media In Website.

22
website_extra_social_media/models/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import res_config_settings

107
website_extra_social_media/models/res_config_settings.py

@ -0,0 +1,107 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Sreerag PM(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 <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
""" Class for inherited model res config settings. Contains required
fields and functions for the website_extra_social_media module.
Methods:
get_social_media_values(self):
Method for return social media value into the website."""
_inherit = 'res.config.settings'
twitter_link = fields.Char(string='Twitter',
config_parameter='website_extra_social_media.twitter_link',
help='Add your Twitter account link')
linkedin_link = fields.Char(string='LinkedIn',
config_parameter='website_extra_social_media.linkedin_link',
help='Add your LinkedIn account link')
whatsapp_link = fields.Char(string='Whatsapp Number',
config_parameter='website_extra_social_media.whatsapp_link',
help='Add your Whatsapp Number')
instagram_link = fields.Char(string='Instagram',
config_parameter='website_extra_social_media.instagram_link',
help='Add your Instagram account link')
github_link = fields.Char(string='GitHub',
config_parameter='website_extra_social_media.github_link',
help='Add your GitHub account link')
youtube_link = fields.Char(string='YouTube',
config_parameter='website_extra_social_media.youtube_link',
help='Add your YouTube account link')
google_plus_link = fields.Char(string='Google Plus',
config_parameter='website_extra_social_media.google_plus_link',
help='Add your Google Plus account link')
snapchat_link = fields.Char(string='Snapchat',
config_parameter='website_extra_social_media.snapchat_link',
help='Add your Snapchat account link')
facebook_link = fields.Char(string='Facebook',
config_parameter='website_extra_social_media.facebook_link',
help='Add your Facebook account link')
flickr_link = fields.Char(string='Flickr',
config_parameter='website_extra_social_media.flickr_link',
help='Add your Flickr account link')
quora_link = fields.Char(string='Quora',
config_parameter='website_extra_social_media.quora_link',
help='Add your Quora account link')
pinterest_link = fields.Char(string='Pinterest',
config_parameter='website_extra_social_media.pinterest_link',
help='Add your Pinterest account link')
dribble_link = fields.Char(string='Dribble',
config_parameter='website_extra_social_media.dribble_link',
help='Add your Dribble account link')
tumblr_link = fields.Char(string='Tumblr',
config_parameter='website_extra_social_media.tumblr_link',
help='Add your Tumblr account link')
def get_social_media_values(self):
""" Method for return social media value into the website."""
return {
'facebook': self.sudo().default_get(list(self.fields_get()))[
'facebook_link'],
'twitter': self.sudo().default_get(list(self.fields_get()))[
'twitter_link'],
'linkedin': self.sudo().default_get(list(self.fields_get()))[
'linkedin_link'],
'instagram': self.sudo().default_get(list(self.fields_get()))[
'instagram_link'],
'whatsapp': self.sudo().default_get(list(self.fields_get()))[
'whatsapp_link'],
'github': self.sudo().default_get(list(self.fields_get()))[
'github_link'],
'youtube': self.sudo().default_get(list(self.fields_get()))[
'youtube_link'],
'google_plus': self.sudo().default_get(list(self.fields_get()))[
'google_plus_link'],
'snapchat': self.sudo().default_get(list(self.fields_get()))[
'snapchat_link'],
'flickr': self.sudo().default_get(list(self.fields_get()))[
'flickr_link'],
'quora': self.sudo().default_get(list(self.fields_get()))[
'quora_link'],
'pinterest': self.sudo().default_get(list(self.fields_get()))[
'pinterest_link'],
'dribble': self.sudo().default_get(list(self.fields_get()))[
'dribble_link'],
'tumblr': self.sudo().default_get(list(self.fields_get()))[
'tumblr_link'],
}

BIN
website_extra_social_media/static/description/assets/icons/check.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
website_extra_social_media/static/description/assets/icons/chevron.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
website_extra_social_media/static/description/assets/icons/cogs.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
website_extra_social_media/static/description/assets/icons/consultation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
website_extra_social_media/static/description/assets/icons/ecom-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
website_extra_social_media/static/description/assets/icons/education-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
website_extra_social_media/static/description/assets/icons/hotel-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
website_extra_social_media/static/description/assets/icons/license.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
website_extra_social_media/static/description/assets/icons/lifebuoy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_extra_social_media/static/description/assets/icons/manufacturing-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

BIN
website_extra_social_media/static/description/assets/icons/pos-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
website_extra_social_media/static/description/assets/icons/puzzle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

BIN
website_extra_social_media/static/description/assets/icons/restaurant-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

BIN
website_extra_social_media/static/description/assets/icons/service-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

BIN
website_extra_social_media/static/description/assets/icons/trading-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

BIN
website_extra_social_media/static/description/assets/icons/training.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

BIN
website_extra_social_media/static/description/assets/icons/update.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_extra_social_media/static/description/assets/icons/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

BIN
website_extra_social_media/static/description/assets/icons/wrench.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_extra_social_media/static/description/assets/misc/categories.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
website_extra_social_media/static/description/assets/misc/check-box.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
website_extra_social_media/static/description/assets/misc/compass.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
website_extra_social_media/static/description/assets/misc/corporate.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
website_extra_social_media/static/description/assets/misc/customer-support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
website_extra_social_media/static/description/assets/misc/cybrosys-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
website_extra_social_media/static/description/assets/misc/features.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

BIN
website_extra_social_media/static/description/assets/misc/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
website_extra_social_media/static/description/assets/misc/pictures.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
website_extra_social_media/static/description/assets/misc/pie-chart.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
website_extra_social_media/static/description/assets/misc/right-arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

BIN
website_extra_social_media/static/description/assets/misc/star.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
website_extra_social_media/static/description/assets/misc/support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
website_extra_social_media/static/description/assets/misc/whatsapp.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
website_extra_social_media/static/description/assets/modules/1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
website_extra_social_media/static/description/assets/modules/2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
website_extra_social_media/static/description/assets/modules/3.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
website_extra_social_media/static/description/assets/modules/4.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
website_extra_social_media/static/description/assets/modules/5.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
website_extra_social_media/static/description/assets/modules/6.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
website_extra_social_media/static/description/assets/screenshots/hero.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

BIN
website_extra_social_media/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
website_extra_social_media/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

782
website_extra_social_media/static/description/index.html

@ -0,0 +1,782 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Extra Social Media In Website</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css"
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
rel="stylesheet">
</head>
<body>
<section>
<div class="container"
style="font-family: 'Inter', sans-serif !important;background-color: #fff !important;">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 d-flex justify-content-between flex-wrap align-items-sm-center"
style="border-bottom:1px solid rgba(0, 0, 0, 0.22)">
<div class="my-3">
<img src="assets/misc/logo.png"
style="width:auto !important; height:40px !important">
</div>
<div class="my-3 d-flex align-items-center">
<div class="text-center"
style="background-color:#017E84 !important;font-size: 0.8rem !important; color:#fff !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width: 120px !important;">
Community
</div>
<div class="text-center"
style="background-color:#875A7B !important; color:#fff !important;font-size: 0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important;min-width: 120px !important;">
Enterprise
</div>
<div style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 text-center d-flex align-items-center flex-column"
style="margin: 80px 0px !important;">
<h1 style="font-size: 2.8rem;font-weight: 700; color:
#1A202C;">
Extra Social Media In Website</h1>
<p class="my-3 mb-4"
style="max-width: 80%; font-weight: 400 !important; line-height: 32px; color: #718096;">
Snippet for Adding Extra Social Medias.
</p>
<div style="width: 80%; margin-top: 3rem;">
<img src="assets/screenshots/hero.gif"
class="img-responsive" width="100%" height="auto">
</div>
</div>
</div>
<div class="container mt-5 mb-5">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4">
<p class="m-0"
style="font-weight: 600; font-size: 24px; color:#714b67 !important">
Key Highlights
</p>
</div>
<div class="row py-4">
<div class="col-md-6 col-sm-12 p-3">
<div class="d-flex h-100" style="padding: 30px;border-radius: 12px;
background: #FFF;
box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); ">
<div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67;
display: flex; justify-content: center; align-items: center;
margin-right: 10px; flex-shrink: 0;">
<i class="fa-solid fa-star "
style="color: #fff;font-size:14px;"></i>
</div>
<div>
<p style="color: #1A202C;font-weight: 600;
font-size: 1.2rem; margin-bottom: 2px;">
Extra Social Medias like YouTube, Google+ , Pinterest, Flickr etc. for Website. </p>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12 p-3">
<div class="d-flex h-100" style="padding: 30px;border-radius: 12px;
background: #FFF;
box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); ">
<div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67;
display: flex; justify-content: center; align-items: center;
margin-right: 10px; flex-shrink: 0; ">
<i class="fa-solid fa-star "
style="color: #fff;font-size:14px;"></i>
</div>
<div>
<p style="color: #1A202C;font-weight: 600;
font-size: 1.2rem; margin-bottom: 2px;">
Can use as Snippet.</p>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12 p-3">
<div class="d-flex h-100" style="padding: 30px;border-radius: 12px;
background: #FFF;
box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); ">
<div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67;
display: flex; justify-content: center; align-items: center;
margin-right: 10px; flex-shrink: 0; ">
<i class="fa-solid fa-star "
style="color: #fff;font-size:14px;"></i>
</div>
<div>
<p style="color: #1A202C;font-weight: 600;
font-size: 1.2rem; margin-bottom: 2px;">
Applicable for multiple Websites.</p>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12 p-3">
<div class="d-flex h-100" style="padding: 30px;border-radius: 12px;
background: #FFF;
box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); ">
<div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67;
display: flex; justify-content: center; align-items: center;
margin-right: 10px; flex-shrink: 0; ">
<i class="fa-solid fa-star "
style="color: #fff;font-size:14px;"></i>
</div>
<div>
<p style="color: #1A202C;font-weight: 600;
font-size: 1.2rem; margin-bottom: 2px;">
Compatible with Community, Enterprise and Odoo.sh.</p>
</div>
</div>
</div>
</div>
</div>
<div class="container rounded">
<ul class="nav nav-tabs d-flex"
style="width: fit-content;margin: 0 auto;gap: 1rem;">
<li class="col text-center py-2 text-nowrap "
style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;">
<a
class="active show" data-toggle="tab" href="#tab1"
style="color: #fff;font-weight: 500; background-color: #714B67; text-decoration: none;">
<i class="fa-regular fa-image pr-2"
style="color: #fff;"></i>
Screenshots</a></li>
<li class="col text-center py-2 text-nowrap "
style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;">
<a
data-toggle="tab" href="#tab2"
style="color: #fff;font-weight: 500; text-decoration: none;"><i
class="fa-solid fa-star pr-2"
style="color: #fff;"></i>Features</a></li>
<li class="col text-center py-2 text-nowrap "
style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;">
<a
data-toggle="tab" href="#tab3"
style="color: #fff;font-weight: 500; text-decoration: none; background-color: #714B67;"><i
class="fa-solid fa-book-open pr-2"
style="color: #fff;"></i>Released Notes</a></li>
</ul>
<div class="tab-content"
style="background-color: rgba(121, 113, 119, 0.04);">
<div id="tab1" class="tab-pane fade in active show">
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/1.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
Add your Social Media account links in the corresponding field of Configuration
Settings of Website. </h4>
</div>
</div>
</div>
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/2.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
There will be an Inner Content Snippet for Extra Social Media.</h4>
</div>
</div>
</div>
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/3.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
When you drag and drop the snippet, you will be able to see all the Social
Medias.</h4>
</div>
</div>
</div>
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/4.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
But after saving the changes, the Social Medias that have
values in the Configuration Settings will be only visible in the Website.
When you click on the button, it will redirect to the corresponding Website.</h4>
</div>
</div>
</div>
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/5.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
In the case of Whatsapp, just add the Whatsapp Number.</h4>
</div>
</div>
</div>
<div class="col-lg-12 py-2"
style="padding: 1rem 4rem !important;">
<div
style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="row justify-content-center p-3 w-100 m-0">
<img src="assets/screenshots/6.png"
class="img-responsive" width="100%"
height="auto">
</div>
<div class="px-3">
<h4 class="mt-2"
style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important">
It will redirect to the Whatsapp Page.</h4>
</div>
</div>
</div>
</div>
<div id="tab2" class="tab-pane fade">
<div class="col-mg-12" style="padding: 1rem 4rem;">
<ul style="list-style: none; padding: 1rem 0;font-weight: 500;">
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>Extra Social Medias like YouTube, Google+ , Pinterest,
Flickr etc. for Website.
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>Can use as Snippet.
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>The link for social media can be added from
Configuration Settings of Website module.
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>In the case of Whatsapp,just use Whatsapp number.
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>Applicable for multiple Websites.
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>Only the Social Media that have account links in the
back-end will be visible in the front-end
</li>
<li class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<span style="margin-right: 12px;"><img
src="assets/misc/star (1) 2.svg"
alt=""
width="16px"></span>Compatible with Community, Enterprise and Odoo.sh.
</li>
</ul>
</div>
</div>
<div id="tab3" class="tab-pane fade">
<div class="col-mg-12 active" style="padding: 1rem 4rem;">
<div class="py-3"
style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);">
<div class="d-flex mb-3"
style="font-size: 0.8rem; font-weight: 500;"><span>Version
17.0.1.0.0</span><span
class="px-2">|</span><span
style="color: #714B67;font-weight: 600;">Released on:02 August 2025</span>
</div>
<p class="m-0"
style=" color:#718096!important; font-size:1rem !important;line-height: 28px;">
Initial Commit for Extra Social Media In Website.</p>
</div>
</div>
</div>
</div>
</div>
<div class="container mt-5">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-5">
<p class="m-0"
style="font-weight: 600; font-size: 24px; color:#000 !important">
Related Products</p>
</div>
</div>
<div id="myCarousel" class="carousel slide py-3" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<div class="row p-4">
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/website_product_attachments"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px; ">
<img src="assets/modules/1.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Product Attachments on Website</p>
</div>
</a>
</div>
</div>
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/website_pdf_preview_snippet"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px; ">
<img src="assets/modules/2.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Website PDF Preview Snippet</p>
</div>
</a>
</div>
</div>
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/dynamic_image_hotspot"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px; ">
<img src="assets/modules/3.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Dynamic Image Hotspot</p>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="carousel-item">
<div class="row p-4">
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/website_hide_variants/"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px; ">
<img src="assets/modules/4.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Disable Variants in Website</p>
</div>
</a>
</div>
</div>
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/odoo_website_helpdesk/"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px;">
<img src="assets/modules/5.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Website Helpdesk Support Ticket Management</p>
</div>
</a>
</div>
</div>
<div class="col">
<div class="p-3">
<a href="https://apps.odoo.com/apps/modules/17.0/website_return_management/"
style="color: #000; text-decoration: none;">
<div style="border:1px solid #CBCBCB !important;border-radius: 4px;">
<div style="width: 300px;">
<img src="assets/modules/6.jpg"
alt="" width="100%"
height="auto">
</div>
<p class="text-center pt-2 text-black font-weight-bold">
Website Return Order Management
</p>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#myCarousel"
data-slide="prev" style="width: 35px; color: #000;">
<span class="carousel-control-prev-icon">
<i class="fa fa-chevron-left"
style="font-size: 24px;"></i>
</span>
</a>
<a class="carousel-control-next" href="#myCarousel"
data-slide="next" style="width: 35px; color: #000;">
<span class="carousel-control-next-icon">
<i class="fa fa-chevron-right"
style="font-size: 24px;"></i>
</span>
</a>
</div>
<div class="container mt-5">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4">
<p class="m-0"
style="font-weight: 600; font-size: 24px; color:#000 !important">
Our Services</p>
</div>
</div>
<div class="container my-5">
<div class="row py-3">
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#13EA36 ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/cogs.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Customization</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#DBC711; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/wrench.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Implementation</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#FF6B6B ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/lifebuoy.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Support</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#FFA801 ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/user.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Hire
Odoo Developer</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#54A0FF; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/puzzle.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Integration</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#6D7680 ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/update.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Migration</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#786FA6 ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/consultation.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Consultancy</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#F8A5C2 ; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/training.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Implementation</p>
</div>
</div>
<div class="col-md-4 col-sm-6 px-4 py-4">
<div
style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;">
<div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);">
<div style="background-color:#E6BE26; border-radius: 50%; padding: 15px; width: 68px;
height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);">
<img src="assets/icons/license.png"
alt="service-icon" width="38px"
height="auto">
</div>
</div>
<p style="margin-top: 20px; font-weight: bold;">Odoo
Licensing Consultancy</p>
</div>
</div>
</div>
</div>
<div class="container mt-5">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4">
<p class="m-0"
style="font-weight: 600; font-size: 24px; color:#000 !important">
Our Industries</p>
</div>
</div>
<div class="container">
<div class="row my-5 py-4">
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100 "
style="border-right: 1px solid rgb(209, 209, 209); border-bottom: 1px solid rgb(209, 209, 209); padding: 30px; box-shadow: 6px 0 10px rgba(228, 227, 227, 0.373);">
<img src="assets/icons/trading-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">Trading</p>
<p>Easily procure and sell your products</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-right: 1px solid rgb(209, 209, 209);border-bottom: 1px solid rgb(209, 209, 209); padding: 30px;">
<img src="assets/icons/pos-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">POS</p>
<p>Easy configuration and convivial experience</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-right: 1px solid rgb(209, 209, 209);border-bottom: 1px solid rgba(0, 0, 0, 0.2); padding: 30px; box-shadow: 0 5px 10px rgba(228, 227, 227, 0.373)">
<img src="assets/icons/education-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">
Education</p>
<p>A platform for educational management</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-bottom: 1px solid rgb(209, 209, 209); padding: 30px; ">
<img src="assets/icons/manufacturing-black.png"
width="42px" height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">
Manufacturing</p>
<p>Plan, track and schedule your operations</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-right: 1px solid rgb(209, 209, 209); padding: 30px;">
<img src="assets/icons/ecom-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">E-commerce &
Website</p>
<p>Mobile friendly, awe-inspiring product pages</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-right: 1px solid rgb(209, 209, 209); padding: 30px;box-shadow: 0 -5px 10px rgba(228, 227, 227, 0.373);">
<img src="assets/icons/service-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">Service
Management</p>
<p>Keep track of services and invoice</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style="border-right: 1px solid rgb(209, 209, 209); padding: 30px; ">
<img src="assets/icons/restaurant-black.png"
width="42px" height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">
Restaurant</p>
<p>Run your bar or restaurant methodically</p>
</div>
</div>
<div class="col-md-3 col-sm-6 p-0">
<div class="d-flex flex-column h-100"
style=" padding: 30px;box-shadow: -5px 0 10px rgba(228, 227, 227, 0.373);">
<img src="assets/icons/hotel-black.png" width="42px"
height="auto" alt="">
<p style="color: #714B67;font-weight: 600; margin-top: 10px;
font-size: 1.2rem; margin-bottom: 2px;">Hotel
Management</p>
<p>An all-inclusive hotel management application</p>
</div>
</div>
</div>
</div>
<div class="container mt-5">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-5">
<p class="m-0"
style="font-weight: 600; font-size: 24px; color:#000 !important">
Support</p>
</div>
</div>
<div class="container my-5">
<div class="row" style="background-color: #FFFAFE;">
<div class="col-md-6 pb-4 d-flex align-items-center justify-content-center"
style="border-right: 1px solid #D9D9D9;">
<div style="padding: 30px;">
<div class="d-flex align-items-center">
<img src="assets/misc/support (1) 1.svg" alt=""
width="60px" style="margin-right: 12px;">
<div style="padding: 0px 8px;">
<span
style="color: #714B67;font-size: 24px;font-weight: 600;padding-bottom: 1rem;">Need
Help?</span>
<p class="m-0" style="color:#718096;">Got
questions or need help? Get in touch.</p>
<div style="font-weight: 400;"><span><img
src="assets/misc/support-email.svg"
alt=""
width="18px"
style="filter: invert(1);margin-right: 0.8rem;"></span>odoo@cybrosys.com
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6 pb-4 d-flex align-items-center justify-content-center">
<div style="padding: 30px;">
<div class="d-flex align-items-center">
<img src="assets/misc/whatsapp 1.svg" alt=""
width="60px" style="margin-right: 12px;">
<div>
<span style="color: #714B67;font-size: 24px;font-weight: 600;">WhatsApp</span>
<p class="m-0" style="color:#718096;">Say hi to
us on WhatsApp!</p>
<div style="font-weight: 400; font-size: 16px;"><span><img
src="assets/misc/phone.svg"
alt="" width="14px"
style="filter: invert(1); margin-right: 0.8rem;"></span>+91
99456767686
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>

35
website_extra_social_media/static/src/js/extra_social_media.js

@ -0,0 +1,35 @@
/** @odoo-module **/
import publicWidget from "@web/legacy/js/public/public_widget";
publicWidget.registry.PublicWidgetExtraSocialMedia = publicWidget.Widget.extend({
selector: '.extra_social_media',
// Function to make social media icons visible only if value entered in that
// of fields in configuration settings of website module.
init() {
this._super(...arguments);
this.orm = this.bindService("orm");
},
start: function () {
var self = this
this.orm.call(
'res.config.settings',
'get_social_media_values', [0]).then(function (result){
});
this.orm.call('res.config.settings', 'get_social_media_values', [0]).then(function (result) {
self.toggleSocialMediaIcons(result);
});
return this._super.apply(this, arguments);
},
toggleSocialMediaIcons: function (result) {
const socialMediaPlatforms = [
'facebook', 'twitter', 'linkedin', 'instagram', 'whatsapp', 'github',
'youtube', 'google_plus', 'snapchat', 'flickr', 'quora', 'pinterest',
'dribble', 'tumblr'
];
socialMediaPlatforms.forEach(platform => {
if (!result[platform]) {
this.$el.find(`.extra_social_media_${platform}`).hide();
}
});
}
});

81
website_extra_social_media/views/res_config_setting_views.xml

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Inherited res_config_settings to add fields for social medias-->
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.website.extra.social.media</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="20"/>
<field name="inherit_id" ref="website.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//block[@id='website_settings']" position="after">
<block title="Social Media" id="add_social_medias_settings">
<setting>
<div class="content-group">
<div class="row mt8">
<label class="col-lg-3" string="FaceBook" for="facebook_link"/>
<field name="facebook_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Twitter" for="twitter_link"/>
<field name="twitter_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Linkedin" for="linkedin_link"/>
<field name="linkedin_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Whatsapp Number" for="whatsapp_link"/>
<field name="whatsapp_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Instagram" for="instagram_link"/>
<field name="instagram_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Github" for="github_link"/>
<field name="github_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Youtube" for="youtube_link"/>
<field name="youtube_link"/>
</div>
</div>
</setting>
<setting>
<div class="content-group">
<div class="row mt8">
<label class="col-lg-3" string="Google+" for="google_plus_link"/>
<field name="google_plus_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="SnapChat" for="snapchat_link"/>
<field name="snapchat_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Flickr" for="flickr_link"/>
<field name="flickr_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Quora" for="quora_link"/>
<field name="quora_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Pinterest" for="pinterest_link"/>
<field name="pinterest_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Dribble" for="dribble_link"/>
<field name="dribble_link"/>
</div>
<div class="row mt8">
<label class="col-lg-3" string="Tumblr" for="tumblr_link"/>
<field name="tumblr_link"/>
</div>
</div>
</setting>
</block>
</xpath>
</field>
</record>
</odoo>

81
website_extra_social_media/views/snippets/extra_social_media_templates.xml

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Template for the extra social media snippet-->
<template id="extra_social_media" name="Extra Social Media" active="True">
<section id="snippet_extra_social_media" class="s_badge container extra_social_media">
<h5 class="extra_social_media_title d-none"
contenteditable="true">
Follow us
</h5>
<a href="/website/sm/facebook"
class="extra_social_media_facebook" target="_blank">
<i class="fa fa-facebook rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/twitter"
class="extra_social_media_twitter"
target="_blank">
<i class="fa fa-twitter rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/linkedin"
class="extra_social_media_linkedin" target="_blank">
<i class="fa fa-linkedin rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/instagram"
class="extra_social_media_instagram" target="_blank">
<i class="fa fa-instagram rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/whatsapp"
class="extra_social_media_whatsapp" target="_blank">
<i class="fa fa-whatsapp rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/github"
class="extra_social_media_github" target="_blank">
<i class="fa fa-github rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/youtube"
class="extra_social_media_youtube" target="_blank">
<i class="fa fa-youtube rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/google/plus"
class="extra_social_media_google_plus" target="_blank">
<i class="fa fa-google-plus rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/snapchat"
class="extra_social_media_snapchat" target="_blank">
<i class="fa fa-snapchat rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/flickr"
class="extra_social_media_flickr" target="_blank">
<i class="fa fa-flickr rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/quora"
class="extra_social_media_quora" target="_blank">
<i class="fa fa-quora rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/pinterest"
class="extra_social_media_pinterest" target="_blank">
<i class="fa fa-pinterest rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/dribble"
class="extra_social_media_dribble" target="_blank">
<i class="fa fa-dribbble rounded-circle shadow-sm"/>
</a>
<a href="/website/sm/tumblr"
class="extra_social_media_tumblr" target="_blank">
<i class="fa fa-tumblr rounded-circle shadow-sm"/>
</a>
<a href="/" class="text-800">
<i class="fa fa-home rounded-circle shadow-sm"/>
</a>
</section>
</template>
<!--Adding snippet into inner content section in the website-->
<template id="external_snippets" inherit_id="website.snippets" priority="8">
<xpath expr="//div[@id='snippet_content']/div[hasclass('o_panel_body')]"
position="inside">
<t t-snippet="website_extra_social_media.extra_social_media"
t-thumbnail="./website_extra_social_media/static/description/icon.png"/>
</xpath>
</template>
</odoo>
Loading…
Cancel
Save