Skip to content

release: glossary admin — last change, field descriptions, active portfolios and a safer merge - #205

Merged
SantiagoSC1999 merged 2 commits into
mainfrom
staging
Sep 16, 2026
Merged

SantiagoSC1999 merged 2 commits into
mainfrom
staging

Conversation

@yecksin

@yecksin yecksin commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Promotes to production the glossary admin adjustments requested on 2026-09-15 — Jira CLR-56. Two commits, front and back only, no migrations (38 → 38).

What changes, for whoever uses the panel

  • Last change column in the glossary admin table: who changed each term last, and when. When a row was never edited, it shows its creator. This is what answers "was it OCS or was it us?".
  • Active / Inactive explained on the Status header and on every status tag: an active term is published in the public glossary and returned by GET api/glossary; an inactive one is hidden from both, and nothing is deleted.
  • "Show in dashboard" explained in the term dialog and in bulk upload: it only adds the term to GET api/glossary/dashboard; the public glossary page is not affected.
  • Only active portfolios in the pickers. Today that hides only CGIAR portfolio 2016-2021. A closed portfolio a term already carries stays in that term's edit dialog, marked (closed), so saving never drops the link.
  • Merging into an inactive term is rejected (409), also from a direct API call. Raised in the review of release: glossary versioning per portfolio, expired sessions that log out, and the visual revamp #201: the panel hid the button, but the endpoint did not.

Contract

GET api/glossary and GET api/glossary/dashboard are unchanged. The admin endpoints gain two keys per term (last_modified_at, last_modified_by) and lose nothing.

Verification

Not covered

  • The public glossary page and the API documentation are not touched.
  • No data changes in any environment.
  • A row written straight into the database without updated_by shows its creator as the last change.

🤖 Generated with Claude Code

yecksin and others added 2 commits September 15, 2026 16:56
…elds

Requested for the glossary admin panel on 2026-09-15:

- A "Last change" column: who changed each record last and when. The admin
  DTO gains `last_modified_at` and `last_modified_by` (additive; the public
  `GET api/glossary` is untouched). Authors are resolved in one query for the
  whole list; an id that matches no user leaves the cell as "Unknown user".
- A description of what Active and Inactive mean, on the Status header and tag.
- A description of "Show in dashboard": it only adds the term to
  `GET api/glossary/dashboard` and does not change the public glossary page.
- Portfolio pickers offer only active portfolios. A closed portfolio a term is
  already linked to stays in its edit dialog, so saving never drops the link.
- `mergeInto` refuses an inactive target. The panel already hid the button;
  a direct call could move portfolios onto a hidden row with no error.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…eld-help

feat(glossary-admin): show who changed each term, explain Active/Inactive and dashboard, offer only active portfolios
@sonarqubecloud

Copy link
Copy Markdown

@SantiagoSC1999
SantiagoSC1999 merged commit 03d35ca into main Sep 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants