Skip to Content
Odrakir
the garden

An Odoo 19 module

Hidden by password

website_event_hidden_by_password

Odoo OCA

Some evenings are for the invited. Hide an event behind a shared password: the listing shows a lock and a codename, and the door opens only for those who know the word.

sprouting in review at the OCA · pull request #515 · tests passing

Thirsty: waiting for a review at the OCA

What a visitor sees

A lock, a word, a door

The events listing: the private event's card shows only a lock, the word Private and the codename Aurora in braces.
On the listing. No name, date, place or picture: only a lock, Private, and the codename you chose.
The password wall: a lock, the line This event is private, a password field and an Unlock button.
At the door. A password wall that gives nothing away. The page and all its sub-pages stay closed until the right word.
After the right password: the event page opens, titled The first light session.
Inside. The event, as usual. Once the word is given, it stays open for the rest of the visit.

Screenshots from a clean Odoo 19 with its default theme and only this module installed: the redacted card and the wall are the module's own styling.

Every door it closes

No way in by the back

It closes every entry point in Odoo core through which a private event could be found, or give its details away.

  • The events listing. The card is redacted, and its gate link carries no slug, so the name stays out of the URL too.
  • Search. The real name, subtitle and venue find nothing, and nothing leaks through the filter counts.
  • Autocomplete. Only the codename finds it, and it surfaces as the same redacted card.
  • Direct addresses. Guessing /event/42, the registration page, or the iCal download at /ics lands at the gate, never at the name.
  • sitemap.xml. Private events are left out.
  • Tracks, agenda and booths. Covered as well: the guard sits at the routing layer, without depending on those add-ons.

Honest limits

What a password isn't

  • A shared secret, not an account. Like a webinar code: stored and shown in clear text, and readable only by event managers.
  • Managers always walk through. Event users skip the wall, so they can preview and edit private events as usual.
  • Only the doors it knows. If another module, a custom route, report, API, feed, export or integration exposes events, closing that door is up to you, usually in a small bridge module.
  • Found a way in through Odoo core? Open an issue and tag @odrakirmusic, and I'll close it in the module.

Setting it up

Five steps in the event form

  1. Open the event

    Go to Events and open an event, or create one.

  2. Make it private

    In the Private Access group, switch on Private. A random password is proposed for you.

  3. Choose the word

    Keep the proposed Access Password, type your own, or press Generate for a new one.

    The event form's Private Access group: the Private switch on, the Access Password NIGHT-ONLY-2026 with a Generate button, and the codename Aurora.
    The Private Access group, with the password and the codename filled in.
  4. Give it a codename

    Optional: a public, non-secret hint such as Aurora, shown under Private on the redacted card, so your guests can tell which door is theirs.

  5. Save, publish, share

    Send the password, and the codename if there is one, to the people who should get in.

It began as the guard of this site's own private events.

Plant it

Into your addons

It's waiting for review at the OCA. Until it's merged, plant it from my fork; it's the same module.

  1. Take a cutting of the branch

    git clone --depth 1 --branch 19.0-add-website_event_hidden_by_password https://github.com/odrakirmusic/event.git
  2. Add it to your addons path

    Add the new event folder to addons_path in your Odoo configuration, then restart Odoo.

  3. Install it

    In Apps, choose Update Apps List, find Website Event Hidden by Password, and install it. Or from a shell, with your database's name:

    odoo -d YOUR_DB -i website_event_hidden_by_password --stop-after-init

Is your Odoo installed with pip? Then it's one line:

pip install "git+https://github.com/odrakirmusic/event.git@19.0-add-website_event_hidden_by_password#subdirectory=website_event_hidden_by_password"

Once the OCA merges it, this page switches by itself to the released package, odoo-addon-website_event_hidden_by_password on PyPI.

The back of the packet

The small print

Licence
AGPL-3.0-or-later
Tags
Odoo OCA
Works with
Odoo 19.0
Needs
website_event
Status
sprouting in review at the OCA · pull request #515 · tests passing
Source
odrakirmusic/event branch 19.0-add-website_event_hidden_by_password
Pull request
OCA/event#515
Last tended
4 October 2026

Elsewhere in the garden

More seeds