medium complexity extracted User Management Confidence: 100%
7
Components
2
Shared
0
User Stories
Yes
Analyzed

Description

Provides a bulk action toolbar on the user list page allowing Org Admins to perform operations on multiple users simultaneously - bulk role reassignment, bulk deactivation, bulk reactivation, and bulk invitation resend. Selection is via checkbox with select-all and select-page controls, and the toolbar surfaces the count of selected users plus the available actions. Each bulk action shows a confirmation dialog summarizing the operation and the affected users, then executes server-side with progress feedback and a per-record success/failure report on completion.

Sources & reasoning

Source lists Bulk Actions as the third feature of admin-user-management. No explicit phase assignment in the source roadmap (Phase 1 admin MVP names only invitation, deactivation, role assignment), so per the resolution rule the second non-mobilization phase 'Core Product' is used.

Analysis

Business Value

Bulk actions deliver substantial operational efficiency for larger organizations. NHF's structure (12 landsforeninger, 9 regions, 1400 lokallag) means Org Admins routinely manage hundreds of users, and per-record clicks become a real time sink at that scale. Bulk deactivation is particularly valuable during seasonal transitions, role reorganizations, or when migrating from legacy systems. Bulk operations also reduce the risk of inconsistent state - when 50 peer mentors need the same role change, doing it in one transaction avoids the partial-completion problems that arise from interrupted manual workflows. This positions the admin portal as a serious operational tool rather than a per-record editor.

Implementation Notes

Implemented as a Bulk Action Service that wraps the existing per-user mutations in a single transaction, with per-record try/catch so one bad record does not abort the batch. The toolbar appears when at least one user is selected and presents only actions the current admin is authorized to perform. Each bulk operation writes individual audit log entries (one per affected user) plus a bulk-operation header entry that ties them together for traceability. For operations affecting more than a configurable threshold (e.g. 100 users), the action is queued and processed asynchronously with a progress indicator, avoiding HTTP timeouts and giving the admin a clear status view.

Quality Assurance

Organization Administrator (primary)
1
Scenarios
6
UAT Steps
16
A11y Annotations
4
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Brukeradministrasjon → Brukere.
  2. Huk av radavkrysningsboksen for minst to brukere i listen.
  3. Bekreft at den klebrige handlingslinjen vises øverst og viser antall valgte brukere.
  4. Trykk Deaktiver i handlingslinjen og verifiser at forhåndsvisningen viser korrekt antall brukere som vil bli berørt.
  5. Trykk Bekreft i bekreftelsesdialogen og vent pĂĄ resultatet.
  6. Bekreft at hver berørt bruker viser status Deaktivert i listen, og at eventuelle feilrader er listet opp per rad uten å blokkere de øvrige.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Brukeradministrasjon → Brukere.
    • Screen reader Sideoverskrift 'Brukere' annonseres; tab-rekkefølge: hovedmeny → sideoverskrift → filter → tabell.
    • Keyboard / focus Hele navigasjonen og tabellen er nĂĄbar med Tab; ingen tastaturfeller.
    • Focus visibility Synlig fokusring pĂĄ alle interaktive elementer.
  2. Huk av radavkrysningsboksen for minst to brukere i listen.
    • Screen reader Hver avkrysningsboks annonseres med kolonneoverskrift, brukernavn og tilstand 'avkrysset'.
    • Keyboard / focus Mellomrom huker av/pĂĄ; piltaster flytter mellom rader.
    • Touch target Avkrysningsboks ≥ 24Ă—24 CSS-piksler.
  3. Bekreft at den klebrige handlingslinjen vises øverst og viser antall valgte brukere.
    • Live region '3 brukere valgt' annonseres via høflig live region nĂĄr valget endres.
    • Contrast Tellertekst og knapper har minst 4.5:1 kontrast; antall valgte formidles ikke kun med farge.
  4. Trykk Deaktiver i handlingslinjen og verifiser at forhåndsvisningen viser korrekt antall brukere som vil bli berørt.
    • Screen reader Bekreftelsesdialog annonseres som modal med tittel 'Deaktiver brukere' og forhĂĄndsvisningstekst.
    • Keyboard / focus Esc lukker dialogen uten ĂĄ utføre handlingen.
    • Focus visibility Fokus flyttes automatisk til dialogen; fokus er fanget i modalen til den lukkes.
  5. Trykk Bekreft i bekreftelsesdialogen og vent pĂĄ resultatet.
    • Focus visibility Fokus returneres til handlingslinjen eller første berørte rad nĂĄr dialogen lukkes.
    • Live region 'Behandler 3 brukere…' og deretter 'Ferdig. 3 av 3 fullført.' annonseres høflig.
  6. Bekreft at hver berørt bruker viser status Deaktivert i listen, og at eventuelle feilrader er listet opp per rad uten å blokkere de øvrige.
    • Screen reader Statuskolonne leses opp som 'Deaktivert' per rad; feilmeldinger annonseres med radkontekst.
    • Zoom Tabell og statuskolonne er fortsatt lesbar ved 200 % zoom.
    • Contrast Status Deaktivert formidles med ikon + tekst, ikke kun farge; minst 4.5:1 kontrast.

Role Boundaries

4 role(s) must NOT access this feature
  • Peer Mentor (Likeperson)

    Logger ikke inn i Admin-portalen; ingen tilgang til brukerlisten eller bulk-handlinger. Deep-link til /admin/users returnerer 403.

  • Coordinator (Koordinator)

    Logger ikke inn i Admin-portalen; ingen tilgang til brukerlisten eller bulk-handlinger. Deep-link til /admin/users returnerer 403.

  • Global Administrator

    Ingen standardtilgang til organisasjonens brukerdata; bulk-handlinger er skjult med mindre tidsbegrenset støttetilgang er innvilget av Org Admin.

  • Prospective Buyer

    Har ingen konto i Admin-portalen; innlogging og deep-link gir 401/403.

Expected End State

Den valgte bulk-handlingen er utført per bruker i batchen. Vellykkede rader viser ny status (f.eks. Deaktivert / ny rolle / Invitasjon sendt) og en per-rad resultatoppsummering vises, hvor eventuelle feilrader er rapportert individuelt uten å rulle tilbake de vellykkede.

User Stories

No user stories have been generated for this feature yet.