Fix 500 error if there is a name conflict when edit authentication source (#23832)

This commit is contained in:
yp05327 authored and GitHub committed 2023-03-31 22:32:18 +08:00
1 parent 7df036f1a5
commit 6e58f8400e
2 files changed
+12 -3

No files matched your search

+8 -1
View File
@@ -317,7 +317,14 @@ func UpdateSource(source *Source) error {
}
}
_, err := db.GetEngine(db.DefaultContext).ID(source.ID).AllCols().Update(source)
has, err := db.GetEngine(db.DefaultContext).Where("name=? AND id!=?", source.Name, source.ID).Exist(new(Source))
if err != nil {
return err
} else if has {
return ErrSourceAlreadyExist{source.Name}
}
_, err = db.GetEngine(db.DefaultContext).ID(source.ID).AllCols().Update(source)
if err != nil {
return err
}