feat(glossary-admin): show who changed each term, explain Active/Inactive and dashboard, offer only active portfolios - #204
Merged
Conversation
…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>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Adjustments to the glossary admin panel requested on 2026-09-15 — Jira CLR-56.
Flow:
feature → dev-v2 (test on clarisatest) → feature → staging → main. The branch is already merged intodev-v2(d9f38449) and deployed on clarisatest since 2026-09-15 22:03 UTC —dev-v2takes direct merges, so there is no separate PR for that hop; this PR is the next one, tostaging.What is still missing before merging: somebody with a session on clarisatest opening
clarisa-panel/manage/glossary-adminand looking at it. Everything else (tests, lint, build, SonarCloud, the public contract) is verified and listed below.What changes
GlossaryAdminDtogainslast_modified_atandlast_modified_by—updated_by/updated_at, falling back to the creator when the row was never edited. The authors of the whole list are resolved in one query. An id that matches no user shows "Unknown user" instead of failing the list.GET api/glossary; inactive ones are hidden from both, nothing is deleted.GET api/glossary/dashboardand does not change the public glossary page. Verified inglossary.controller.ts/glossary.service.ts.(closed), so saving never drops the link.mergeIntorefuses an inactive target (409). The panel already hid "Merge into" for inactive terms; a direct call could move portfolios onto a hidden row with no error. Raised in the review of release: glossary versioning per portfolio, expired sessions that log out, and the visual revamp #201.Contract
GET api/glossaryandGET api/glossary/dashboard: unchanged.Verification
eslintandtscclean. Front 362/362, development build clean.updated_byor the creator, in a single user lookup, and an unknown id leaves it empty; pickers offer only active portfolios and keep a closed one the term already carries.Not covered
updated_byshow their creator.🤖 Generated with Claude Code