Skip to content

[OpenSpec] scoping-delegated-group-house-style #682

Description

@github-actions

⚠️ OpenSpec-managed issue — this content is automatically synced
from the openspec/ directory. Manual edits will be overwritten on next sync.

Artifacts

Specs

Tasks

  • 1.1 delegated and allowedTokenSets on mapping entries, validated in GroupThemingService::validateEntry(); old entries read as not delegated. Verify: tests/Unit/Service/GroupThemingServiceTest.php for a delegated entry, an allowed list missing the current set (refused), and a stored mapping without the new fields.
  • 1.2 setDelegatedTokenSet(string $uid, string $group, string $tokenSet): subadmin check, allowed list check, generation bump, audit. Verify: unit tests for a subadmin of the group, a subadmin of another group (refused), a set outside the allowed list (refused), and a locked group (refused).
  • 2.1 Admin endpoints carry the new fields. Verify: SettingsController tests.
  • 2.2 GET /api/my-groups/house-style and POST /api/my-groups/{group}/house-style, #[NoAdminRequired], per-group subadmin check. Verify: controller tests including a plain user (403) and the hydra no-admin-idor gate.
  • 3.1 Admin: delegate toggle and allowed sets picker per mapping row, with a label for each control. Verify: Playwright scenario "An administrator delegates a group".
  • 3.2 Personal section "House style of my groups" (lib/Settings/Personal.php, templates/settings/personal.php), shown only to subadmins of a delegated group, with the contrast result per allowed set. Verify: Playwright scenario "A subadmin picks the house style of their municipality".
  • 4.1 l10n en and nl. Verify: npm run test:l10n.
  • 4.2 Docs: "Let a group choose its own house style" in docs/. Verify: the docs build.
  • 4.3 Check an allowed incomplete set and dark mode for a delegated group. Verify: manual check recorded in the PR.

Design

See design.md for technical design details.


Synced from openspec/changes/scoping-delegated-group-house-style by OpenSpec workflow
App: thematiq

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions