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

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>

Co-authored-by: Alexey 〒erentyev <axifnx@gmail.com>
release/v1.15
6543 2021-09-08 17:58:00 +02:00 committed by GitHub
parent 07489d0405
commit d27f061863
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 2 deletions

View File

@ -1062,9 +1062,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())
} }