diff options
author | Unknwon <u@gogs.io> | 2015-11-10 16:46:17 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-11-10 16:46:17 -0500 |
commit | 3b62a0fe0edad32c201ca0fce9b39bc540f6d5f4 (patch) | |
tree | 5c1071ab65ce2c0d3383ca3f25e88d06ef62de0a /routers/repo/commit.go | |
parent | 2db785b3ed0c65bbf2769abf34aae0976b3c4159 (diff) | |
download | gitea-3b62a0fe0edad32c201ca0fce9b39bc540f6d5f4.tar.gz gitea-3b62a0fe0edad32c201ca0fce9b39bc540f6d5f4.zip |
fix #1572 fix file histrory paging issue
Diffstat (limited to 'routers/repo/commit.go')
-rw-r--r-- | routers/repo/commit.go | 83 |
1 files changed, 19 insertions, 64 deletions
diff --git a/routers/repo/commit.go b/routers/repo/commit.go index d0dd01de88..101cb5c557 100644 --- a/routers/repo/commit.go +++ b/routers/repo/commit.go @@ -8,7 +8,6 @@ import ( "container/list" "path" - "github.com/Unknwon/com" "github.com/Unknwon/paginater" "github.com/gogits/gogs/models" @@ -46,18 +45,6 @@ func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { func Commits(ctx *middleware.Context) { ctx.Data["PageIsCommits"] = true - userName := ctx.Repo.Owner.Name - repoName := ctx.Repo.Repository.Name - - brs, err := ctx.Repo.GitRepo.GetBranches() - if err != nil { - ctx.Handle(500, "GetBranches", err) - return - } else if len(brs) == 0 { - ctx.Handle(404, "GetBranches", nil) - return - } - commitsCount, err := ctx.Repo.Commit.CommitsCount() if err != nil { ctx.Handle(500, "GetCommitsCount", err) @@ -78,11 +65,12 @@ func Commits(ctx *middleware.Context) { } commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) - ctx.Data["Commits"] = commits - ctx.Data["Username"] = userName - ctx.Data["Reponame"] = repoName + + ctx.Data["Username"] = ctx.Repo.Owner.Name + ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commitsCount + ctx.Data["Branch"] = ctx.Repo.BranchName ctx.HTML(200, COMMITS) } @@ -95,18 +83,6 @@ func SearchCommits(ctx *middleware.Context) { return } - userName := ctx.Params(":username") - repoName := ctx.Params(":reponame") - - brs, err := ctx.Repo.GitRepo.GetBranches() - if err != nil { - ctx.Handle(500, "GetBranches", err) - return - } else if len(brs) == 0 { - ctx.Handle(404, "GetBranches", nil) - return - } - commits, err := ctx.Repo.Commit.SearchCommits(keyword) if err != nil { ctx.Handle(500, "SearchCommits", err) @@ -114,12 +90,13 @@ func SearchCommits(ctx *middleware.Context) { } commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) + ctx.Data["Commits"] = commits ctx.Data["Keyword"] = keyword - ctx.Data["Username"] = userName - ctx.Data["Reponame"] = repoName + ctx.Data["Username"] = ctx.Repo.Owner.Name + ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commits.Len() - ctx.Data["Commits"] = commits + ctx.Data["Branch"] = ctx.Repo.BranchName ctx.HTML(200, COMMITS) } @@ -132,58 +109,36 @@ func FileHistory(ctx *middleware.Context) { return } - userName := ctx.Repo.Owner.Name - repoName := ctx.Repo.Repository.Name branchName := ctx.Repo.BranchName - - brs, err := ctx.Repo.GitRepo.GetBranches() - if err != nil { - ctx.Handle(500, "GetBranches", err) - return - } else if len(brs) == 0 { - ctx.Handle(404, "GetBranches", nil) - return - } - commitsCount, err := ctx.Repo.GitRepo.FileCommitsCount(branchName, fileName) if err != nil { - ctx.Handle(500, "repo.FileHistory(GetCommitsCount)", err) + ctx.Handle(500, "FileCommitsCount", err) return } else if commitsCount == 0 { - ctx.Handle(404, "repo.FileHistory", nil) + ctx.Handle(404, "FileCommitsCount", nil) return } - // Calculate and validate page number. - page := com.StrTo(ctx.Query("p")).MustInt() - if page < 1 { + page := ctx.QueryInt("page") + if page <= 1 { page = 1 } - lastPage := page - 1 - if lastPage < 0 { - lastPage = 0 - } - nextPage := page + 1 - if nextPage*50 > commitsCount { - nextPage = 0 - } + ctx.Data["Page"] = paginater.New(commitsCount, git.CommitsRangeSize, page, 5) - commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange( - branchName, fileName, page) + commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange(branchName, fileName, page) if err != nil { - ctx.Handle(500, "repo.FileHistory(CommitsByRange)", err) + ctx.Handle(500, "CommitsByFileAndRange", err) return } commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) - ctx.Data["Commits"] = commits - ctx.Data["Username"] = userName - ctx.Data["Reponame"] = repoName + + ctx.Data["Username"] = ctx.Repo.Owner.Name + ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["FileName"] = fileName ctx.Data["CommitCount"] = commitsCount - ctx.Data["LastPageNum"] = lastPage - ctx.Data["NextPageNum"] = nextPage + ctx.Data["Branch"] = branchName ctx.HTML(200, COMMITS) } |