Skip to content
Merged
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[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_altcha](website_altcha/) | 18.0.1.2.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.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
Expand Down
2 changes: 1 addition & 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:83e03d4eacacddd6d9b4c9b29eed8eee8f9d1bde28564186bfb553e8f5a29b6f
!! source digest: sha256:cdd185c7f6efad7c31edada25c3a0b434eeeb6ac9cdec6dbbfc41f1c0d5da090
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down
2 changes: 1 addition & 1 deletion website_altcha/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "Privacy Friendly Captcha",
"summary": """Use self hosted privacy friendly captcha for
verifying website users are not bots""",
"version": "18.0.1.1.0",
"version": "18.0.1.2.0",
"license": "AGPL-3",
"author": "Dixmit,Odoo Community Association (OCA)",
"maintainers": ["hbrunn"],
Expand Down
2 changes: 1 addition & 1 deletion website_altcha/models/ir_http.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def _verify_request_recaptcha_token(self, action):
return result
if not request.website.sudo().altcha_key:
return result
altcha_signature = request.params.get("altcha")
altcha_signature = request.params.pop("altcha", None)
if not altcha_signature:
_logger.warning("Altcha token missing in request")
raise UserError(_("Suspicious activity detected by Altcha"))
Expand Down
4 changes: 2 additions & 2 deletions website_altcha/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<title>Privacy Friendly Captcha</title>
<style type="text/css">

