diff options
author | zeripath <art27@cantab.net> | 2022-03-22 19:54:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-22 19:54:24 +0000 |
commit | d2c165811a1bad081b2e99ca580e3bdbb18171f0 (patch) | |
tree | 25b9381bd920f347e4c2cce095741c3b0c8be780 | |
parent | 461068cfa14bce6c1d6e24a6dc84b7ea0ac60080 (diff) | |
download | gitea-d2c165811a1bad081b2e99ca580e3bdbb18171f0.tar.gz gitea-d2c165811a1bad081b2e99ca580e3bdbb18171f0.zip |
Use the new/choose link for New Issue on project page (#19172)
Extend issues/new/choose to pass the project id and change New Issue
link on project page to use new/choose
Fix #19170
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
-rw-r--r-- | routers/web/repo/issue.go | 11 | ||||
-rw-r--r-- | templates/repo/issue/choose.tmpl | 4 | ||||
-rw-r--r-- | templates/repo/projects/view.tmpl | 2 |
3 files changed, 12 insertions, 5 deletions
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index e51631a721..adf7e93eac 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -843,12 +843,19 @@ func NewIssue(ctx *context.Context) { func NewIssueChooseTemplate(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.issues.new") ctx.Data["PageIsIssueList"] = true - ctx.Data["milestone"] = ctx.FormInt64("milestone") issueTemplates := ctx.IssueTemplatesFromDefaultBranch() - ctx.Data["NewIssueChooseTemplate"] = len(issueTemplates) > 0 ctx.Data["IssueTemplates"] = issueTemplates + if len(issueTemplates) == 0 { + // The "issues/new" and "issues/new/choose" share the same query parameters "project" and "milestone", if no template here, just redirect to the "issues/new" page with these parameters. + ctx.Redirect(fmt.Sprintf("%s/issues/new?%s", ctx.Repo.Repository.HTMLURL(), ctx.Req.URL.RawQuery), http.StatusSeeOther) + return + } + + ctx.Data["milestone"] = ctx.FormInt64("milestone") + ctx.Data["project"] = ctx.FormInt64("project") + ctx.HTML(http.StatusOK, tplIssueChoose) } diff --git a/templates/repo/issue/choose.tmpl b/templates/repo/issue/choose.tmpl index 0cec1ef63c..4a26e4f689 100644 --- a/templates/repo/issue/choose.tmpl +++ b/templates/repo/issue/choose.tmpl @@ -14,7 +14,7 @@ <br/>{{.About | RenderEmojiPlain}} </div> <div class="column right aligned"> - <a href="{{$.RepoLink}}/issues/new?template={{.FileName}}{{if $.milestone}}&milestone={{$.milestone}}{{end}}" class="ui green button">{{$.i18n.Tr "repo.issues.choose.get_started"}}</a> + <a href="{{$.RepoLink}}/issues/new?template={{.FileName}}{{if $.milestone}}&milestone={{$.milestone}}{{end}}{{if $.project}}&project={{$.project}}{{end}}" class="ui green button">{{$.i18n.Tr "repo.issues.choose.get_started"}}</a> </div> </div> </div> @@ -26,7 +26,7 @@ <br/>{{.i18n.Tr "repo.issues.choose.blank_about"}} </div> <div class="column right aligned"> - <a href="{{.RepoLink}}/issues/new{{if .milestone}}?milestone={{.milestone}}{{end}}" class="ui green button">{{$.i18n.Tr "repo.issues.choose.get_started"}}</a> + <a href="{{.RepoLink}}/issues/new?{{if .milestone}}&milestone={{.milestone}}{{end}}{{if $.project}}&project={{$.project}}{{end}}" class="ui green button">{{$.i18n.Tr "repo.issues.choose.get_started"}}</a> </div> </div> </div> diff --git a/templates/repo/projects/view.tmpl b/templates/repo/projects/view.tmpl index e96b92fb77..4ca21cc38e 100644 --- a/templates/repo/projects/view.tmpl +++ b/templates/repo/projects/view.tmpl @@ -8,7 +8,7 @@ </div> <div class="column right aligned"> {{if and .CanWriteProjects (not .Repository.IsArchived)}} - <a class="ui green button show-modal item" href="{{$.RepoLink}}/issues/new?project={{$.Project.ID}}">{{.i18n.Tr "repo.issues.new"}}</a> + <a class="ui green button show-modal item" href="{{$.RepoLink}}/issues/new/choose?project={{$.Project.ID}}">{{.i18n.Tr "repo.issues.new"}}</a> <a class="ui green button show-modal item" data-modal="#new-board-item">{{.i18n.Tr "new_project_board"}}</a> {{end}} <div class="ui small modal new-board-modal" id="new-board-item"> |