Skip to content

🚀 Feature: Gebruikersgroepen vereisen organisatie en informatiecategorie #302

Description

@MarcoKlerks

🚀 Feature: Beheerder autoriseert een gebruikersgroep voor minimaal één organisatie en één informatiecategorie

Bounded Context

Gebruikersgroepen (toegangsbeheer) binnen GPP-app. Geen bounded-context-overschrijding — de regel geldt voor het bestaande Gebruikersgroep-aggregaat en zijn gekoppelde waardelijsten (Organisatie, Informatiecategorie, Onderwerp).


User Stories

  • Als Beheerder wil ik bij het aanmaken van een gebruikersgroep gewaarschuwd worden als er geen organisatie of geen informatiecategorie is geselecteerd, zodat ik de gebruikersgroep pas opsla nadat deze correct is geautoriseerd.
  • Als Beheerder wil ik bij het bijwerken van een bestaande gebruikersgroep dezelfde waarschuwing krijgen als ik de laatst overgebleven organisatie of informatiecategorie zou verwijderen, zodat een gebruikersgroep nooit zonder geldige autorisatie kan komen te staan.
  • Als Beheerder wil ik dat deze regel te allen tijde geldt, ook wanneer de wijziging niet via het beheerscherm zelf verloopt, zodat de autorisatie-eis van een gebruikersgroep gewaarborgd blijft, ongeacht hoe de wijziging wordt aangeboden.

Design Handoff

  • Figma: n.v.t. — hergebruikt de bestaande foutmelding-conventie (alert-inline) die al elders op dit scherm wordt gebruikt
  • States covered: geldig (opslaan lukt) / ongeldig (foutmelding, opslaan geblokkeerd)
  • Accessibility notes: volgt de bestaande alert-inline conventie van het scherm (geen aanvullende impact op toegankelijkheid)

Acceptance Criteria

  • Bij het aanmaken van een nieuwe gebruikersgroep toont het systeem een foutmelding en wordt niet opgeslagen als er geen organisatie en/of geen informatiecategorie is geselecteerd.
  • Bij het bijwerken van een bestaande gebruikersgroep toont het systeem dezelfde foutmelding en wordt de wijziging niet opgeslagen als de laatst overgebleven organisatie en/of informatiecategorie zou worden verwijderd.
  • De regel wordt zowel in het beheerscherm (directe validatie) als bij de verwerking van gebruikersgroep-gegevens (als sluitstuk) afgedwongen, zodat de autorisatie-eis te allen tijde gewaarborgd blijft — ook als de wijziging niet via het beheerscherm zelf verloopt.

Edge Cases

  • Nieuwe gebruikersgroep zonder enige organisatie of informatiecategorie geselecteerd → opslaan wordt geblokkeerd met de melding "Selecteer minstens één organisatie en één informatiecategorie."
  • Beheerder vinkt bij een bestaande gebruikersgroep de laatst overgebleven organisatie of informatiecategorie uit → opslaan wordt geblokkeerd, de eerder geldige autorisatie blijft ongewijzigd staan.
  • Onderwerp (optioneel) valt buiten deze regel — een gebruikersgroep zonder gekoppeld onderwerp is en blijft toegestaan.
  • Gebruikersgroep-gegevens die worden aangeboden zonder organisatie/informatiecategorie, maar niet via het beheerscherm zelf → worden alsnog geweigerd.

Domain Events

  • Zendt uit: geen (synchrone validatie, geen event)
  • Consumeert: geen

Definition of Ready

  • Userstories goedgekeurd door Product Owner — vervallen: Product Owner beoordeelt en bevestigt dit issue direct
  • Ontwerpoverdracht compleet — vervallen: bestaande alert-inline conventie, geen nieuw ontwerp nodig
  • Acceptatiecriteria geschreven en beoordeeld
  • Edge cases geïdentificeerd

Proposed Tasks

  • Voeg validatie toe aan het gebruikersgroepformulier die opslaan blokkeert zonder minstens één organisatie en één informatiecategorie
  • Voeg dezelfde validatie toe aan de verwerking van gebruikersgroep-gegevens bij aanmaken en bijwerken, onafhankelijk van het beheerscherm
  • Testdekking voor de autorisatie-validatie (geen organisatie, geen informatiecategorie, laatste item verwijderen bij bijwerken, onderwerp blijft optioneel)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions