WIP: Fix: correct pages access level in UI
What does this MR do?
Fix displayed pages access level for some combinations stored in the database:
-
public projects that existed before pages access control functionality are defaulted in the db to
PUBLIC = 30
. This option does not exist in the admin select box, and corresponds toENABLED = 20
-
private projects that were created after pages access control was implemented are defaulted in the db to
ENABLED = 20
. This option does not exist in the admin select box, and corresponds toPRIVATE = 10
Without this patch, the displayed level in the web UI for these cases does not correspond to what the expected behaviour is, e.g. for the public project case, the pages access level shown in the project settings will be private but it will actually be public
Please take a look @bufferoverflow @siemens If this goes in the right direction, I'd create test cases and such.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/56386
The development of this MR is sponsored by @siemens (/cc @bufferoverflow).
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation created/updated or follow-up review issue created -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Performance and testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
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