Browse Source

#981

update
tags/v1.21.12.2^2
chenyifan01 3 years ago
parent
commit
71d7d2b9e0
1 changed files with 17 additions and 31 deletions
  1. +17
    -31
      routers/org/tag.go

+ 17
- 31
routers/org/tag.go View File

@@ -15,12 +15,15 @@ import (

// SubmitTags submit repos of org tag
func SubmitTags(ctx *context.Context, form auth.SubmitReposOfTagForm) {
org, tag := getOrgAndTagFromContext(ctx)
if !ctx.Org.IsOwner {
ctx.ServerError("UpdateTagReposByID", errors.New("no access to submit tags"))
return
}
tag := getTagFromContext(ctx)
if ctx.Written() {
return
}

err := models.UpdateTagReposByID(tag.ID, org.ID, form.RepoList)
err := models.UpdateTagReposByID(tag.ID, ctx.Org.Organization.ID, form.RepoList)
if err != nil {
ctx.ServerError("UpdateTagReposByID", err)
return
@@ -34,12 +37,16 @@ func SubmitTags(ctx *context.Context, form auth.SubmitReposOfTagForm) {

// GetTagRepos get repos under org tag
func GetTagRepos(ctx *context.Context) {
org, tag := getOrgAndTagFromContext(ctx)
if !ctx.Org.IsOwner {
ctx.ServerError("GetTagRepos", errors.New("no access to get tags"))
return
}
tag := getTagFromContext(ctx)
if ctx.Written() {
return
}

r, err := models.GetTagRepos(tag.ID, org.ID)
r, err := models.GetTagRepos(tag.ID, ctx.Org.Organization.ID)
if err != nil {
ctx.ServerError("GetTagRepos", err)
return
@@ -52,36 +59,15 @@ func GetTagRepos(ctx *context.Context) {
})
}

// getDashboardContextUser finds out dashboard is viewing as which context user.
func getOrgAndTagFromContext(ctx *context.Context) (*models.User, *models.OfficialTag) {

var org *models.User
// getTagFromContext finds out tag info From context.
func getTagFromContext(ctx *context.Context) *models.OfficialTag {
var tag *models.OfficialTag
var err error

orgName := ctx.Params(":org")

if len(orgName) > 0 {
// Organization.
org, err = models.GetUserByName(orgName)
if err != nil {
if models.IsErrUserNotExist(err) {
ctx.NotFound("GetUserByName", err)
} else {
ctx.ServerError("GetUserByName", err)
}
return nil, nil
}
if !org.IsOrganization() {
ctx.ServerError("GetUserByName", errors.New("it is not an organization"))
return nil, nil
}
}

tagIdStr := ctx.Query("tagId")
if len(tagIdStr) == 0 {
ctx.ServerError("GetTagInfo", errors.New("tag is not exist"))
return nil, nil
return nil
}
tagId, _ := strconv.ParseInt(tagIdStr, 10, 32)
tag, err = models.GetTagByID(tagId)
@@ -91,8 +77,8 @@ func getOrgAndTagFromContext(ctx *context.Context) (*models.User, *models.Offici
} else {
ctx.ServerError("GetTagInfo", err)
}
return nil, nil
return nil
}

return org, tag
return tag
}

Loading…
Cancel
Save