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