Skip AllowedUserVisibilityModes validation on update user if it is an organisation (#16988)

if AllowedUserVisibilityModes allow only public & limited, and orgs can be private, a user can create a repo to that organisation whitch will result in an update of the user. On this call the user is validaten and will be rejected since private is not allowed, but its not an user its an valid org ...

Co-authored-by: Alexey 〒erentyev <axifnx@gmail.com>
This commit is contained in:
6543 2021-09-08 17:47:49 +02:00 committed by GitHub
parent ddc709ff7f
commit 8e18b412c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1060,9 +1060,9 @@ func checkDupEmail(e Engine, u *User) error {
return nil return nil
} }
// validateUser check if user is valide to insert / update into database // validateUser check if user is valid to insert / update into database
func validateUser(u *User) error { func validateUser(u *User) error {
if !setting.Service.AllowedUserVisibilityModesSlice.IsAllowedVisibility(u.Visibility) { if !setting.Service.AllowedUserVisibilityModesSlice.IsAllowedVisibility(u.Visibility) && !u.IsOrganization() {
return fmt.Errorf("visibility Mode not allowed: %s", u.Visibility.String()) return fmt.Errorf("visibility Mode not allowed: %s", u.Visibility.String())
} }