[FND-169] Create primerized list showing all root types in a project - #24483
Merged
oliverguenther merged 5 commits intoJul 29, 2026
Merged
Conversation
Gated behind the type_variants feature flag; with the flag off the legacy checkbox table is unchanged, save that its bulk endpoint moved to the explicit bulk_update action so the new UI could take the RESTful routes.
|
Warning Flaky specs
🤖 Ask Copilot to investigateCopy the prompt below into a new comment on this PR to delegate the investigation to GitHub Copilot. It will look into the flakiness and open a separate pull request with you as reviewer. |
The rotated square is the only thing telling a milestone apart from an ordinary type, so it carries meaning no screen reader could reach. Ordinary types mark the icon decorative instead, since their name follows in text.
Muted text rather than a Label, so the Label keeps meaning "this is the family member the project uses" rather than becoming generic metadata.
dfriquet
marked this pull request as ready for review
July 28, 2026 16:13
|
Caution The provided work package version does not match the core version Details:
Please make sure that:
|
Deploying openproject with ⚡ PullPreview
|
oliverguenther
approved these changes
Jul 29, 2026
oliverguenther
deleted the
implementation/fnd-169-primerized-project-types-list
branch
July 29, 2026 06:35
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Ticket
https://community.openproject.org/wp/FND-169
What are you trying to accomplish?
Replaces the legacy work package types table in project settings with a Primer list of the type families active in the project, matching the model where a project uses exactly one member per family.
Types | Work packages | Project settings | <project> | OpenProject); previously every tab rendered the same<project> | OpenProjecttype_variantsflag; with the flag off the legacy checkbox table is unchanged, apart from its form posting to an explicitbulk_updateactionOut of scope: switching which member of an already-active family a project uses (FND-187 / FND-188). The dialog only offers families with no active member, so the conflict is unreachable by construction rather than by validation.
Screenshots
What approach did you choose and why?
Projects::Types::AddService/RemoveService— the migrationUpdateProjectsTypesServicedocumented itself as waiting for. The bulk service now only serves the flag-off table.bulk_updatecollection action. The plural collection helper is spelled like the old singular one, so the tab nav and the/settings/typesredirect are untouched.Type#sorted_variants/Type#family, read by both this dialog and the admin family list so the two cannot drift.is_in_roadmapdefaults to true, so the indicator currently marks the majority of types rather than the exception.Type'sdefault_scopesilently defeats callers'.order(...), andConfigurationLinks::SourceFormlabels variants ambiguously.Merge checklist