aboutsummaryrefslogtreecommitdiff
path: root/routers/web/org/projects.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/web/org/projects.go')
-rw-r--r--routers/web/org/projects.go30
1 files changed, 18 insertions, 12 deletions
diff --git a/routers/web/org/projects.go b/routers/web/org/projects.go
index 6449d12de..c9d63fec5 100644
--- a/routers/web/org/projects.go
+++ b/routers/web/org/projects.go
@@ -103,7 +103,7 @@ func Projects(ctx *context.Context) {
pager.AddParam(ctx, "state", "State")
ctx.Data["Page"] = pager
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
ctx.Data["IsShowClosed"] = isShowClosed
ctx.Data["PageIsViewProjects"] = true
ctx.Data["SortType"] = sortType
@@ -111,7 +111,7 @@ func Projects(ctx *context.Context) {
ctx.HTML(http.StatusOK, tplProjects)
}
-func canWriteUnit(ctx *context.Context) bool {
+func canWriteProjects(ctx *context.Context) bool {
if ctx.ContextUser.IsOrganization() {
return ctx.Org.CanWriteUnit(ctx, unit.TypeProjects)
}
@@ -122,7 +122,8 @@ func canWriteUnit(ctx *context.Context) bool {
func NewProject(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("repo.projects.new")
ctx.Data["BoardTypes"] = project_model.GetBoardConfig()
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
+ ctx.Data["PageIsViewProjects"] = true
ctx.Data["HomeLink"] = ctx.ContextUser.HomeLink()
shared_user.RenderUserHeader(ctx)
ctx.HTML(http.StatusOK, tplProjectsNew)
@@ -135,7 +136,7 @@ func NewProjectPost(ctx *context.Context) {
shared_user.RenderUserHeader(ctx)
if ctx.HasError() {
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
ctx.Data["PageIsViewProjects"] = true
ctx.Data["BoardTypes"] = project_model.GetBoardConfig()
ctx.HTML(http.StatusOK, tplProjectsNew)
@@ -193,7 +194,7 @@ func DeleteProject(ctx *context.Context) {
}
return
}
- if p.RepoID != ctx.Repo.Repository.ID {
+ if p.OwnerID != ctx.ContextUser.ID {
ctx.NotFound("", nil)
return
}
@@ -205,7 +206,7 @@ func DeleteProject(ctx *context.Context) {
}
ctx.JSON(http.StatusOK, map[string]interface{}{
- "redirect": ctx.Repo.RepoLink + "/projects",
+ "redirect": ctx.ContextUser.HomeLink() + "/-/projects",
})
}
@@ -214,7 +215,7 @@ func EditProject(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("repo.projects.edit")
ctx.Data["PageIsEditProjects"] = true
ctx.Data["PageIsViewProjects"] = true
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
shared_user.RenderUserHeader(ctx)
p, err := project_model.GetProjectByID(ctx, ctx.ParamsInt64(":id"))
@@ -226,13 +227,14 @@ func EditProject(ctx *context.Context) {
}
return
}
- if p.RepoID != ctx.Repo.Repository.ID {
+ if p.OwnerID != ctx.ContextUser.ID {
ctx.NotFound("", nil)
return
}
ctx.Data["title"] = p.Title
ctx.Data["content"] = p.Description
+ ctx.Data["redirect"] = ctx.FormString("redirect")
ctx.HTML(http.StatusOK, tplProjectsNew)
}
@@ -243,7 +245,7 @@ func EditProjectPost(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("repo.projects.edit")
ctx.Data["PageIsEditProjects"] = true
ctx.Data["PageIsViewProjects"] = true
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
shared_user.RenderUserHeader(ctx)
if ctx.HasError() {
@@ -260,7 +262,7 @@ func EditProjectPost(ctx *context.Context) {
}
return
}
- if p.RepoID != ctx.Repo.Repository.ID {
+ if p.OwnerID != ctx.ContextUser.ID {
ctx.NotFound("", nil)
return
}
@@ -273,7 +275,11 @@ func EditProjectPost(ctx *context.Context) {
}
ctx.Flash.Success(ctx.Tr("repo.projects.edit_success", p.Title))
- ctx.Redirect(ctx.Repo.RepoLink + "/projects")
+ if ctx.FormString("redirect") == "project" {
+ ctx.Redirect(p.Link())
+ } else {
+ ctx.Redirect(ctx.ContextUser.HomeLink() + "/-/projects")
+ }
}
// ViewProject renders the project board for a project
@@ -332,7 +338,7 @@ func ViewProject(ctx *context.Context) {
project.RenderedContent = project.Description
ctx.Data["LinkedPRs"] = linkedPrsMap
ctx.Data["PageIsViewProjects"] = true
- ctx.Data["CanWriteProjects"] = canWriteUnit(ctx)
+ ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)
ctx.Data["Project"] = project
ctx.Data["IssuesMap"] = issuesMap
ctx.Data["Boards"] = boards