]> source.dussan.org Git - gitea.git/commitdiff
Add release tmpl
authorUnknown <joe2010xtmf@163.com>
Wed, 2 Apr 2014 16:43:31 +0000 (12:43 -0400)
committerUnknown <joe2010xtmf@163.com>
Wed, 2 Apr 2014 16:43:31 +0000 (12:43 -0400)
models/git.go
models/repo.go
modules/middleware/repo.go
routers/repo/issue.go
routers/repo/release.go [new file with mode: 0644]
templates/release/list.tmpl [new file with mode: 0644]
templates/repo/toolbar.tmpl
web.go

index d3bad6e0ce498df8bff55c98523d99622451a729..46345d0ffc8d3cede32bdaf354d408ac8739dce7 100644 (file)
@@ -56,6 +56,25 @@ func GetBranches(userName, repoName string) ([]string, error) {
        return brs, nil
 }
 
+// GetTags returns all tags of given repository.
+func GetTags(userName, repoName string) ([]string, error) {
+       repo, err := git.OpenRepository(RepoPath(userName, repoName))
+       if err != nil {
+               return nil, err
+       }
+
+       refs, err := repo.AllTags()
+       if err != nil {
+               return nil, err
+       }
+
+       tags := make([]string, len(refs))
+       for i, ref := range refs {
+               tags[i] = ref.Name
+       }
+       return tags, nil
+}
+
 func IsBranchExist(userName, repoName, branchName string) bool {
        repo, err := git.OpenRepository(RepoPath(userName, repoName))
        if err != nil {
index 8dd7da23f1817943f8d2f77bf9a4d888c8c50331..e3270b1838732bf52a7c8672bf80b53d1c93a2e9 100644 (file)
@@ -74,6 +74,7 @@ type Repository struct {
        NumStars        int
        NumForks        int
        NumIssues       int
+       NumReleases     int `xorm:"NOT NULL"`
        NumClosedIssues int
        NumOpenIssues   int `xorm:"-"`
        IsPrivate       bool
index f446d6a85bb2a6cd8255f683e85381e1817e62c4..2139742c700304d23738ffc4e66900dab4ce85b4 100644 (file)
@@ -79,6 +79,7 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler {
                        ctx.Handle(404, "RepoAssignment", err)
                        return
                }
+               repo.NumOpenIssues = repo.NumIssues - repo.NumClosedIssues
                ctx.Repo.Repository = repo
 
                ctx.Data["IsBareRepo"] = ctx.Repo.Repository.IsBare
index 41b2c7e9b14dd86b79161e63fa9062619c09e518..be92542641cf15bf2e23bf440565b405507c8351 100644 (file)
@@ -74,7 +74,7 @@ func Issues(ctx *middleware.Context) {
 
        ctx.Data["Issues"] = showIssues
        ctx.Data["IssueCount"] = ctx.Repo.Repository.NumIssues
-       ctx.Data["OpenCount"] = ctx.Repo.Repository.NumIssues - ctx.Repo.Repository.NumClosedIssues
+       ctx.Data["OpenCount"] = ctx.Repo.Repository.NumOpenIssues
        ctx.Data["ClosedCount"] = ctx.Repo.Repository.NumClosedIssues
        ctx.Data["IssueCreatedCount"] = createdByCount
        ctx.Data["IsShowClosed"] = ctx.Query("state") == "closed"
diff --git a/routers/repo/release.go b/routers/repo/release.go
new file mode 100644 (file)
index 0000000..8e8b93c
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package repo
+
+import (
+       "github.com/gogits/gogs/models"
+       "github.com/gogits/gogs/modules/middleware"
+)
+
+func Releases(ctx *middleware.Context) {
+       ctx.Data["Title"] = "Releases"
+       ctx.Data["IsRepoToolbarReleases"] = true
+       tags, err := models.GetTags(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name)
+       if err != nil {
+               ctx.Handle(404, "repo.Releases(GetTags)", err)
+               return
+       }
+       ctx.Data["Releases"] = tags
+       ctx.HTML(200, "release/list")
+}
diff --git a/templates/release/list.tmpl b/templates/release/list.tmpl
new file mode 100644 (file)
index 0000000..7d582e3
--- /dev/null
@@ -0,0 +1,10 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+{{template "repo/nav" .}}
+{{template "repo/toolbar" .}}
+<div id="body" class="container">
+    {{range .Releases}}
+        {{.}}
+    {{end}}
+</div>
+{{template "base/footer" .}}
\ No newline at end of file
index 6b48ecf506bce3476abf921f2b42b23eb7b73d79..08167ef82ba3dcd5a691b22271e41953572d6186 100644 (file)
@@ -8,18 +8,15 @@
                     <li class="{{if .IsRepoToolbarCommits}}active{{end}}"><a href="{{.RepoLink}}/commits/{{if .BranchName}}{{.BranchName}}{{else}}master{{end}}">Commits</a></li>
                     <!-- <li class="{{if .IsRepoToolbarBranches}}active{{end}}"><a href="{{.RepoLink}}/branches">Branches</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">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}}
-                    <li class="tmp">{{if .IsRepoToolbarIssuesList}}<a href="{{.RepoLink}}/issues/new">
-                        <button class="btn btn-primary btn-sm">New Issue</button>
-                    </a>{{else}}<a href="{{.RepoLink}}/issues">
-                        <button class="btn btn-primary btn-sm">Issues List</button>
-                    </a>{{end}}</li>
+                    <li class="tmp">{{if .IsRepoToolbarIssuesList}}<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button>
+                    </a>{{else}}<a href="{{.RepoLink}}/issues"><button class="btn btn-primary btn-sm">Issues List</button></a>{{end}}</li>
                     {{end}}
+                    <li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumReleases}}<span class="badge">{{.Repository.NumReleases}}</span> {{end}}Releases</a></li>
                     <!-- <li class="dropdown">
                         <a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
                         <ul class="dropdown-menu">
-                            <li><a href="{{.RepoLink}}/release">Release</a></li>
                             <li><a href="{{.RepoLink}}/wiki">Wiki</a></li>
                         </ul>
                     </li> -->{{end}}
diff --git a/web.go b/web.go
index ececd6c2b38f94695e770ec6c49eb8539a0c223f..5fc3350f1f1c84647f228509c1372775f2c1cca0 100644 (file)
--- a/web.go
+++ b/web.go
@@ -147,6 +147,7 @@ func runWeb(*cli.Context) {
        m.Group("/:username/:reponame", func(r martini.Router) {
                r.Get("/issues", repo.Issues)
                r.Get("/issues/:index", repo.ViewIssue)
+               r.Get("/releases", repo.Releases)
                r.Get("/pulls", repo.Pulls)
                r.Get("/branches", repo.Branches)
        }, ignSignIn, middleware.RepoAssignment(true))