/*
Expand Down Expand Up @@ -372,7 +372,7 @@ <h1>Privacy Friendly Captcha</h1>
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:83e03d4eacacddd6d9b4c9b29eed8eee8f9d1bde28564186bfb553e8f5a29b6f
!! source digest: sha256:cdd185c7f6efad7c31edada25c3a0b434eeeb6ac9cdec6dbbfc41f1c0d5da090
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/website/tree/18.0/website_altcha"><img alt="OCA/website" src="https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/website-18-0/website-18-0-website_altcha"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/website&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows to use a Captcha System completly handled by Odoo.</p>
Expand Down
23 changes: 20 additions & 3 deletions website_altcha/static/src/altcha.esm.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ import {session} from "@web/session";

export const AltchaBaseFunctionality = {
altcha_prepend_to: "div.oe_login_buttons",
altcha_append_to: false,
altcha_before: false,
altcha_after: false,
altcha_enabled: false,

altcha_init() {
Expand All @@ -24,9 +27,23 @@ export const AltchaBaseFunctionality = {
},
altcha_insert_widget() {
if (this.altcha_enabled && !this.$el.find("altcha-widget").length) {
this.$el
.find(this.altcha_prepend_to)
.prepend(renderToString("website_altcha.AltchaWidget", {}));
if (this.altcha_before) {
this.$el
.find(this.altcha_before)
.before(renderToString("website_altcha.AltchaWidget", {}));
} else if (this.altcha_after) {
this.$el
.find(this.altcha_after)
.after(renderToString("website_altcha.AltchaWidget", {}));
} else if (this.altcha_append_to) {
this.$el
.find(this.altcha_append_to)
.append(renderToString("website_altcha.AltchaWidget", {}));
} else if (this.altcha_prepend_to) {
this.$el
.find(this.altcha_prepend_to)
.prepend(renderToString("website_altcha.AltchaWidget", {}));
}
}
},
};
Expand Down
2 changes: 1 addition & 1 deletion website_altcha/static/src/altcha.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates>
<t t-name="website_altcha.AltchaWidget">
<div class="mb-0 py-2 col-12 s_website_form_custom">
<div class="mb-0 py-2 col-12 s_website_form_custom o_altcha_widget_container">
<div class="row s_col_no_resize s_col_no_bgcolor">
<label
class="col-form-label col-sm-auto s_website_form_label"
Expand Down
59 changes: 32 additions & 27 deletions website_blog_scheduled_publication/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,158 +6,163 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"PO-Revision-Date: 2026-10-06 14:46+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\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_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_form_scheduled
msgid "<span class=\"o_stat_text\">Publish</span>"
msgstr ""
msgstr "<span class=\"o_stat_text\">Pubblica</span>"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_form_scheduled
msgid "<span class=\"o_stat_text\">Schedule</span>"
msgstr ""
msgstr "<span class=\"o_stat_text\">Programma</span>"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_form_scheduled
msgid "<span>This post is scheduled for </span>"
msgstr ""
msgstr "<span>Questo articolo è programmato per </span>"

#. module: website_blog_scheduled_publication
#: model:ir.model,name:website_blog_scheduled_publication.model_blog_post
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__blog_post_id
msgid "Blog Post"
msgstr ""
msgstr "Articolo blog"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__create_uid
msgid "Created by"
msgstr ""
msgstr "Creato da"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__create_date
msgid "Created on"
msgstr ""
msgstr "Creato il"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.blog_post_schedule_date_view_form
msgid "Discard"
msgstr ""
msgstr "Abbandona"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__display_name
msgid "Display Name"
msgstr ""
msgstr "Nome visualizzato"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__id
msgid "ID"
msgstr ""
msgstr "ID"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,help:website_blog_scheduled_publication.field_blog_post__is_scheduled
msgid "If checked, the blog post will be scheduled for publication."
msgstr ""
"Se selezionata, la pubblicazione del messaggio del blog verrà programmata."

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,help:website_blog_scheduled_publication.field_blog_post__scheduled_publication_date
msgid ""
"If set, the blog post will be automatically published on this date and time."
" Leave empty to publish immediately."
msgstr ""
"Se impostato, l'articolo del blog verrà pubblicato automaticamente in questa "
"data e ora. Lasciare vuoto per pubblicare immediatamente."

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__write_uid
msgid "Last Updated by"
msgstr ""
msgstr "Ultimo aggiornamento di"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__write_date
msgid "Last Updated on"
msgstr ""
msgstr "Ultimo aggiornamento il"

#. module: website_blog_scheduled_publication
#: model_terms:ir.actions.act_window,help:website_blog_scheduled_publication.action_blog_post_calendar_scheduled
msgid "No scheduled posts found"
msgstr ""
msgstr "Nessun articolo programmato"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_search_scheduled
msgid "Not Published"
msgstr ""
msgstr "Non pubblicato"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_search_scheduled
msgid "Publication Date"
msgstr ""
msgstr "Data pubblicazione"

#. module: website_blog_scheduled_publication
#: model:ir.actions.server,name:website_blog_scheduled_publication.ir_cron_publish_scheduled_blog_posts_ir_actions_server
msgid "Publish Scheduled Blog Posts"
msgstr ""
msgstr "Pubblica articoli blog programmati"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post_schedule_date__schedule_date
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.blog_post_schedule_date_view_form
msgid "Publish on"
msgstr ""
msgstr "Pubblica il"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_search_scheduled
msgid "Published"
msgstr ""
msgstr "Pubblicato"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post__is_scheduled
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.blog_post_schedule_date_view_form
msgid "Schedule"
msgstr ""
msgstr "Programma"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.blog_post_schedule_date_view_form
msgid "Schedule Publication"
msgstr ""
msgstr "Programma pubblicazione"

#. module: website_blog_scheduled_publication
#: model:ir.model,name:website_blog_scheduled_publication.model_blog_post_schedule_date
msgid "Schedule a blog post publication"
msgstr ""
msgstr "Programma una pubblicazione articolo blog"

#. module: website_blog_scheduled_publication
#: model_terms:ir.actions.act_window,help:website_blog_scheduled_publication.action_blog_post_calendar_scheduled
msgid "Schedule blog posts to see them in the calendar view."
msgstr ""
msgstr "Programma articoli blog per vederli nella vista calendario."

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_search_scheduled
msgid "Scheduled"
msgstr ""
msgstr "Programmato"

#. module: website_blog_scheduled_publication
#: model:ir.actions.act_window,name:website_blog_scheduled_publication.action_blog_post_calendar_scheduled
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_calendar_scheduled
msgid "Scheduled Blog Posts"
msgstr ""
msgstr "Articoli blog programmati"

#. module: website_blog_scheduled_publication
#: model:ir.model.fields,field_description:website_blog_scheduled_publication.field_blog_post__scheduled_publication_date
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_search_scheduled
msgid "Scheduled Publication Date"
msgstr ""
msgstr "Data pubblicazione programmata"

#. module: website_blog_scheduled_publication
#: model_terms:ir.ui.view,arch_db:website_blog_scheduled_publication.view_blog_post_form_scheduled
msgid ""
"This will publish the blog post immediately. Do you still want to proceed ?"
msgstr ""
msgstr "Questo pubblicherà l'articolo blog immediatamente. Si vuole procedere?"

#. module: website_blog_scheduled_publication
#: model:ir.actions.act_window,name:website_blog_scheduled_publication.blog_post_schedule_date_action
msgid "When do you want to publish this blog post?"
msgstr ""
msgstr "Quando si vuole pubblicare questo articolo blog?"
30 changes: 22 additions & 8 deletions website_exclude_sitemap/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,25 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"PO-Revision-Date: 2026-10-05 10:46+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\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_exclude_sitemap
#: model:ir.model,name:website_exclude_sitemap.model_res_config_settings
msgid "Config Settings"
msgstr ""
msgstr "Impostazioni configurazione"

#. module: website_exclude_sitemap
#: model_terms:ir.ui.view,arch_db:website_exclude_sitemap.res_config_settings_view_form
msgid "Exclude specific URLs or wildcard patterns from sitemap.xml."
msgstr ""
msgstr "Escludere URL specifici o pattern con caratteri jolly da sitemap.xml."

#. module: website_exclude_sitemap
#: model:ir.model.fields,help:website_exclude_sitemap.field_res_config_settings__sitemap_excluded_paths
Expand All @@ -33,16 +35,21 @@ msgid ""
"everything below it. Examples: /contactus, /solutions*, /blog/*/feed, "
"/customers/, /jobs/**"
msgstr ""
"Un percorso o pattern per riga, separati da virgola o punto e virgola. * "
"corrisponde all'interno di un singolo segmento del percorso, ** attraverso "
"più segmenti e una / finale esclude il percorso e tutto ciò che vi è "
"contenuto. Esempi: /contactus, /solutions*, /blog/*/feed, /customers/, /jobs/"
"**"

