Browse Source

Merge branch 'V20211228' of https://git.openi.org.cn/OpenI/aiforge into V20211228

tags/v1.21.12.2^2
zhoupzh 3 years ago
parent
commit
15b13e04b2
13 changed files with 78 additions and 11 deletions
  1. +1
    -1
      models/issue_milestone.go
  2. +5
    -0
      options/locale/locale_en-US.ini
  3. +2
    -0
      options/locale/locale_zh-CN.ini
  4. +17
    -0
      routers/repo/ai_model_manage.go
  5. +2
    -1
      routers/repo/issue.go
  6. +1
    -0
      routers/repo/milestone.go
  7. +1
    -1
      routers/repo/modelarts.go
  8. +1
    -0
      routers/routes/routes.go
  9. +2
    -1
      templates/repo/home.tmpl
  10. +37
    -4
      templates/repo/issue/list.tmpl
  11. +7
    -1
      web_src/js/components/Contributors.vue
  12. +1
    -1
      web_src/js/components/MinioUploader.vue
  13. +1
    -1
      web_src/js/components/ObsUploader.vue

+ 1
- 1
models/issue_milestone.go View File

@@ -353,7 +353,7 @@ func GetMilestonesByRepoID(repoID int64, state api.StateType, listOptions ListOp
} }


miles := make([]*Milestone, 0, listOptions.PageSize) miles := make([]*Milestone, 0, listOptions.PageSize)
return miles, sess.Asc("deadline_unix").Asc("id").Find(&miles)
return miles, sess.Desc("id").Find(&miles)
} }


// GetMilestones returns a list of milestones of given repository and status. // GetMilestones returns a list of milestones of given repository and status.


+ 5
- 0
options/locale/locale_en-US.ini View File

@@ -778,6 +778,10 @@ datasets = Datasets
datasets.desc = Enable Dataset datasets.desc = Enable Dataset
cloudbrain_helper=Use GPU/NPU resources to open notebooks, model training tasks, etc. cloudbrain_helper=Use GPU/NPU resources to open notebooks, model training tasks, etc.


model_manager = Model
model_noright=No right
model_rename=Duplicate model name, please modify model name.

debug=Debug debug=Debug
stop=Stop stop=Stop
delete=Delete delete=Delete
@@ -1127,6 +1131,7 @@ issues.filter_label_exclude = `Use <code>alt</code> + <code>click/enter</code> t
issues.filter_label_no_select = All labels issues.filter_label_no_select = All labels
issues.filter_milestone = Milestone issues.filter_milestone = Milestone
issues.filter_milestone_no_select = All milestones issues.filter_milestone_no_select = All milestones
issues.filter_milestone_no_add = Not add milestones
issues.filter_assignee = Assignee issues.filter_assignee = Assignee
issues.filter_assginee_no_select = All assignees issues.filter_assginee_no_select = All assignees
issues.filter_type = Type issues.filter_type = Type


+ 2
- 0
options/locale/locale_zh-CN.ini View File

@@ -784,6 +784,7 @@ cloudbrain_helper=使用GPU/NPU资源,开启Notebook、模型训练任务等


model_manager = 模型 model_manager = 模型
model_noright=无权限操作 model_noright=无权限操作
model_rename=模型名称重复,请修改模型名称


debug=调试 debug=调试
stop=停止 stop=停止
@@ -1140,6 +1141,7 @@ issues.filter_label_exclude=`使用 <code>alt</code> + <code>鼠标左键 / 回
issues.filter_label_no_select=所有标签 issues.filter_label_no_select=所有标签
issues.filter_milestone=里程碑筛选 issues.filter_milestone=里程碑筛选
issues.filter_milestone_no_select=所有里程碑 issues.filter_milestone_no_select=所有里程碑
issues.filter_milestone_no_add=未添加里程碑
issues.filter_assignee=指派人筛选 issues.filter_assignee=指派人筛选
issues.filter_assginee_no_select=所有指派成员 issues.filter_assginee_no_select=所有指派成员
issues.filter_type=类型筛选 issues.filter_type=类型筛选


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

@@ -105,6 +105,23 @@ func saveModelByParameters(jobId string, versionName string, name string, versio
return nil return nil
} }


func SaveNewNameModel(ctx *context.Context) {
name := ctx.Query("Name")
if name == "" {
ctx.Error(500, fmt.Sprintf("name or version is null."))
return
}

aimodels := models.QueryModelByName(name, ctx.Repo.Repository.ID)
if len(aimodels) > 0 {
ctx.Error(500, ctx.Tr("repo.model_rename"))
return
}
SaveModel(ctx)

log.Info("save model end.")
}

