Skip to content

Conversation

@myabc
Copy link
Contributor

@myabc myabc commented Dec 29, 2025

Ticket

https://community.openproject.org/work_packages/70194

What are you trying to accomplish?

Primerizes Administration > Backlogs page

Screenshots

Screenshot 2026-01-06 at 22 55 30 image Screenshot 2026-01-06 at 21 32 25

What approach did you choose and why?

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome, Firefox, Edge, ...)

Makes `SelectPanel` easily usable via the Forms DSL. Based on upstream
`ActionMenuInput` implementation.
@myabc myabc force-pushed the feature/70194-primerize-backlogs-settings branch 3 times, most recently from d24f4ac to 6b55038 Compare January 7, 2026 00:58
@myabc myabc marked this pull request as ready for review January 7, 2026 00:58
Copilot AI review requested due to automatic review settings January 7, 2026 00:58
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Caution

The provided work package version does not match the core version

Details:

Please make sure that:

  • The work package version OR your pull request target branch is correct

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the Backlogs Settings admin page from legacy form helpers to Primer components, introducing a new reusable SelectPanel form input component for the OpenProject Primer forms DSL.

Key changes:

  • Introduces a new SelectPanel form input component that wraps Primer's SelectPanel for use in OpenProject forms
  • Refactors the Backlogs settings page to use Primer form components with proper model validation
  • Adds comprehensive test coverage including unit tests, form specs, and feature specs

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
spec/lib/primer/open_project/forms/select_panel_spec.rb Adds unit tests for the new SelectPanel component
spec/lib/primer/open_project/forms/dsl/input_methods_spec.rb Adds test coverage for the select_panel input method
modules/backlogs/spec/forms/admin/settings/backlogs_settings_model_spec.rb Tests the new BacklogsSettingsModel validation logic
modules/backlogs/spec/forms/admin/settings/backlogs_settings_form_spec.rb Tests the BacklogsSettingsForm rendering
modules/backlogs/spec/features/admin/backlogs_settings_spec.rb Feature tests for the Backlogs settings page functionality
modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb Updates controller specs to use new validation approach
modules/backlogs/config/locales/en.yml Adds translations for select panel labels and error messages
modules/backlogs/app/views/backlogs_settings/show.html.erb Replaces legacy form with Primer form using new settings model
modules/backlogs/app/forms/admin/settings/backlogs_settings_model.rb Introduces ActiveModel for settings with validation logic
modules/backlogs/app/forms/admin/settings/backlogs_settings_form.rb Implements Primer form using select_panel inputs
modules/backlogs/app/controllers/backlogs_settings_controller.rb Refactors to use model validation instead of custom validation
lib/primer/open_project/forms/select_panel.rb New component wrapping Primer's SelectPanel
lib/primer/open_project/forms/select_panel.html.erb Template for SelectPanel component
lib/primer/open_project/forms/dsl/select_panel_input.rb Input class for SelectPanel in the forms DSL
lib/primer/open_project/forms/dsl/input_methods.rb Adds select_panel method to forms DSL
frontend/src/stimulus/controllers/dynamic/admin/backlogs-settings.controller.ts Stimulus controller for mutual exclusion between story/task type selections
config/locales/en.yml Updates type attribute translation to support pluralization

@myabc myabc force-pushed the feature/70194-primerize-backlogs-settings branch from 49bbc05 to 8ea3014 Compare January 7, 2026 01:52
@myabc myabc added feature styling javascript Pull requests that update Javascript code ruby Pull requests that update Ruby code needs review labels Jan 7, 2026
@myabc myabc added this to the 17.1.x milestone Jan 7, 2026
@myabc myabc changed the title [#70194] Primerize Backlogs Settings [#70194] Primerize Admin Backlogs Settings Jan 7, 2026
Copy link
Contributor

@HDinger HDinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

As discussed, I'd like to get a review from product people as well before we merge this.

@HDinger
Copy link
Contributor

HDinger commented Jan 8, 2026

As discussed yesterday, there are two issues worth fixing:

  • Hiding the disabled items from the options
  • Show the correct label when de-selecting all items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature javascript Pull requests that update Javascript code needs review ruby Pull requests that update Ruby code styling

Development

Successfully merging this pull request may close these issues.

3 participants