Improve Join description handling for GDPR/DSGVO #521

Merged
simon merged 9 commits from issue/mitgliederverwaltung-508 into main 2026-06-04 13:02:40 +02:00
Owner

Description of the implemented changes

The changes were:

  • Bugfixing
  • New Feature
  • Breaking Change
  • Refactoring

Improve handling for GDPR/DSGVO: custom fields gain an optional join_description that is shown to prospective members on the public join form (with clickable external links), surfaced as a tooltip in the member detail view, and editable in the custom-field settings — so a club can present its GDPR/privacy confirmation, including a link to an externally hosted declaration, before sign-up.

What has been changed?

  • Add join_description attribute for GDPR join-form labels
  • Render join_description with auto-linked URLs and Markdown links
  • Use join_description as the join-form field label
  • Highlight auto-linked join-form links
  • Show join_description as a tooltip on custom-field labels
  • Let admins set join_description with a link-syntax hint
  • Shorten the GDPR field to "DSGVO" and seed its join_description

Definition of Done

Code Quality

  • No new technical depths
  • Linting passed
  • Documentation is added were needed

Accessibility

  • New elements are properly defined with html-tags
  • Colour contrast follows WCAG criteria
  • Aria labels are added when needed
  • Everything is accessible by keyboard
  • Tab-Order is comprehensible
  • All interactive elements have a visible focus

Testing

  • Tests for new code are written
  • All tests pass
  • axe-core dev tools show no critical or major issues

Additional Notes

  • Link rendering is restricted to <a href="https://…"> (raw URLs + Markdown [text](url)); all other content is HTML-escaped. join_description is admin-set content only (never end-user input).
  • The DSGVO bootstrap seed ships a default join_description with a placeholder URL (https://example.org/datenschutz) that admins replace with their real declaration link via the settings form.
  • Three UI items were added on top of the original issue during acceptance review (by request): the link link-primary styling of rendered links, the seeded default join_description, and the link-syntax hint tooltip in the edit form.
## Description of the implemented changes The changes were: - [ ] Bugfixing - [x] New Feature - [ ] Breaking Change - [ ] Refactoring Improve handling for GDPR/DSGVO: custom fields gain an optional `join_description` that is shown to prospective members on the public join form (with clickable external links), surfaced as a tooltip in the member detail view, and editable in the custom-field settings — so a club can present its GDPR/privacy confirmation, including a link to an externally hosted declaration, before sign-up. ## What has been changed? - Add join_description attribute for GDPR join-form labels - Render join_description with auto-linked URLs and Markdown links - Use join_description as the join-form field label - Highlight auto-linked join-form links - Show join_description as a tooltip on custom-field labels - Let admins set join_description with a link-syntax hint - Shorten the GDPR field to "DSGVO" and seed its join_description ## Definition of Done ### Code Quality - [ ] No new technical depths - [x] Linting passed - [ ] Documentation is added were needed ### Accessibility - [ ] New elements are properly defined with html-tags - [ ] Colour contrast follows WCAG criteria - [ ] Aria labels are added when needed - [ ] Everything is accessible by keyboard - [ ] Tab-Order is comprehensible - [ ] All interactive elements have a visible focus ### Testing - [x] Tests for new code are written - [x] All tests pass - [ ] axe-core dev tools show no critical or major issues ## Additional Notes - Link rendering is restricted to `<a href="https://…">` (raw URLs + Markdown `[text](url)`); all other content is HTML-escaped. `join_description` is admin-set content only (never end-user input). - The DSGVO bootstrap seed ships a default `join_description` with a placeholder URL (`https://example.org/datenschutz`) that admins replace with their real declaration link via the settings form. - Three UI items were added on top of the original issue during acceptance review (by request): the `link link-primary` styling of rendered links, the seeded default `join_description`, and the link-syntax hint tooltip in the edit form.
simon added 8 commits 2026-06-04 09:20:35 +02:00
simon added 1 commit 2026-06-04 09:54:14 +02:00
Merge remote-tracking branch 'origin/main' into issue/mitgliederverwaltung-508
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/promote/production Build is passing
6500dead95
simon merged commit ef21e0ada3 into main 2026-06-04 13:02:40 +02:00
simon deleted branch issue/mitgliederverwaltung-508 2026-06-04 13:02:40 +02:00
Sign in to join this conversation.
No description provided.