Skip to content

Enable Merge Train checkbox based on Merge Pipelines checkbox

Mireya Andres requested to merge set-merge-option-states into master

What does this MR do?

For issue #282520 (closed).

This sets the checkbox state for the Merge Options settings (under general project settings). The inital state is based on the results from querying ciCdSettings via GraphQL.

The behavior is as follows:

  • If mergePipelinesEnabled is true, both "Enable merge results pipelines" and "Enable merge trains" checkboxes are enabled.
    • Unchecking "Enable merge results pipelines" will disable "Enable merge trains". If it was previously checked before,
  • If mergePipelinesEnabled is false, "Enable merge trains" checkbox is unchecked and disabled.
    • Checking "Enable merge results pipelines" will enable "Enable merge trains". User can now check this option.
  • If "Enable merge trains" checkbox is enabled, user can check or uncheck it without affecting anything else.

A follow-up issue has been created in #297354 to implement this behavior in Vue. For now, this will be implemented in vanilla JS since the form is in HAML.

Screenshots

Behavior Screenshot
Both checkboxes enabled and checked Both_Enabled
Merged Pipelines unchecked: unchecks and disables Merged Trains checkbox Both_Unchecked
Merged Trains unchecked: does not affect Merged Pipelines checkbox. Checking Merge Pipelines will enable the Merge Trains checkbox, but user has to check it manually. Merge_Trains_Unchecked

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Mireya Andres

Merge request reports