diff --git a/models/ai_model_manage.go b/models/ai_model_manage.go
index 8f83a6c68..4e535003e 100644
--- a/models/ai_model_manage.go
+++ b/models/ai_model_manage.go
@@ -290,6 +290,20 @@ func ModifyModelDescription(id string, description string) error {
return nil
}
+func ModifyModelPrivate(id string, isPrivate bool) error {
+ var sess *xorm.Session
+ sess = x.ID(id)
+ defer sess.Close()
+ re, err := sess.Cols("is_private").Update(&AiModelManage{
+ IsPrivate: isPrivate,
+ })
+ if err != nil {
+ return err
+ }
+ log.Info("success to update isPrivate from db.re=" + fmt.Sprint((re)))
+ return nil
+}
+
func ModifyLocalModel(id string, name, label, description string, engine int) error {
var sess *xorm.Session
sess = x.ID(id)
diff --git a/routers/repo/ai_model_manage.go b/routers/repo/ai_model_manage.go
index 72ca6d359..80fe34ee2 100644
--- a/routers/repo/ai_model_manage.go
+++ b/routers/repo/ai_model_manage.go
@@ -1109,6 +1109,32 @@ func ModifyModel(id string, description string) error {
return err
}
+func ModifyModelPrivate(ctx *context.Context) {
+ id := ctx.Query("id")
+ isPrivate := ctx.QueryBool("isPrivate")
+ re := map[string]string{
+ "code": "-1",
+ }
+ task, err := models.QueryModelById(id)
+ if err != nil || task == nil {
+ re["msg"] = err.Error()
+ log.Error("no such model!", err.Error())
+ ctx.JSON(200, re)
+ return
+ }
+ if !isOperModifyOrDelete(ctx, task.UserId) {
+ re["msg"] = "No right to operation."
+ ctx.JSON(200, re)
+ return
+ }
+ err = models.ModifyModelPrivate(id, isPrivate)
+ if err == nil {
+ log.Info("modify success.")
+ } else {
+ log.Info("Failed to modify.id=" + id + " isprivate=" + fmt.Sprint(isPrivate) + " error:" + err.Error())
+ }
+}
+
func ModifyModelInfo(ctx *context.Context) {
log.Info("modify model start.")
id := ctx.Query("id")
diff --git a/routers/routes/routes.go b/routers/routes/routes.go
index 60f0365ea..80ff96364 100755
--- a/routers/routes/routes.go
+++ b/routers/routes/routes.go
@@ -1251,6 +1251,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Post("/delete_model_convert/:id", repo.DeleteModelConvert)
m.Post("/convert_stop/:id", repo.StopModelConvert)
m.Put("/modify_model", repo.ModifyModelInfo)
+ m.Put("/modify_model_status", repo.ModifyModelPrivate)
m.Get("/show_model", reqRepoModelManageReader, repo.ShowModelTemplate)
m.Get("/convert_model", reqRepoModelManageReader, repo.ConvertModelTemplate)
m.Get("/show_model_info", repo.ShowModelInfo)
diff --git a/web_src/js/components/Model.vue b/web_src/js/components/Model.vue
index db87dc2ca..68be0bab7 100644
--- a/web_src/js/components/Model.vue
+++ b/web_src/js/components/Model.vue
@@ -149,8 +149,12 @@
:class="{ disabled: !scope.row.isCanOper }"
>{{ i18n.modify }}
{{ i18n.modify }}
- {{ i18n.modelaccess_setpublic }}
- {{ i18n.modelaccess_setprivate }}
+ {{ i18n.modelaccess_setpublic }}
+ {{ i18n.modelaccess_setprivate }}
{
+ _this.loadrefresh(row);
+ });
+ },
deleteModel(id, name, rowKey) {
let row = { cName: name, id: id, rowKey: rowKey };
let _this = this;