Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
86 changes: 86 additions & 0 deletions website_mass_mailing_altcha/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
=====================================
Privacy Friendly Captcha - Newsletter
=====================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:6f73953b7f9de3325c4a5c60a48de2f499e106c8d95e02eb78c4de9ead325a23
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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_mass_mailing_altcha
: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_mass_mailing_altcha
: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 ALTCHA support to the newsletter subscription snippets.

**Table of contents**

.. contents::
:local:

Usage
=====

The challenge is solved when the visitor presses **Subscribe**, or
earlier if the visitor ticks the checkbox. Every challenge is accepted
only once and expires after the timeout configured on the website.

ALTCHA requires a secure context, so the widget does not work over plain
HTTP.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/website/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 <https://github.com/OCA/website/issues/new?body=module:%20website_mass_mailing_altcha%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Nitrokey GmbH

Contributors
------------

- Nitrokey GmbH (https://www.nitrokey.com)

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.

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Empty file.
27 changes: 27 additions & 0 deletions website_mass_mailing_altcha/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2026 Nitrokey GmbH
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Privacy Friendly Captcha - Newsletter",
"summary": "Support newsletter subscription with ALTCHA",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "Nitrokey GmbH,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/website",
"depends": [
"website_altcha",
"website_mass_mailing",
],
"assets": {
"web.assets_frontend": [
"website_mass_mailing_altcha/static/src/*.esm.js",
],
"web.assets_tests": [
"website_mass_mailing_altcha/static/tests/tours/*.esm.js",
],
},
"demo": [
"demo/newsletter_page.xml",
],
"auto_install": True,
}
49 changes: 49 additions & 0 deletions website_mass_mailing_altcha/demo/newsletter_page.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="demo_mailing_list" model="mailing.list">
<field name="name">ALTCHA Demo Newsletter</field>
</record>
<template id="demo_page_view">
<t t-call="website.layout">
<t
t-set="demo_list"
t-value="env.ref('website_mass_mailing_altcha.demo_mailing_list', raise_if_not_found=False)"
/>
<p>
This is a demo page for website_mass_mailing_altcha. Note how the
widget is inserted into the newsletter snippet, and how the
challenge is solved when you press Subscribe.
</p>
<div
class="s_newsletter_subscribe_form s_newsletter_list js_subscribe"
t-att-data-list-id="demo_list.id if demo_list else 0"
>
<div class="js_subscribed_wrap d-none">
<p
class="h4-fs text-center text-success"
>Thanks for registering!</p>
</div>
<div class="js_subscribe_wrap">
<div class="input-group">
<input
type="email"
name="email"
class="js_subscribe_value form-control"
placeholder="johnsmith@example.com"
/>
<a
role="button"
href="#"
class="btn btn-primary js_subscribe_btn o_submit"
>Subscribe</a>
</div>
</div>
</div>
</t>
</template>
<record id="demo_page" model="website.page">
<field name="url">/website_mass_mailing_altcha_demo</field>
<field name="is_published" eval="True" />
<field name="view_id" ref="demo_page_view" />
</record>
</odoo>
3 changes: 3 additions & 0 deletions website_mass_mailing_altcha/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
1 change: 1 addition & 0 deletions website_mass_mailing_altcha/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Nitrokey GmbH (https://www.nitrokey.com)
1 change: 1 addition & 0 deletions website_mass_mailing_altcha/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module adds ALTCHA support to the newsletter subscription snippets.
5 changes: 5 additions & 0 deletions website_mass_mailing_altcha/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
The challenge is solved when the visitor presses **Subscribe**, or earlier if
the visitor ticks the checkbox. Every challenge is accepted only once and
expires after the timeout configured on the website.

ALTCHA requires a secure context, so the widget does not work over plain HTTP.
Loading
Loading