func SaveModel(ctx *context.Context) { func SaveModel(ctx *context.Context) {
log.Info("save model start.") log.Info("save model start.")
JobId := ctx.Query("JobId") JobId := ctx.Query("JobId")


+ 2
- 1
routers/repo/issue.go View File

@@ -357,7 +357,8 @@ func Issues(ctx *context.Context) {


var err error var err error
// Get milestones. // Get milestones.
ctx.Data["Milestones"], err = models.GetMilestonesByRepoID(ctx.Repo.Repository.ID, api.StateAll, models.ListOptions{})
ctx.Data["OpenMilestones"], err = models.GetMilestonesByRepoID(ctx.Repo.Repository.ID, api.StateOpen, models.ListOptions{})
ctx.Data["ClosedMilestones"], err = models.GetMilestonesByRepoID(ctx.Repo.Repository.ID, api.StateClosed, models.ListOptions{})
if err != nil { if err != nil {
ctx.ServerError("GetAllRepoMilestones", err) ctx.ServerError("GetAllRepoMilestones", err)
return return


+ 1
- 0
routers/repo/milestone.go View File

@@ -268,6 +268,7 @@ func MilestoneIssuesAndPulls(ctx *context.Context) {


ctx.Data["CanWriteIssues"] = ctx.Repo.CanWriteIssuesOrPulls(false) ctx.Data["CanWriteIssues"] = ctx.Repo.CanWriteIssuesOrPulls(false)
ctx.Data["CanWritePulls"] = ctx.Repo.CanWriteIssuesOrPulls(true) ctx.Data["CanWritePulls"] = ctx.Repo.CanWriteIssuesOrPulls(true)
ctx.Data["PageIsIssueList"] = true


ctx.HTML(200, tplMilestoneIssues) ctx.HTML(200, tplMilestoneIssues)
} }

+ 1
- 1
routers/repo/modelarts.go View File

@@ -274,7 +274,7 @@ func NotebookDel(ctx *context.Context) {
return return
} }


if task.Status != string(models.JobStopped) {
if task.Status != string(models.ModelArtsCreateFailed) && task.Status != string(models.ModelArtsStartFailed) && task.Status != string(models.ModelArtsStopped){
log.Error("the job(%s) has not been stopped", task.JobName) log.Error("the job(%s) has not been stopped", task.JobName)
ctx.ServerError("the job has not been stopped", errors.New("the job has not been stopped")) ctx.ServerError("the job has not been stopped", errors.New("the job has not been stopped"))
return return


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

@@ -977,6 +977,7 @@ func RegisterRoutes(m *macaron.Macaron) {
}, context.RepoRef()) }, context.RepoRef())
m.Group("/modelmanage", func() { m.Group("/modelmanage", func() {
m.Post("/create_model", reqRepoModelManageWriter, repo.SaveModel) m.Post("/create_model", reqRepoModelManageWriter, repo.SaveModel)
m.Post("/create_new_model", reqRepoModelManageWriter, repo.SaveNewNameModel)
m.Delete("/delete_model", repo.DeleteModel) m.Delete("/delete_model", repo.DeleteModel)
m.Put("/modify_model", repo.ModifyModelInfo) m.Put("/modify_model", repo.ModifyModelInfo)
m.Get("/show_model", reqRepoModelManageReader, repo.ShowModelTemplate) m.Get("/show_model", reqRepoModelManageReader, repo.ShowModelTemplate)


+ 2
- 1
templates/repo/home.tmpl View File

@@ -337,7 +337,8 @@
{{end}} {{end}}
<div class="ui right"> <div class="ui right">
<a class="membersmore text grey" href="{{.RepoLink}}/contributors">全部 {{svg "octicon-chevron-right" 16}}</a>
<!-- <a class="membersmore text grey" href="{{.RepoLink}}/contributors">全部 {{svg "octicon-chevron-right" 16}}</a> -->
<a class="membersmore text grey" href="{{.RepoLink}}/contributors?type={{if .IsViewBranch}}branch{{else}}tag{{end}}&name={{.BranchName}}">全部 {{svg "octicon-chevron-right" 16}}</a>
</div> </div>
</h4> </h4>
<div class="ui members" id="contributorInfo"> <div class="ui members" id="contributorInfo">


+ 37
- 4
templates/repo/issue/list.tmpl View File

@@ -1,3 +1,11 @@
<style>
.repository .filter.menu.labels .svg{
margin-right: 2px !important;
}
.ovfl{
overflow-y:hidden !important;
}
</style>
{{template "base/head" .}} {{template "base/head" .}}
<div class="repository"> <div class="repository">
{{template "repo/header" .}} {{template "repo/header" .}}
@@ -57,16 +65,41 @@
</div> </div>


<!-- Milestone --> <!-- Milestone -->
<div class="ui {{if not .Milestones}}disabled{{end}} dropdown jump item">
<div class="ui {{if and (not .OpenMilestones) (not .ClosedMilestones)}}disabled{{end}} dropdown jump item">
<span class="text"> <span class="text">
{{.i18n.Tr "repo.issues.filter_milestone"}} {{.i18n.Tr "repo.issues.filter_milestone"}}
<i class="dropdown icon"></i> <i class="dropdown icon"></i>
</span> </span>
<div class="menu"> <div class="menu">
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_milestone_no_select"}}</a> <a class="item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_milestone_no_select"}}</a>
{{range .Milestones}}
<a class="{{if eq $.MilestoneID .ID}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&assignee={{$.AssigneeID}}">{{.Name}}</a>
{{end}}
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone=-1&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_milestone_no_add"}}</a>
{{if .OpenMilestones}}
<div class="divider" ></div>
<div class="header ovfl" >
{{svg "octicon-milestone" 12 }}
{{.i18n.Tr "repo.issues.new.open_milestone"}}
</div>
{{range .OpenMilestones}}
<a class="{{if eq $.MilestoneID .ID}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&assignee={{$.AssigneeID}}">
{{.Name}}
</a>
{{end}}
{{end}}

{{if .ClosedMilestones}}
<div class="divider"></div>
<div class="header ovfl" >
{{svg "octicon-milestone" 12}}
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
</div>
{{range .ClosedMilestones}}
<a class="{{if eq $.MilestoneID .ID}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&assignee={{$.AssigneeID}}">
{{.Name}}
</a>
{{end}}
{{end}}
</div> </div>
</div> </div>




+ 7
- 1
web_src/js/components/Contributors.vue View File

@@ -45,6 +45,8 @@ export default {
data() { data() {
return { return {
url:'', url:'',
url_infor:'',
href_:'',
contributors_list:[], contributors_list:[],
contributors_list_page:[], contributors_list_page:[],
currentPage:1, currentPage:1,
@@ -56,7 +58,7 @@ export default {
methods: { methods: {


getContributorsList(){ getContributorsList(){
this.$axios.get(this.url+'/list').then((res)=>{
this.$axios.get(this.url+'/list?'+this.url_infor).then((res)=>{
this.contributors_list = res.data.contributor_info this.contributors_list = res.data.contributor_info
this.totalNum = this.contributors_list.length this.totalNum = this.contributors_list.length
this.contributors_list_page = this.contributors_list.slice(0,this.pageSize) this.contributors_list_page = this.contributors_list.slice(0,this.pageSize)
@@ -78,6 +80,10 @@ created(){
this.url = url; this.url = url;
let strIndex = this.url.indexOf("contributors") let strIndex = this.url.indexOf("contributors")
this.url_code = this.url.substr(0,strIndex) this.url_code = this.url.substr(0,strIndex)
this.href_ = window.location.href;
let index = this.href_.indexOf("?")
this.url_infor = this.href_.substring(index+1,this.href_.length)
this.getContributorsList() this.getContributorsList()
}, },


+ 1
- 1
web_src/js/components/MinioUploader.vue View File

@@ -52,7 +52,7 @@ export default {
previewTemplate += previewTemplate +=
' <span data-dz-name data-dz-thumbnail></span>'; ' <span data-dz-name data-dz-thumbnail></span>';
previewTemplate += ' </div>\n '; previewTemplate += ' </div>\n ';
previewTemplate += ' <div class="dz-size" data-dz-size></div>\n ';
previewTemplate += ' <div class="dz-size" data-dz-size style="white-space: nowrap"></div>\n ';
previewTemplate += ' </div>\n '; previewTemplate += ' </div>\n ';
previewTemplate += ' <div class="dz-progress ui active progress">'; previewTemplate += ' <div class="dz-progress ui active progress">';
previewTemplate += previewTemplate +=


+ 1
- 1
web_src/js/components/ObsUploader.vue View File

@@ -53,7 +53,7 @@ export default {
previewTemplate += previewTemplate +=
' <span data-dz-name data-dz-thumbnail></span>'; ' <span data-dz-name data-dz-thumbnail></span>';
previewTemplate += ' </div>\n '; previewTemplate += ' </div>\n ';
previewTemplate += ' <div class="dz-size" data-dz-size></div>\n ';
previewTemplate += ' <div class="dz-size" data-dz-size style="white-space: nowrap"></div>\n ';
previewTemplate += ' </div>\n '; previewTemplate += ' </div>\n ';
previewTemplate += ' <div class="dz-progress ui active progress">'; previewTemplate += ' <div class="dz-progress ui active progress">';
previewTemplate += previewTemplate +=


Loading…
Cancel
Save