mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-20 12:38:28 +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)
|
return Some(*v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func FromNonDefault[T comparable](v T) Option[T] {
|
func FromNonDefaultFunc[T comparable](f T, isZero func(T) bool) Option[T] {
|
||||||
var zero T
|
if isZero(f) {
|
||||||
if v == zero {
|
|
||||||
return None[T]()
|
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 {
|
func (o Option[T]) Has() bool {
|
||||||
|
@ -240,7 +240,9 @@ func EditUser(ctx *context.APIContext) {
|
|||||||
Description: optional.FromPtr(form.Description),
|
Description: optional.FromPtr(form.Description),
|
||||||
IsActive: optional.FromPtr(form.Active),
|
IsActive: optional.FromPtr(form.Active),
|
||||||
IsAdmin: user_service.UpdateOptionFieldFromPtr(form.Admin),
|
IsAdmin: user_service.UpdateOptionFieldFromPtr(form.Admin),
|
||||||
Visibility: optional.FromNonDefault(api.VisibilityModes[form.Visibility]),
|
Visibility: optional.FromNonDefaultFunc(api.VisibilityModes[form.Visibility], func(v api.VisibleType) bool {
|
||||||
|
return v < api.VisibleTypePublic || v > api.VisibleTypePrivate
|
||||||
|
}),
|
||||||
AllowGitHook: optional.FromPtr(form.AllowGitHook),
|
AllowGitHook: optional.FromPtr(form.AllowGitHook),
|
||||||
AllowImportLocal: optional.FromPtr(form.AllowImportLocal),
|
AllowImportLocal: optional.FromPtr(form.AllowImportLocal),
|
||||||
MaxRepoCreation: optional.FromPtr(form.MaxRepoCreation),
|
MaxRepoCreation: optional.FromPtr(form.MaxRepoCreation),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user