Intranet · Communication subtypes

CRUD for the categories that classify intranet communications, so stores and management can filter and route messages consistently.

AreaIntranet
Routesintranet.subtypes · intranet.subtypes.index · intranet.subtypes.new · intranet.subtypes.edit
Centre modulesintranet
Staff levelsroot · admin · manager
Modelsintranet-subtype
UI labeltitle.header.subtypes / menu.navbar.intranet.subtype.index
Coverage3 use cases · 1 happy · 2 failure

How it works

Deletion is handled on the route (deleteModel/showDeleteModal) via the shared show-confirm-deletion service and throws Error("deleteModel(): parameter 'model' is not a valid DS.Model") on a bad argument. The model carries no validations of its own, so correctness depends entirely on the API.

Use cases

Why someone opens this (3)

  • Separating maintenance issues from commercial notices from access requests.
  • Giving the communications list meaningful filter options.
  • Retiring a subtype that is no longer used.

Path map

flowchart LR
    F(["Communication subtypes"]):::feat
    F --> H1["Subtype created and used"]:::ok
    F -.-> X1["Invalid model on delete"]:::bad
    F -.-> X2["Deleting a subtype in use"]:::bad
    classDef feat fill:#26688f,stroke:#26688f,color:#ffffff,font-weight:bold
    classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e
    classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13

Happy paths

Subtype created and used

  1. Manager creates a subtype with a name.
  2. It becomes selectable when composing a communication and as a filter on the list.

Failure paths

QA checklist

Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.

  • ✅ Subtype created and used
  • ⛔ Invalid model on delete
  • ⛔ Deleting a subtype in use

Implementation


Generated from doc/feature-inventory.json · id intranet-subtypes · commit 276788ca6