Browse Source

提交代码,修改权限控制。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.12.1^2
zouap 3 years ago
parent
commit
25aba8919b
4 changed files with 61 additions and 2 deletions
  1. +14
    -0
      models/ai_model_manage.go
  2. +26
    -0
      routers/repo/ai_model_manage.go
  3. +1
    -0
      routers/routes/routes.go
  4. +20
    -2
      web_src/js/components/Model.vue

+ 14
- 0
models/ai_model_manage.go View File

@@ -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)


+ 26
- 0
routers/repo/ai_model_manage.go View File

@@ -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")


+ 1
- 0
routers/routes/routes.go View File

@@ -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)


+ 20
- 2
web_src/js/components/Model.vue View File

@@ -149,8 +149,12 @@
:class="{ disabled: !scope.row.isCanOper }"
>{{ i18n.modify }}</a>
<a class="op-btn" v-show="scope.row.modelType != 1" style="color:transparent;cursor:default;" >{{ i18n.modify }}</a>
<a class="op-btn" v-show="repoIsPrivate == false && scope.row.isPrivate==true && scope.row.isCanOper">{{ i18n.modelaccess_setpublic }}</a>
<a class="op-btn" v-show="repoIsPrivate == false && scope.row.isPrivate==false && scope.row.isCanOper">{{ i18n.modelaccess_setprivate }}</a>
<a class="op-btn" v-show="repoIsPrivate == false && scope.row.isPrivate==true && scope.row.isCanOper" @click="
modifyModelStatus(scope.row.id, scope.row.cName, scope.row.rowKey,false)
">{{ i18n.modelaccess_setpublic }}</a>
<a class="op-btn" v-show="repoIsPrivate == false && scope.row.isPrivate==false && scope.row.isCanOper" @click="
modifyModelStatus(scope.row.id, scope.row.cName, scope.row.rowKey,true)
">{{ i18n.modelaccess_setprivate }}</a>
<a class="op-btn"
:href="loadhref + scope.row.id"
@@ -399,6 +403,20 @@ export default {
}
}
},
modifyModelStatus(id, name, rowKey,isPrivate) {
let row = { cName: name, id: id, rowKey: rowKey };
let _this = this;
_this.$axios
.put(_this.url + "modify_model_status", {
params: {
id: id,
isPrivate:isPrivate,
},
})
.then((res) => {
_this.loadrefresh(row);
});
},
deleteModel(id, name, rowKey) {
let row = { cName: name, id: id, rowKey: rowKey };
let _this = this;


Loading…
Cancel
Save