Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
bfd6e35
[ADD] website_llms: add new module
marcelsavegnago Jan 19, 2026
8990054
[UPD] Update website_llms.pot
Jun 9, 2026
199105b
[BOT] post-merge updates
OCA-git-bot Jun 9, 2026
bf84cb9
Added translation using Weblate (Italian)
mymage Jun 10, 2026
9039f86
Translated using Weblate (Italian)
mymage Jun 10, 2026
ba7d9ed
[DEL] website_altcha: unnecessary modification of upstream file
hbrunn Jul 3, 2026
e96b01a
[ADD] website_event_altcha
hbrunn Jul 3, 2026
20ee901
[RFR] website_altcha: base test case
hbrunn Jul 3, 2026
c9b4b30
[RFR] website_altcha: make it easier to extend & customize
hbrunn Jul 3, 2026
4c582b7
[IMP] website_altcha: add hbrunn as maintainer
hbrunn Jul 3, 2026
373456a
[MIG] website_llms: Migration to 18.0
prayagrk Jun 26, 2026
9469efe
[FIX] website_blog_scheduled_publication tree view
sergiocorato Jul 30, 2026
6bcbd45
Translated using Weblate (Slovenian)
sysadminmatmoz Aug 11, 2026
969d617
Added translation using Weblate (Slovenian)
sysadminmatmoz Aug 11, 2026
eb7c8cd
Translated using Weblate (Slovenian)
sysadminmatmoz Aug 11, 2026
b5633c8
Added translation using Weblate (French)
thibaultrey Aug 11, 2026
61daf77
Translated using Weblate (French)
thibaultrey Aug 11, 2026
92f13e2
Merge PR #1208 into 18.0
OCA-git-bot Aug 24, 2026
b68a03b
[BOT] post-merge updates
OCA-git-bot Aug 24, 2026
db5a144
Merge PR #1202 into 18.0
OCA-git-bot Sep 1, 2026
17f01e3
[UPD] Update website_llms.pot
Sep 1, 2026
4b13b6c
[BOT] post-merge updates
OCA-git-bot Sep 1, 2026
e88d145
Merge PR #1203 into 18.0
OCA-git-bot Sep 2, 2026
2ac80f0
[UPD] Update website_altcha.pot
Sep 2, 2026
584089c
[UPD] Update website_event_altcha.pot
Sep 2, 2026
1fcd821
[BOT] post-merge updates
OCA-git-bot Sep 2, 2026
7b4a3ae
Update translation files
weblate Sep 2, 2026
1fc0f29
Added translation using Weblate (Italian)
mymage Sep 3, 2026
2672888
[ADD] website_social_media_link.
legalsylvain Mar 8, 2026
b6fab4e
Merge PR #1170 into 18.0
OCA-git-bot Sep 10, 2026
4845594
[UPD] Update website_social_media_link.pot
Sep 10, 2026
f1481db
[BOT] post-merge updates
OCA-git-bot Sep 10, 2026
ad9964e
[ADD] website_exclude_sitemap: exclude URLs from sitemap.xml
edescalona Sep 11, 2026
28d33ef
Added translation using Weblate (Italian)
mymage Sep 14, 2026
cbe4716
Merge PR #1177 into 18.0
OCA-git-bot Sep 17, 2026
56d401a
[BOT] post-merge updates
OCA-git-bot Sep 17, 2026
0d45197
Added translation using Weblate (Italian)
mymage Sep 21, 2026
d9724f2
Translated using Weblate (Italian)
mymage Sep 21, 2026
7e44dc3
Translated using Weblate (Italian)
mymage Sep 21, 2026
40f66c9
[REF] website: sync OCA 18.0 (2026-09-22)
rafael-lima-xipptech Sep 22, 2026
e3af4e1
[REF] website: merge fork 18.0 (august sync) into 2026-09-22 sync branch
rafael-lima-xipptech Sep 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,21 @@ Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[website_altcha](website_altcha/) | 18.0.1.0.1 | | Use self hosted privacy friendly captcha for verifying website users are not bots
[website_altcha](website_altcha/) | 18.0.1.1.0 | <a href='https://github.com/hbrunn'><img src='https://github.com/hbrunn.png' width='32' height='32' style='border-radius:50%;' alt='hbrunn'/></a> | Use self hosted privacy friendly captcha for verifying website users are not bots
[website_analytics_matomo](website_analytics_matomo/) | 18.0.1.0.0 | | Track website users using matomo
[website_blog_scheduled_publication](website_blog_scheduled_publication/) | 18.0.1.0.0 | <a href='https://github.com/marcelsavegnago'><img src='https://github.com/marcelsavegnago.png' width='32' height='32' style='border-radius:50%;' alt='marcelsavegnago'/></a> <a href='https://github.com/CristianoMafraJunior'><img src='https://github.com/CristianoMafraJunior.png' width='32' height='32' style='border-radius:50%;' alt='CristianoMafraJunior'/></a> | Schedule blog posts publication date
[website_blog_scheduled_publication](website_blog_scheduled_publication/) | 18.0.1.1.0 | <a href='https://github.com/marcelsavegnago'><img src='https://github.com/marcelsavegnago.png' width='32' height='32' style='border-radius:50%;' alt='marcelsavegnago'/></a> <a href='https://github.com/CristianoMafraJunior'><img src='https://github.com/CristianoMafraJunior.png' width='32' height='32' style='border-radius:50%;' alt='CristianoMafraJunior'/></a> | Schedule blog posts publication date
[website_breadcrumb](website_breadcrumb/) | 18.0.1.0.0 | | Let you have breadcrumbs in website pages
[website_cf_turnstile_login](website_cf_turnstile_login/) | 18.0.1.0.0 | <a href='https://github.com/adasatorres'><img src='https://github.com/adasatorres.png' width='32' height='32' style='border-radius:50%;' alt='adasatorres'/></a> | Add Cloudflare Turnstile captcha to login form
[website_cookiebot](website_cookiebot/) | 18.0.1.0.0 | | Ask for cookies consent connecting with Cookiebot
[website_cookiefirst](website_cookiefirst/) | 18.0.2.0.0 | | Cookiefirst integration
[website_crm_quick_answer](website_crm_quick_answer/) | 18.0.1.0.0 | | Add an automatic answer for contacts asking for info
[website_event_altcha](website_event_altcha/) | 18.0.1.1.0 | <a href='https://github.com/hbrunn'><img src='https://github.com/hbrunn.png' width='32' height='32' style='border-radius:50%;' alt='hbrunn'/></a> | Support event registration with ALTCHA
[website_exclude_sitemap](website_exclude_sitemap/) | 18.0.1.0.0 | | Exclude addresses from the sitemap.xml file according to the values defined in the configuration
[website_form_require_legal](website_form_require_legal/) | 18.0.1.0.2 | | Add possibility to require confirm legal terms.
[website_forum_subscription](website_forum_subscription/) | 18.0.1.0.2 | | Adds a button to allow subscription from the website
[website_google_tag_manager](website_google_tag_manager/) | 18.0.1.0.0 | | Add support for Google Tag Manager
[website_legal_page](website_legal_page/) | 18.0.1.0.0 | | Website Legal Page
[website_llms](website_llms/) | 18.0.1.0.0 | <a href='https://github.com/marcelsavegnago'><img src='https://github.com/marcelsavegnago.png' width='32' height='32' style='border-radius:50%;' alt='marcelsavegnago'/></a> | This module adds support for serving a /llms.txt file in the website root. The content can be configured per website in the website settings.
[website_menu_by_user_status](website_menu_by_user_status/) | 18.0.1.0.0 | | Allow to manage the display of website.menus
[website_odoo_debranding](website_odoo_debranding/) | 18.0.1.0.0 | | Remove Odoo Branding from Website
[website_partner_form](website_partner_form/) | 18.0.1.0.0 | <a href='https://github.com/legalsylvain'><img src='https://github.com/legalsylvain.png' width='32' height='32' style='border-radius:50%;' alt='legalsylvain'/></a> | Allow to edit partner website fields on partner form view, in the back office
Expand All @@ -42,6 +45,7 @@ addon | version | maintainers | summary
[website_search_header](website_search_header/) | 18.0.1.0.0 | | Website Search in Header
[website_select2](website_select2/) | 18.0.1.0.0 | <a href='https://github.com/hbrunn'><img src='https://github.com/hbrunn.png' width='32' height='32' style='border-radius:50%;' alt='hbrunn'/></a> | Integrate select2 in Odoo websites
[website_snippet_country_dropdown](website_snippet_country_dropdown/) | 18.0.1.0.1 | | Allow to select country in a dropdown
[website_social_media_link](website_social_media_link/) | 18.0.1.0.0 | <a href='https://github.com/legalsylvain'><img src='https://github.com/legalsylvain.png' width='32' height='32' style='border-radius:50%;' alt='legalsylvain'/></a> | Display Social Medial Links on Website back-end.
[website_user_login_redirect_custom](website_user_login_redirect_custom/) | 18.0.1.0.0 | | Redirect website/portal user to custom URL after login or signup
[website_whatsapp](website_whatsapp/) | 18.0.1.0.1 | <a href='https://github.com/ioans73'><img src='https://github.com/ioans73.png' width='32' height='32' style='border-radius:50%;' alt='ioans73'/></a> | Whatsapp integration

