From 8d6cf956c67161734861fcf4b0ed304ab1850c42 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Thu, 6 Nov 2025 21:42:00 +0100 Subject: [PATCH] [ADD] New module website_company_mastodon_link. Add Mastodon social network on website pages and snippets --- website_company_mastodon_link/README.rst | 97 ++++ website_company_mastodon_link/__init__.py | 1 + website_company_mastodon_link/__manifest__.py | 19 + website_company_mastodon_link/i18n/fr.po | 25 + .../models/__init__.py | 1 + .../models/website.py | 15 + website_company_mastodon_link/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 3 + .../readme/ROADMAP.md | 6 + .../static/description/index.html | 436 ++++++++++++++++++ .../static/description/website.png | Bin 0 -> 17770 bytes .../templates/s_mega_menu_odoo_menu.xml | 15 + .../templates/s_social_media.xml | 15 + .../templates/website_templates.xml | 165 +++++++ .../views/view_website.xml | 20 + 16 files changed, 822 insertions(+) create mode 100644 website_company_mastodon_link/README.rst create mode 100644 website_company_mastodon_link/__init__.py create mode 100644 website_company_mastodon_link/__manifest__.py create mode 100644 website_company_mastodon_link/i18n/fr.po create mode 100644 website_company_mastodon_link/models/__init__.py create mode 100644 website_company_mastodon_link/models/website.py create mode 100644 website_company_mastodon_link/pyproject.toml create mode 100644 website_company_mastodon_link/readme/CONTRIBUTORS.md create mode 100644 website_company_mastodon_link/readme/DESCRIPTION.md create mode 100644 website_company_mastodon_link/readme/ROADMAP.md create mode 100644 website_company_mastodon_link/static/description/index.html create mode 100644 website_company_mastodon_link/static/description/website.png create mode 100644 website_company_mastodon_link/templates/s_mega_menu_odoo_menu.xml create mode 100644 website_company_mastodon_link/templates/s_social_media.xml create mode 100644 website_company_mastodon_link/templates/website_templates.xml create mode 100644 website_company_mastodon_link/views/view_website.xml diff --git a/website_company_mastodon_link/README.rst b/website_company_mastodon_link/README.rst new file mode 100644 index 0000000000..ad5aad2624 --- /dev/null +++ b/website_company_mastodon_link/README.rst @@ -0,0 +1,97 @@ +=============================== +Website - Company Mastodon Link +=============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e734ac518bf3febed981e3bdafae77abd3dce4afad703b2857fd069cc618ff23 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github + :target: https://github.com/OCA/website/tree/18.0/website_company_mastodon_link + :alt: OCA/website +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/website-18-0/website-18-0-website_company_mastodon_link + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds Company Mastodon links on websites. + +|website| + +.. |website| image:: https://raw.githubusercontent.com/OCA/website/18.0/website_company_mastodon_link/static/description/img/website.png + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +- For unknown reason, if you make a change in the footer of the website, + the mastodon icon is duplicated, and has to be removed manually. + +- Change website form view to put ``social_mastodon`` field in 'Social + Media' page, once https://github.com/odoo/odoo/pull/237668 is merged. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* GRAP + +Contributors +------------ + +- Sylvain LE GAL + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px + :target: https://github.com/legalsylvain + :alt: legalsylvain + +Current `maintainer `__: + +|maintainer-legalsylvain| + +This module is part of the `OCA/website `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_company_mastodon_link/__init__.py b/website_company_mastodon_link/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/website_company_mastodon_link/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/website_company_mastodon_link/__manifest__.py b/website_company_mastodon_link/__manifest__.py new file mode 100644 index 0000000000..fc589911f2 --- /dev/null +++ b/website_company_mastodon_link/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2025 - Today: GRAP https://www.grap.coop +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). +{ + "name": "Website - Company Mastodon Link", + "summary": "Display Company Mastodon Link" " on Website", + "version": "18.0.1.0.0", + "author": "GRAP, Odoo Community Association (OCA)", + "maintainers": ["legalsylvain"], + "website": "https://github.com/OCA/website", + "license": "AGPL-3", + "category": "Website", + "depends": ["website", "res_company_mastodon_link", "base_fontawesome"], + "data": [ + "templates/website_templates.xml", + "templates/s_social_media.xml", + "templates/s_mega_menu_odoo_menu.xml", + "views/view_website.xml", + ], +} diff --git a/website_company_mastodon_link/i18n/fr.po b/website_company_mastodon_link/i18n/fr.po new file mode 100644 index 0000000000..e4fe935d39 --- /dev/null +++ b/website_company_mastodon_link/i18n/fr.po @@ -0,0 +1,25 @@ +#. module: website_company_mastodon_link +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.footer_custom +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.header_social_links +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.s_mega_menu_odoo_menu +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.s_social_media +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.template_footer_centered +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.template_footer_headline +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.template_footer_links +msgid "Mastodon" +msgstr "" + +#. module: website_company_mastodon_link +#: model:ir.model.fields,field_description:website_company_mastodon_link.field_website__social_mastodon +msgid "Mastodon Account" +msgstr "Compte Mastodon" + +#. module: website_company_mastodon_link +#: model_terms:ir.ui.view,arch_db:website_company_mastodon_link.view_website_form +msgid "Social Media" +msgstr "Réseaux sociaux" + +#. module: website_company_mastodon_link +#: model:ir.model,name:website_company_mastodon_link.model_website +msgid "Website" +msgstr "Site Web" diff --git a/website_company_mastodon_link/models/__init__.py b/website_company_mastodon_link/models/__init__.py new file mode 100644 index 0000000000..bd190fa80b --- /dev/null +++ b/website_company_mastodon_link/models/__init__.py @@ -0,0 +1 @@ +from . import website diff --git a/website_company_mastodon_link/models/website.py b/website_company_mastodon_link/models/website.py new file mode 100644 index 0000000000..869aaeaad6 --- /dev/null +++ b/website_company_mastodon_link/models/website.py @@ -0,0 +1,15 @@ +# Copyright 2025 - Today: GRAP https://www.grap.coop +# License AGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class Website(models.Model): + _inherit = "website" + + social_mastodon = fields.Char( + "Mastodon Account", default=lambda x: x._default_social_mastodon() + ) + + def _default_social_mastodon(self): + return self.env.ref("base.main_company").social_mastodon diff --git a/website_company_mastodon_link/pyproject.toml b/website_company_mastodon_link/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/website_company_mastodon_link/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/website_company_mastodon_link/readme/CONTRIBUTORS.md b/website_company_mastodon_link/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..3442186d90 --- /dev/null +++ b/website_company_mastodon_link/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Sylvain LE GAL \<\> diff --git a/website_company_mastodon_link/readme/DESCRIPTION.md b/website_company_mastodon_link/readme/DESCRIPTION.md new file mode 100644 index 0000000000..a4398ae271 --- /dev/null +++ b/website_company_mastodon_link/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +This module adds Company Mastodon links on websites. + +![website](../static/description/img/website.png) diff --git a/website_company_mastodon_link/readme/ROADMAP.md b/website_company_mastodon_link/readme/ROADMAP.md new file mode 100644 index 0000000000..d92b897439 --- /dev/null +++ b/website_company_mastodon_link/readme/ROADMAP.md @@ -0,0 +1,6 @@ +* For unknown reason, if you make a change in the footer of the website, + the mastodon icon is duplicated, and has to be removed manually. + +* Change website form view to put `social_mastodon` field in 'Social Media' + page, once https://github.com/odoo/odoo/pull/237668 is merged. + \ No newline at end of file diff --git a/website_company_mastodon_link/static/description/index.html b/website_company_mastodon_link/static/description/index.html new file mode 100644 index 0000000000..8711293314 --- /dev/null +++ b/website_company_mastodon_link/static/description/index.html @@ -0,0 +1,436 @@ + + + + + +Website - Company Mastodon Link + + + + + + diff --git a/website_company_mastodon_link/static/description/website.png b/website_company_mastodon_link/static/description/website.png new file mode 100644 index 0000000000000000000000000000000000000000..d77b18569b6914bc8a8a1d8a11b42b1c7db589f7 GIT binary patch literal 17770 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 N22WQ%mvv4FO#ryVx}X36 literal 0 HcmV?d00001 diff --git a/website_company_mastodon_link/templates/s_mega_menu_odoo_menu.xml b/website_company_mastodon_link/templates/s_mega_menu_odoo_menu.xml new file mode 100644 index 0000000000..06591cea02 --- /dev/null +++ b/website_company_mastodon_link/templates/s_mega_menu_odoo_menu.xml @@ -0,0 +1,15 @@ + + + + diff --git a/website_company_mastodon_link/templates/s_social_media.xml b/website_company_mastodon_link/templates/s_social_media.xml new file mode 100644 index 0000000000..166f5e1291 --- /dev/null +++ b/website_company_mastodon_link/templates/s_social_media.xml @@ -0,0 +1,15 @@ + + + + diff --git a/website_company_mastodon_link/templates/website_templates.xml b/website_company_mastodon_link/templates/website_templates.xml new file mode 100644 index 0000000000..c5c8ca59b2 --- /dev/null +++ b/website_company_mastodon_link/templates/website_templates.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website_company_mastodon_link/views/view_website.xml b/website_company_mastodon_link/views/view_website.xml new file mode 100644 index 0000000000..505a9a9635 --- /dev/null +++ b/website_company_mastodon_link/views/view_website.xml @@ -0,0 +1,20 @@ + + + + website + + + + + + + + + + + +