#. module: website_exclude_sitemap
#: model:ir.model,name:website_exclude_sitemap.model_website_page
msgid "Page"
msgstr ""
msgstr "Pagina"

#. module: website_exclude_sitemap
#: model_terms:ir.ui.view,arch_db:website_exclude_sitemap.res_config_settings_view_form
msgid "Reload Sitemap"
msgstr ""
msgstr "Ricarica mappa sito"

#. module: website_exclude_sitemap
#: model_terms:ir.ui.view,arch_db:website_exclude_sitemap.res_config_settings_view_form
Expand All @@ -51,27 +58,34 @@ msgid ""
" Use * inside a segment, ** across segments, and a\n"
" trailing / to exclude a path and everything below it."
msgstr ""
"Separare i percorsi con interruzioni di riga, virgole o punti e virgola. \n"
" Usare * all'interno di un segmento, ** tra i "
"segmenti e una\n"
" / finale per escludere un percorso e tutto ciò che "
"contiene."

#. module: website_exclude_sitemap
#: model:ir.model.fields,field_description:website_exclude_sitemap.field_res_config_settings__sitemap_excluded_paths
#: model:ir.model.fields,field_description:website_exclude_sitemap.field_website__sitemap_excluded_paths
#: model_terms:ir.ui.view,arch_db:website_exclude_sitemap.res_config_settings_view_form
msgid "Sitemap Exclusions"
msgstr ""
msgstr "Esclusioni mappa sito"

#. module: website_exclude_sitemap
#. odoo-python
#: code:addons/website_exclude_sitemap/wizards/res_config_settings.py:0
msgid "Sitemap reloaded"
msgstr ""
msgstr "Mappa sito ricaricata"

#. module: website_exclude_sitemap
#. odoo-python
#: code:addons/website_exclude_sitemap/wizards/res_config_settings.py:0
msgid "The cached sitemap has been cleared for the current website."
msgstr ""
"La mappa sito memorizzata nella cache è stata cancellata per il sito web "
"corrente."

#. module: website_exclude_sitemap
#: model:ir.model,name:website_exclude_sitemap.model_website
msgid "Website"
msgstr ""
msgstr "Sito web"
Loading