mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-19 10:41:01 +02:00
Fix bug when updating user visibility to public
This commit is contained in:
parent
36a19f2569
commit
4fdd2de1bb
@ -28,12 +28,18 @@ func FromPtr[T any](v *T) Option[T] {
|
||||
return Some(*v)
|
||||
}
|
||||
|
||||
func FromNonDefault[T comparable](v T) Option[T] {
|
||||
var zero T
|
||||
if v == zero {
|
||||
func FromNonDefaultFunc[T comparable](f T, isZero func(T) bool) Option[T] {
|
||||
if isZero(f) {
|
||||
return None[T]()
|
||||
}
|
||||
return Some(v)
|
||||
return Some(f)
|
||||
}
|
||||
|
||||
func FromNonDefault[T comparable](v T) Option[T] {
|
||||
return FromNonDefaultFunc(v, func(v T) bool {
|
||||
var zero T
|
||||
return v == zero
|
||||
})
|
||||
}
|
||||
|
||||
func (o Option[T]) Has() bool {
|
||||
|
@ -234,13 +234,15 @@ func EditUser(ctx *context.APIContext) {
|
||||
}
|
||||
|
||||
opts := &user_service.UpdateOptions{
|
||||
FullName: optional.FromPtr(form.FullName),
|
||||
Website: optional.FromPtr(form.Website),
|
||||
Location: optional.FromPtr(form.Location),
|
||||
Description: optional.FromPtr(form.Description),
|
||||
IsActive: optional.FromPtr(form.Active),
|
||||
IsAdmin: user_service.UpdateOptionFieldFromPtr(form.Admin),
|
||||
Visibility: optional.FromNonDefault(api.VisibilityModes[form.Visibility]),
|
||||
FullName: optional.FromPtr(form.FullName),
|
||||
Website: optional.FromPtr(form.Website),
|
||||
Location: optional.FromPtr(form.Location),
|
||||
Description: optional.FromPtr(form.Description),
|
||||
IsActive: optional.FromPtr(form.Active),
|
||||
IsAdmin: user_service.UpdateOptionFieldFromPtr(form.Admin),
|
||||
Visibility: optional.FromNonDefaultFunc(api.VisibilityModes[form.Visibility], func(v api.VisibleType) bool {
|
||||
return v < api.VisibleTypePublic || v > api.VisibleTypePrivate
|
||||
}),
|
||||
AllowGitHook: optional.FromPtr(form.AllowGitHook),
|
||||
AllowImportLocal: optional.FromPtr(form.AllowImportLocal),
|
||||
MaxRepoCreation: optional.FromPtr(form.MaxRepoCreation),
|
||||
|
Loading…
x
Reference in New Issue
Block a user