mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 07:43:18 -05:00
add milestone list page
This commit is contained in:
parent
8ca14e2109
commit
d76772adb9
5 changed files with 101 additions and 4 deletions
|
@ -184,6 +184,7 @@ func runWeb(*cli.Context) {
|
||||||
r.Get("/issues/new", repo.CreateIssue)
|
r.Get("/issues/new", repo.CreateIssue)
|
||||||
r.Post("/issues/new", bindIgnErr(auth.CreateIssueForm{}), repo.CreateIssuePost)
|
r.Post("/issues/new", bindIgnErr(auth.CreateIssueForm{}), repo.CreateIssuePost)
|
||||||
r.Post("/issues/:index", bindIgnErr(auth.CreateIssueForm{}), repo.UpdateIssue)
|
r.Post("/issues/:index", bindIgnErr(auth.CreateIssueForm{}), repo.UpdateIssue)
|
||||||
|
r.Get("/issues/milestones", repo.Milestones)
|
||||||
r.Post("/comment/:action", repo.Comment)
|
r.Post("/comment/:action", repo.Comment)
|
||||||
r.Get("/releases/new", repo.ReleasesNew)
|
r.Get("/releases/new", repo.ReleasesNew)
|
||||||
}, reqSignIn, middleware.RepoAssignment(true))
|
}, reqSignIn, middleware.RepoAssignment(true))
|
||||||
|
|
|
@ -706,6 +706,16 @@ html, body {
|
||||||
height: 39px;
|
height: 39px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#repo-toolbar .nav .tmp {
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#repo-toolbar .nav .tmp a {
|
||||||
|
display: inline-block;
|
||||||
|
padding-left: 6px;
|
||||||
|
padding-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
#repo-toolbar .nav .tmp a:hover {
|
#repo-toolbar .nav .tmp a:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
@ -1251,12 +1261,12 @@ html, body {
|
||||||
border-color: #CCC;
|
border-color: #CCC;
|
||||||
}
|
}
|
||||||
|
|
||||||
#issue .filter-list a:hover {
|
#issue .filter-list li a:hover {
|
||||||
background-color: #DDD;
|
background-color: #DDD;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#issue .filter-list a.active {
|
#issue .filter-list li a.active {
|
||||||
background-color: #4183c4;
|
background-color: #4183c4;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
|
@ -1409,6 +1419,28 @@ html, body {
|
||||||
margin: 0 .8em;
|
margin: 0 .8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#issue .milestone-item .actions {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#issue .milestone-item .actions a {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#issue .milestone-item hr {
|
||||||
|
width: 100%;
|
||||||
|
padding-top: 8px;
|
||||||
|
margin-top: 48px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#issue .milestone-item .label{
|
||||||
|
margin-top: 8px;
|
||||||
|
float: left;
|
||||||
|
padding: .5em;
|
||||||
|
margin-left: .8em;
|
||||||
|
}
|
||||||
|
|
||||||
/* wrapper and footer */
|
/* wrapper and footer */
|
||||||
|
|
||||||
#wrapper {
|
#wrapper {
|
||||||
|
|
|
@ -331,3 +331,11 @@ func Comment(ctx *middleware.Context, params martini.Params) {
|
||||||
|
|
||||||
ctx.Redirect(fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, index))
|
ctx.Redirect(fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, index))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Milestones(ctx *middleware.Context) {
|
||||||
|
ctx.Data["Title"] = "Milestones"
|
||||||
|
ctx.Data["IsRepoToolbarIssues"] = true
|
||||||
|
ctx.Data["IsRepoToolbarIssuesList"] = true
|
||||||
|
|
||||||
|
ctx.HTML(200, "issue/milestone")
|
||||||
|
}
|
||||||
|
|
54
templates/issue/milestone.tmpl
Normal file
54
templates/issue/milestone.tmpl
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{{template "base/head" .}}
|
||||||
|
{{template "base/navbar" .}}
|
||||||
|
{{template "repo/nav" .}}
|
||||||
|
{{template "repo/toolbar" .}}
|
||||||
|
<div id="body" class="container">
|
||||||
|
<div id="issue">
|
||||||
|
<div class="col-md-3 filter-list">
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a href="{{.RepoLink}}/issues/milestones" class="active">Open Milestones <strong class="pull-right">1</strong></a></li>
|
||||||
|
<!-- <li><a href="#">Assigned to you</a></li> -->
|
||||||
|
<li><a href="{{.RepoLink}}/issues/milestones">Close Milestones <strong class="pull-right">0</strong></a></li>
|
||||||
|
<!-- <li><a href="#">Mentioned</a></li> -->
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
<a href="{{.RepoLink}}/issues/milestones/new" class="text-center">
|
||||||
|
<button class="btn btn-default btn-block">Create new milestone</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<div class="milestones list-group">
|
||||||
|
<div class="list-group-item milestone-item">
|
||||||
|
<h4 class="title pull-left"><a href="#">Milestone Title</a></h4>
|
||||||
|
<span class="issue-open label label-success">12</span>
|
||||||
|
<span class="issue-close label label-warning">2</span>
|
||||||
|
<p class="actions pull-right">
|
||||||
|
<a href="#">Edit</a>
|
||||||
|
<a href="#">Open</a>
|
||||||
|
<a href="#">Close</a>
|
||||||
|
<a class="text-danger" href="#">Delete</a>
|
||||||
|
<a href="#">Issues</a>
|
||||||
|
</p>
|
||||||
|
<hr/>
|
||||||
|
<p class="description">In this version of release, users are able to register and log in/out on Gogs, setting up SSH keys and do most of Git operations through SSH with public repositories. And Web UI only for view of Git data, no extra features are supported.</p>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item milestone-item">
|
||||||
|
<h4 class="title pull-left"><a href="#">Milestone Title</a></h4>
|
||||||
|
<span class="issue-open label label-success">12</span>
|
||||||
|
<span class="issue-close label label-warning">2</span>
|
||||||
|
<p class="actions pull-right">
|
||||||
|
<a href="#">Edit</a>
|
||||||
|
<a href="#">Open</a>
|
||||||
|
<a href="#">Close</a>
|
||||||
|
<a class="text-danger" href="#">Delete</a>
|
||||||
|
<a href="#">Issues</a>
|
||||||
|
</p>
|
||||||
|
<hr/>
|
||||||
|
<p class="description">In this version of release, users are able to register and log in/out on Gogs, setting up SSH keys and do most of Git operations through SSH with public repositories. And Web UI only for view of Git data, no extra features are supported.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{template "base/footer" .}}
|
|
@ -10,8 +10,10 @@
|
||||||
<!-- <li class="{{if .IsRepoToolbarPulls}}active{{end}}"><a href="{{.RepoLink}}/pulls">Pull Requests</a></li> -->
|
<!-- <li class="{{if .IsRepoToolbarPulls}}active{{end}}"><a href="{{.RepoLink}}/pulls">Pull Requests</a></li> -->
|
||||||
<li class="{{if .IsRepoToolbarIssues}}active{{end}}"><a href="{{.RepoLink}}/issues">{{if .Repository.NumOpenIssues}}<span class="badge">{{.Repository.NumOpenIssues}}</span> {{end}}Issues <!--<span class="badge">42</span>--></a></li>
|
<li class="{{if .IsRepoToolbarIssues}}active{{end}}"><a href="{{.RepoLink}}/issues">{{if .Repository.NumOpenIssues}}<span class="badge">{{.Repository.NumOpenIssues}}</span> {{end}}Issues <!--<span class="badge">42</span>--></a></li>
|
||||||
{{if .IsRepoToolbarIssues}}
|
{{if .IsRepoToolbarIssues}}
|
||||||
<li class="tmp">{{if .IsRepoToolbarIssuesList}}<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button>
|
<li class="tmp">{{if .IsRepoToolbarIssuesList}}
|
||||||
</a>{{end}}</li>
|
<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button></a>
|
||||||
|
<a href="{{.RepoLink}}/issues/milestones"><button class="btn btn-success btn-sm">Milestones</button></a>
|
||||||
|
{{end}}</li>
|
||||||
{{end}}
|
{{end}}
|
||||||
<li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumTags}}<span class="badge">{{.Repository.NumTags}}</span> {{end}}Releases</a></li>
|
<li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumTags}}<span class="badge">{{.Repository.NumTags}}</span> {{end}}Releases</a></li>
|
||||||
{{if .IsRepoToolbarReleases}}{{if .IsRepositoryOwner}}{{if not .IsRepoReleaseNew}}
|
{{if .IsRepoToolbarReleases}}{{if .IsRepositoryOwner}}{{if not .IsRepoReleaseNew}}
|
||||||
|
|
Loading…
Reference in a new issue