Don't hide the "Private" visibility option when it's disabled

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

When a group contains projects or sub-groups of internal or public visibility it can't be set to private, and the radio button is hidden.

group-visibility

There is no explanation of why the option is missing. It's confusing and unclear how to make the option available (namely: fix the visibility of all the children).

Intended users

Further details

I encountered this in a self-managed GitLab Premium instance. I realized that any employee could log in to our GitLab server with their LDAP credentials and view our project's code. I wanted to make the project private so I could restrict access to only specifically authorized employees. I was unable to do so, couldn't figure out why the private radio button was missing, and had to create a support ticket for help.

  • GitLab version: 12.6.2-ee

Proposal

  • Proposal 1 - Always display the button. Instead of hiding it, show it disabled and include an explanation of why it's disabled. For example, "This group cannot be set to Private because one or more projects and/or sub-groups have Internal or Public visibility."

  • Proposal 2 - Always allow groups to be set to private, and adjust the visibility of their children if needed. There could be a strong warning or confirmation required before doing so since this would be a recursive action that could affect many projects.

Permissions and Security

N/A

Documentation

Unknown

Testing

Unknown

What does success look like, and how can we measure that?

Unknown

What is the type of buyer?

Core

Links / references

  • Support ticket 142844
Edited by 🤖 GitLab Bot 🤖