Initial commit: OCA Website packages (16 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:06 +02:00
commit 0578ef7638
660 changed files with 37334 additions and 0 deletions

View file

@ -0,0 +1,2 @@
from . import res_config_settings
from . import website

View file

@ -0,0 +1,36 @@
# Copyright 2022 Studio73 - Ioan Galan <ioan@studio73.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
@api.depends("website_id.whatsapp_number")
def _compute_whatsapp_enabled(self):
for record in self:
record.update({"whatsapp_enabled": bool(record.whatsapp_number)})
def _inverse_whatsapp_enabled(self):
for record in self:
if not record.whatsapp_enabled:
record.website_id.update({"whatsapp_number": False})
whatsapp_number = fields.Char(
related="website_id.whatsapp_number",
readonly=False,
)
whatsapp_text = fields.Char(
related="website_id.whatsapp_text",
readonly=False,
)
whatsapp_track_url = fields.Boolean(
related="website_id.whatsapp_track_url",
readonly=False,
)
whatsapp_enabled = fields.Boolean(
string="Use Whatsapp",
compute="_compute_whatsapp_enabled",
inverse="_inverse_whatsapp_enabled",
)

View file

@ -0,0 +1,36 @@
# Copyright 2022 Studio73 - Ioan Galan <ioan@studio73.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from urllib.parse import urlparse, urlunparse
from odoo import _, fields, models
class Website(models.Model):
_inherit = "website"
whatsapp_number = fields.Char(string="WhatsApp number")
whatsapp_text = fields.Char(
"Default text for Whatsapp",
help="Default text to send as message",
translate=True,
)
whatsapp_track_url = fields.Boolean(
"Track URL",
help="Indicate in the user's message the URL of the page from which it "
"was sent",
)
def _get_track_url_message(self, httprequest_full_path):
sent_from = _("Sent from:")
base_url = self.domain or self.env["ir.config_parameter"].sudo().get_param(
"web.base.url"
)
url = f"{base_url} {httprequest_full_path}"
parsed_url = urlparse(url)
cleaned_url = urlunparse(parsed_url._replace(query=""))
if self.whatsapp_track_url:
whatsapp_track_url_text = (
f"{self.whatsapp_text} %0A%0A*{sent_from} {cleaned_url}*"
)
return whatsapp_track_url_text