16 Commits
Author SHA1 Message Date
claudeandClaude Opus 5.5 86ce546a17 Profile: read-only name for cn-named directory entries
slapd refuses to remove an RDN value, and every legacy account is
cn=<name>,ou=People, so a name edit there always failed. Those accounts
now see their name read-only (the view rejects the profile action and
update_profile refuses as a backstop); uid-named accounts from website
registration can still edit it. README documents the cn/mail self-write
ACL and mail uniqueness overlay now applied in production.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:05:29 -05:00
claudeandClaude Opus 5.5 d73f7d1b80 Profile: only edit fields Dex reads back
The Dex LDAP connector publishes uid, cn and mail as claims, so the
profile page now offers just Name (cn), the verified email change and
the password. The photo endpoint, SSH keys, addresses, phones and
other extended attributes are no longer read or written; existing LDAP
values are left untouched. Apache's profile upload limit drops back to
the 256 KiB used by other member routes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 21:42:57 -05:00
claudeandClaude Opus 5.5 98e09627ed Membership: newsletter opt-in at signup and on the profile
An unticked checkbox on registration subscribes the verified address to
the listmonk list (preconfirmed) once the account exists. The profile
page gets a subscribe/unsubscribe toggle, and verified email changes
follow through to listmonk. Newsletter outages never block accounts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:27:40 -05:00
claudeandClaude Opus 5.5 5954ec1061 Members page: show a live total member count
Count every membership account (free and paid together) on each page
load and show it under the headline; no per-tier numbers. Hidden when
there are no members.

Also correct the reference tiers.eom.json and service-groups.eom.json
to the real LDAP DNs (ou=Memberships; ou=<Service>,ou=Services), which
now match the ansible-role-www defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 19:49:18 -05:00
eric 1c8daf01df Focus on content 2026-10-31 15:11:21 -04:00
eric 0e342734a6 Members 2026-10-30 14:48:57 -04:00
eric 06cfb9367d UI 2026-10-29 15:08:25 -04:00
eric 44ebd51bdd UI 2026-10-29 14:54:05 -04:00
eric 9eac45a7f9 UI 2026-10-29 14:49:44 -04:00
eric 0bffd7d993 Profile 2026-10-29 13:28:11 -04:00
eric 27a6305b22 Tiers 2026-10-27 19:25:46 -04:00
eric aa18f6b895 Levels 2026-10-27 15:56:06 -04:00
eric fa1568b0bd Memberships 2026-10-23 14:25:25 -04:00
eric 0692ec0b54 Membership and mailing list 2026-10-23 13:25:45 -04:00
eric faf6c5f2b3 SHKeeper 2026-10-23 12:19:40 -04:00
eric 6cf0f0525f Memberships 2026-10-23 12:02:50 -04:00