diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index cb503d669..47036e2e9 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -920,7 +920,7 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, CountDate = time.Date(startTime.Year(), startTime.Month(), startTime.Day(), 0, 1, 0, 0, currentTimeNow.Location()) } - DataDate := startTime.Format("2006-01-02") + DataDate := CountDate.Format("2006-01-02") CodeMergeCountMap := queryPullRequest(start_unix, end_unix) CommitCountMap := queryCommitAction(start_unix, end_unix, 5) IssueCountMap := queryCreateIssue(start_unix, end_unix) @@ -1103,6 +1103,7 @@ func updateNewUserAcitivity(currentUserActivity map[int64]map[int64]int64, userA ",activate_regist_user=" + fmt.Sprint(useMetrics.ActivateRegistUser) + ",not_activate_regist_user=" + fmt.Sprint(useMetrics.CurrentDayRegistUser-useMetrics.ActivateRegistUser) + ",current_day_regist_user=" + fmt.Sprint(useMetrics.CurrentDayRegistUser) + + ",data_date='" + time.Unix(key, 0).Format("2006-01-02") + "'" + " where count_date=" + fmt.Sprint(key) statictisSess.Exec(updateSql) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 41d002962..6151f0070 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -641,6 +641,7 @@ func CloudBrainTrainJobShow(ctx *context.Context) { func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.JobType) { ctx.Data["PageIsCloudBrain"] = true debugListType := ctx.Query("debugListType") + cloudbrain.InitSpecialPool() var task *models.Cloudbrain var err error @@ -652,22 +653,22 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo if err != nil { log.Info("error:" + err.Error()) - ctx.Data["error"] = err.Error() + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } result, err := cloudbrain.GetJob(task.JobID) if err != nil { log.Info("error:" + err.Error()) - ctx.Data["error"] = err.Error() + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } - + hasSpec := false if task.JobType == string(models.JobTypeTrain) { if cloudbrain.TrainResourceSpecs == nil { json.Unmarshal([]byte(setting.TrainResourceSpecs), &cloudbrain.TrainResourceSpecs) } - hasSpec := false + for _, tmp := range cloudbrain.TrainResourceSpecs.ResourceSpec { if tmp.Id == task.ResourceSpecId { hasSpec = true @@ -675,24 +676,7 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo ctx.Data["CpuNum"] = tmp.CpuNum ctx.Data["MemMiB"] = tmp.MemMiB ctx.Data["ShareMemMiB"] = tmp.ShareMemMiB - } - } - - if !hasSpec && cloudbrain.SpecialPools != nil { - for _, specialPool := range cloudbrain.SpecialPools.Pools { - - if specialPool.ResourceSpec != nil { - - for _, spec := range specialPool.ResourceSpec { - if task.ResourceSpecId == spec.Id { - ctx.Data["GpuNum"] = spec.GpuNum - ctx.Data["CpuNum"] = spec.CpuNum - ctx.Data["MemMiB"] = spec.MemMiB - ctx.Data["ShareMemMiB"] = spec.ShareMemMiB - break - } - } - } + break } } @@ -702,10 +686,12 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo } for _, tmp := range cloudbrain.InferenceResourceSpecs.ResourceSpec { if tmp.Id == task.ResourceSpecId { + hasSpec = true ctx.Data["GpuNum"] = tmp.GpuNum ctx.Data["CpuNum"] = tmp.CpuNum ctx.Data["MemMiB"] = tmp.MemMiB ctx.Data["ShareMemMiB"] = tmp.ShareMemMiB + break } } } else { @@ -714,10 +700,32 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo } for _, tmp := range cloudbrain.ResourceSpecs.ResourceSpec { if tmp.Id == task.ResourceSpecId { + hasSpec = true ctx.Data["GpuNum"] = tmp.GpuNum ctx.Data["CpuNum"] = tmp.CpuNum ctx.Data["MemMiB"] = tmp.MemMiB ctx.Data["ShareMemMiB"] = tmp.ShareMemMiB + break + + } + } + } + + if !hasSpec && cloudbrain.SpecialPools != nil { + + for _, specialPool := range cloudbrain.SpecialPools.Pools { + + if specialPool.ResourceSpec != nil { + + for _, spec := range specialPool.ResourceSpec { + if task.ResourceSpecId == spec.Id { + ctx.Data["GpuNum"] = spec.GpuNum + ctx.Data["CpuNum"] = spec.CpuNum + ctx.Data["MemMiB"] = spec.MemMiB + ctx.Data["ShareMemMiB"] = spec.ShareMemMiB + break + } + } } } } @@ -736,14 +744,6 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo ctx.Data["resource_type"] = resourceType.Value } } - for _, specialPool := range cloudbrain.SpecialPools.Pools { - - for _, resourceType := range specialPool.Pool { - if resourceType.Queue == jobRes.Config.GpuType { - ctx.Data["resource_type"] = resourceType.Value - } - } - } } else if task.JobType == string(models.JobTypeInference) { if inferenceGpuInfos == nil { @@ -775,6 +775,16 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo } } } + + if cloudbrain.SpecialPools != nil { + for _, specialPool := range cloudbrain.SpecialPools.Pools { + for _, resourceType := range specialPool.Pool { + if resourceType.Queue == jobRes.Config.GpuType { + ctx.Data["resource_type"] = resourceType.Value + } + } + } + } taskRoles := jobRes.TaskRoles taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) ctx.Data["taskRes"] = taskRes @@ -900,6 +910,20 @@ func CloudBrainCommitImageShow(ctx *context.Context) { ctx.HTML(200, tplCloudBrainImageSubmit) } +func GetImage(ctx *context.Context) { + + var ID = ctx.Params(":id") + id, _ := strconv.ParseInt(ID, 10, 64) + + image, err := models.GetImageByID(id) + if err != nil { + log.Error("GetImageByID failed:%v", err.Error()) + ctx.JSON(http.StatusNotFound, nil) + } + ctx.JSON(http.StatusOK, image) + +} + func CloudBrainImageEdit(ctx *context.Context) { ctx.Data["PageIsImageEdit"] = true ctx.Data["PageFrom"] = ctx.Params(":from") diff --git a/routers/repo/grampus.go b/routers/repo/grampus.go index 978b7462d..7d6aa1c30 100755 --- a/routers/repo/grampus.go +++ b/routers/repo/grampus.go @@ -626,7 +626,7 @@ func GrampusTrainJobShow(ctx *context.Context) { task, err := models.GetCloudbrainByJobIDWithDeleted(ctx.Params(":jobid")) if err != nil { log.Error("GetCloudbrainByJobID failed:" + err.Error()) - ctx.ServerError("system error", err) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } @@ -634,8 +634,8 @@ func GrampusTrainJobShow(ctx *context.Context) { result, err := grampus.GetJob(task.JobID) if err != nil { log.Error("GetJob failed:" + err.Error()) - //ctx.ServerError("GetJob failed", err) - //return + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) + return } if result != nil { diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index b5afa4713..ccdc31337 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -257,15 +257,15 @@ func NotebookShow(ctx *context.Context) { var ID = ctx.Params(":id") task, err := models.GetCloudbrainByIDWithDeleted(ID) if err != nil { - ctx.Data["error"] = err.Error() - ctx.RenderWithErr(err.Error(), tplModelArtsNotebookShow, nil) + log.Error("GET job error", err.Error()) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } result, err := modelarts.GetNotebook2(task.JobID) if err != nil { - ctx.Data["error"] = err.Error() - ctx.RenderWithErr(err.Error(), tplModelArtsNotebookShow, nil) + log.Error("GET job error", err.Error()) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } @@ -276,8 +276,8 @@ func NotebookShow(ctx *context.Context) { models.ParseAndSetDurationFromModelArtsNotebook(result, task) err = models.UpdateJob(task) if err != nil { - ctx.Data["error"] = err.Error() - ctx.RenderWithErr(err.Error(), tplModelArtsNotebookShow, nil) + log.Error("GET job error", err.Error()) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } } @@ -1643,7 +1643,11 @@ func TrainJobShow(ctx *context.Context) { if err != nil { log.Error("GetVersionListTasks(%s) failed:%v", jobID, err.Error()) - ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) + return + } + if len(VersionListTasks) == 0 { + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } //设置权限 @@ -2297,7 +2301,7 @@ func InferenceJobShow(ctx *context.Context) { if err != nil { log.Error("GetInferenceTask(%s) failed:%v", jobID, err.Error()) - ctx.RenderWithErr(err.Error(), tplModelArtsInferenceJobShow, nil) + ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } //设置权限 diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 35a26f585..f917aebf1 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1016,6 +1016,7 @@ func RegisterRoutes(m *macaron.Macaron) { }, context.RepoAssignment(), context.RepoMustNotBeArchived(), reqRepoAdmin) m.Group("/image/:id", func() { + m.Get("", repo.GetImage) m.Get("/:from", cloudbrain.AdminOrImageCreaterRight, repo.CloudBrainImageEdit) m.Post("", cloudbrain.AdminOrImageCreaterRight, bindIgnErr(auth.EditImageCloudBrainForm{}), repo.CloudBrainImageEditPost) m.Delete("", cloudbrain.AdminOrImageCreaterRight, repo.CloudBrainImageDelete) diff --git a/templates/org/create.tmpl b/templates/org/create.tmpl index 872140efa..21b6ebdb4 100644 --- a/templates/org/create.tmpl +++ b/templates/org/create.tmpl @@ -48,7 +48,7 @@ - {{.i18n.Tr "cancel"}} + {{.i18n.Tr "cancel"}} diff --git a/templates/repo/create.tmpl b/templates/repo/create.tmpl index 2fed8c173..4d51b0120 100644 --- a/templates/repo/create.tmpl +++ b/templates/repo/create.tmpl @@ -176,7 +176,7 @@ - {{.i18n.Tr "cancel"}} + {{.i18n.Tr "cancel"}} diff --git a/templates/repo/migrate.tmpl b/templates/repo/migrate.tmpl index 481caaeae..ef667361e 100644 --- a/templates/repo/migrate.tmpl +++ b/templates/repo/migrate.tmpl @@ -102,7 +102,7 @@ - {{.i18n.Tr "cancel"}} + {{.i18n.Tr "cancel"}} diff --git a/templates/repo/modelmanage/convertIndex.tmpl b/templates/repo/modelmanage/convertIndex.tmpl index 3dc3652c5..4032b28d5 100644 --- a/templates/repo/modelmanage/convertIndex.tmpl +++ b/templates/repo/modelmanage/convertIndex.tmpl @@ -478,7 +478,7 @@ } function loadModelList(){ - $.get(`${repolink}/modelmanage/query_model_for_predict?repoId=${repoId}`, (data) => { + $.get(`${repolink}/modelmanage/query_model_for_predict?repoId=${repoId}&type=-1`, (data) => { modelData = data let nameList = data.nameList const n_length = nameList.length diff --git a/templates/user/auth/bind_phone.tmpl b/templates/user/auth/bind_phone.tmpl index 754fe1e6a..791fdd778 100644 --- a/templates/user/auth/bind_phone.tmpl +++ b/templates/user/auth/bind_phone.tmpl @@ -40,7 +40,7 @@ var verifyCode = bindPhoneEl.find('input.verifyCode').val(); if (phoneNumber && verifyCode) { e.preventDefault(); - if (!/^1[3578]\d{9}$/.test(phoneNumber)) { + if (!/^1[3-9]\d{9}$/.test(phoneNumber)) { bindPhoneEl.find('.ui.negative.message').show().find('p').text({{.i18n.Tr "phone.please_enter_the_correct_mobile_number"}}); return; } diff --git a/web_src/js/features/cloudbrainShow.js b/web_src/js/features/cloudbrainShow.js index 0565b1967..5e9833616 100644 --- a/web_src/js/features/cloudbrainShow.js +++ b/web_src/js/features/cloudbrainShow.js @@ -168,8 +168,8 @@ export default async function initCloudrainSow() { let downloadFlag = $(this).data("download-flag") || ""; let gpuFlag = $(this).data("gpu-flag") || ""; let version_name = $(this).data("version"); - let parents = $(this).data("parents") || ""; - let filename = $(this).data("filename") || ""; + let parents = $(this).data("parents"); + let filename = $(this).data("filename"); let init = $(this).data("init") || ""; let path = $(this).data("path"); let url = `/api/v1/repos${path}?version_name=${version_name}&parentDir=${parents}`; @@ -189,7 +189,7 @@ export default async function initCloudrainSow() { htmlBread += "