Expand Down
6 changes: 5 additions & 1 deletion setup/_metapackage/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "odoo-addons-oca-website"
version = "18.0.20260727.0"
version = "18.0.20260917.0"
dependencies = [
"odoo-addon-website_altcha==18.0.*",
"odoo-addon-website_analytics_matomo==18.0.*",
Expand All @@ -10,10 +10,13 @@ dependencies = [
"odoo-addon-website_cookiebot==18.0.*",
"odoo-addon-website_cookiefirst==18.0.*",
"odoo-addon-website_crm_quick_answer==18.0.*",
"odoo-addon-website_event_altcha==18.0.*",
"odoo-addon-website_exclude_sitemap==18.0.*",
"odoo-addon-website_form_require_legal==18.0.*",
"odoo-addon-website_forum_subscription==18.0.*",
"odoo-addon-website_google_tag_manager==18.0.*",
"odoo-addon-website_legal_page==18.0.*",
"odoo-addon-website_llms==18.0.*",
"odoo-addon-website_menu_by_user_status==18.0.*",
"odoo-addon-website_odoo_debranding==18.0.*",
"odoo-addon-website_partner_form==18.0.*",
Expand All @@ -22,6 +25,7 @@ dependencies = [
"odoo-addon-website_search_header==18.0.*",
"odoo-addon-website_select2==18.0.*",
"odoo-addon-website_snippet_country_dropdown==18.0.*",
"odoo-addon-website_social_media_link==18.0.*",
"odoo-addon-website_user_login_redirect_custom==18.0.*",
"odoo-addon-website_whatsapp==18.0.*",
]
Expand Down
10 changes: 9 additions & 1 deletion website_altcha/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Privacy Friendly Captcha
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:47240fe67bd99327829258a0f654f2a147a5332dca76e6e66d67df44800779c8
!! source digest: sha256:83e03d4eacacddd6d9b4c9b29eed8eee8f9d1bde28564186bfb553e8f5a29b6f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down Expand Up @@ -126,6 +126,14 @@ 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-hbrunn| image:: https://github.com/hbrunn.png?size=40px
:target: https://github.com/hbrunn
:alt: hbrunn

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-hbrunn|

This module is part of the `OCA/website <https://github.com/OCA/website/tree/18.0/website_altcha>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
15 changes: 11 additions & 4 deletions website_altcha/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,28 @@
"name": "Privacy Friendly Captcha",
"summary": """Use self hosted privacy friendly captcha for
verifying website users are not bots""",
"version": "18.0.1.0.1",
"version": "18.0.1.1.0",
"license": "AGPL-3",
"author": "Dixmit,Odoo Community Association (OCA)",
"maintainers": ["hbrunn"],
"website": "https://github.com/OCA/website",
"depends": [
"website",
],
"assets": {
"web.assets_frontend": [
"website_altcha/static/src/**/*.esm.js",
"website_altcha/static/src/**/*.xml",
"website_altcha/static/src/**/*.scss",
"website_altcha/static/src/*.esm.js",
"website_altcha/static/src/*.xml",
"website_altcha/static/src/*.scss",
],
"web.altcha_libs": [
"website_altcha/static/lib/altcha.js",
"website_altcha/static/lib/altcha-l10n.js",
"website_altcha/static/lib/altcha.css",
],
"web.assets_tests": [
"website_altcha/static/tests/tours/*.esm.js",
],
},
"external_dependencies": {
"python": ["altcha"],
Expand All @@ -31,4 +35,7 @@
"security/ir.model.access.csv",
"views/res_config_settings_views.xml",
],
"demo": [
"demo/website_page.xml",
],
}
36 changes: 36 additions & 0 deletions website_altcha/demo/website_page.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<odoo>
<template id="demo_page_view">
<t t-call="website.layout">
<form class="website_altcha_form">
<p>
This is a demo form for website_altcha. Note how it automatically inserts the widget in the container containing the submit button
</p>
<div>
<button type="submit">Submit</button>
</div>
</form>
<form class="website_altcha_form">
<p>
You can however also place the widget yourself and configure it according to the <a
href="https://altcha.org/docs/v2/widget-integration/#attribute-configuration"
>documentation</a>. In that case the <em
>website_altcha_form</em> class only takes care that the javascript code is loaded and activated.
</p>
<p>
Note in both cases, you'll have to verify the token you received in your custom controller.
</p>
<div>
<altcha-widget type="switch" />
</div>
<div>
<button type="submit">Submit</button>
</div>
</form>
</t>
</template>
<record id="demo_page" model="website.page">
<field name="url">/website_altcha_demo</field>
<field name="is_published" eval="True" />
<field name="view_id" ref="demo_page_view" />
</record>
</odoo>
217 changes: 217 additions & 0 deletions website_altcha/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_altcha
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-08-11 18:46+0000\n"
"Last-Translator: Thibault REY <rey.thibault@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.15.2\n"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid ""
". In that case the <em>website_altcha_form</em> class only takes care that "
"the javascript code is loaded and activated."
msgstr ""

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "Add Altcha functionality"
msgstr ""

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "Algorithm"
msgstr "Algorithme"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_algorithm
#: model:ir.model.fields,field_description:website_altcha.field_website__altcha_algorithm
msgid "Altcha Algorithm"
msgstr "Algorithme Altcha"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_cost
#: model:ir.model.fields,field_description:website_altcha.field_website__altcha_cost
msgid "Altcha Cost"
msgstr "Coût du challenge Altcha"

#. module: website_altcha
#: model:ir.model,name:website_altcha.model_altcha_key
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_key
#: model:ir.model.fields,field_description:website_altcha.field_website__altcha_key
msgid "Altcha Key"
msgstr "Clé Altcha"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_private_key
#: model:ir.model.fields,field_description:website_altcha.field_website__altcha_private_key
msgid "Altcha Private Key"
msgstr "Clé privée Altcha"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_timeout
#: model:ir.model.fields,field_description:website_altcha.field_website__altcha_timeout
msgid "Altcha Timeout"
msgstr "Délai d'attente Altcha"

#. module: website_altcha
#: model:ir.model,name:website_altcha.model_res_config_settings
msgid "Config Settings"
msgstr "Paramètres de configuration"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "Cost"
msgstr "Coût"

#. module: website_altcha
#: model:ir.model.fields,help:website_altcha.field_res_config_settings__altcha_cost
#: model:ir.model.fields,help:website_altcha.field_website__altcha_cost
msgid ""
"Cost factor for the hashing algorithm.\n"
" For PBKDF2, this is the number of iterations.\n"
" Default is 5000 for PBKDF2/SHA-512."
msgstr ""
"Facteur de coût pour l'algorithme de hachage.\n"
" Pour PBKDF2, il s'agit du nombre d'itérations.\n"
" La valeur par défaut est 5000 pour PBKDF2/SHA-512."

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__create_uid
msgid "Created by"
msgstr "Créé par"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__create_date
msgid "Created on"
msgstr "Créé le"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__display_name
msgid "Display Name"
msgstr "Nom"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_res_config_settings__altcha_enabled
msgid "Enable Altcha"
msgstr "Activer Altcha"

#. module: website_altcha
#: model:ir.model.fields,help:website_altcha.field_res_config_settings__altcha_enabled
msgid "Enable Altcha functionality on the website."
msgstr "Activer Altcha sur le site web."

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__expires_at
msgid "Expires At"
msgstr "Expire le"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "HMAC key secret"
msgstr "Clé secrète HMAC"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "HMAC secret"
msgstr "Secret HMAC"

#. module: website_altcha
#: model:ir.model,name:website_altcha.model_ir_http
msgid "HTTP Routing"
msgstr "Routage HTTP"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__id
msgid "ID"
msgstr "ID"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__key
msgid "Key"
msgstr "Clé"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid ""
"Note in both cases, you'll have to verify the token you received in your "
"custom controller."
msgstr ""

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid "Submit"
msgstr ""

#. module: website_altcha
#. odoo-python
#: code:addons/website_altcha/models/ir_http.py:0
msgid "Suspicious activity detected by Altcha"
msgstr "Activité suspecte détectée par Altcha"

#. module: website_altcha
#: model:ir.model.constraint,message:website_altcha.constraint_altcha_key_key_uniq
msgid "The Altcha key must be unique."
msgstr "La clé Altcha doit être unique."

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid ""
"This is a demo form for website_altcha. Note how it automatically inserts "
"the widget in the container containing the submit button"
msgstr ""

#. module: website_altcha
#: model:ir.model.fields,help:website_altcha.field_res_config_settings__altcha_timeout
#: model:ir.model.fields,help:website_altcha.field_website__altcha_timeout
msgid "Time in minutes before a captcha expires. Default is 5 minutes."
msgstr ""
"Durée en minutes avant l'expiration d'un captcha. La valeur par défaut est "
"de 5 minutes."

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.res_config_settings_view_form
msgid "Timeout"
msgstr "Délais d'attente"

#. module: website_altcha
#: model:ir.model.fields,field_description:website_altcha.field_altcha_key__used
msgid "Used"
msgstr "Utilisé"

#. module: website_altcha
#: model:ir.model,name:website_altcha.model_website
msgid "Website"
msgstr "Site web"

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid ""
"You can however also place the widget yourself and configure it according to "
"the"
msgstr ""

#. module: website_altcha
#: model_terms:ir.ui.view,arch_db:website_altcha.demo_page_view
msgid "documentation"
msgstr ""
Loading
Loading