aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
authorYixin Hao <haoyixin@live.cn>2015-08-21 15:27:38 +0800
committerYixin Hao <haoyixin@live.cn>2015-08-21 15:27:38 +0800
commit50cd67cd4bf9e03a555cbf44bcd76ca12a315b97 (patch)
tree55a8e7dc63ae4a8171be2874fb3f2e285b1607ee /routers
parent78b717f202dd989f3871fccd0bc8935fe709fac1 (diff)
parent461f715ae4699557571652d9d3baec9a4438796f (diff)
Merge pull request #2 from gogits/develop
Update Develop
Diffstat (limited to 'routers')
-rw-r--r--routers/repo/commit.go26
-rw-r--r--routers/repo/setting.go7
-rw-r--r--routers/user/setting.go94
3 files changed, 61 insertions, 66 deletions
diff --git a/routers/repo/commit.go b/routers/repo/commit.go
index 5d354c4b..3dd1843c 100644
--- a/routers/repo/commit.go
+++ b/routers/repo/commit.go
@@ -9,6 +9,7 @@ import (
"path"
"github.com/Unknwon/com"
+ "github.com/Unknwon/paginater"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
@@ -44,7 +45,7 @@ func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List {
}
func Commits(ctx *middleware.Context) {
- ctx.Data["IsRepoToolbarCommits"] = true
+ ctx.Data["PageIsCommits"] = true
userName := ctx.Repo.Owner.Name
repoName := ctx.Repo.Repository.Name
@@ -64,19 +65,11 @@ func Commits(ctx *middleware.Context) {
return
}
- // Calculate and validate page number.
- page, _ := com.StrTo(ctx.Query("p")).Int()
- if page < 1 {
+ page := ctx.QueryInt("page")
+ if page <= 1 {
page = 1
}
- lastPage := page - 1
- if lastPage < 0 {
- lastPage = 0
- }
- nextPage := page + 1
- if page*50 > commitsCount {
- nextPage = 0
- }
+ ctx.Data["Page"] = paginater.New(commitsCount, git.CommitsRangeSize, page, 5)
// Both `git log branchName` and `git log commitId` work.
commits, err := ctx.Repo.Commit.CommitsByRange(page)
@@ -91,14 +84,11 @@ func Commits(ctx *middleware.Context) {
ctx.Data["Username"] = userName
ctx.Data["Reponame"] = repoName
ctx.Data["CommitCount"] = commitsCount
- ctx.Data["LastPageNum"] = lastPage
- ctx.Data["NextPageNum"] = nextPage
ctx.HTML(200, COMMITS)
}
func SearchCommits(ctx *middleware.Context) {
- ctx.Data["IsSearchPage"] = true
- ctx.Data["IsRepoToolbarCommits"] = true
+ ctx.Data["PageIsCommits"] = true
keyword := ctx.Query("q")
if len(keyword) == 0 {
@@ -199,7 +189,7 @@ func FileHistory(ctx *middleware.Context) {
}
func Diff(ctx *middleware.Context) {
- ctx.Data["IsRepoToolbarCommits"] = true
+ ctx.Data["PageIsDiff"] = true
userName := ctx.Repo.Owner.Name
repoName := ctx.Repo.Repository.Name
@@ -253,7 +243,7 @@ func Diff(ctx *middleware.Context) {
ctx.Data["Parents"] = parents
ctx.Data["DiffNotAvailable"] = diff.NumFiles() == 0
ctx.Data["SourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", commitId)
- if (commit.ParentCount() > 0) {
+ if commit.ParentCount() > 0 {
ctx.Data["BeforeSourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", parents[0])
}
ctx.Data["RawPath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "raw", commitId)
diff --git a/routers/repo/setting.go b/routers/repo/setting.go
index 551ba115..61ac6deb 100644
--- a/routers/repo/setting.go
+++ b/routers/repo/setting.go
@@ -677,6 +677,13 @@ func SettingsDeployKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
ctx.Data["Title"] = ctx.Tr("repo.settings")
ctx.Data["PageIsSettingsKeys"] = true
+ keys, err := models.ListDeployKeys(ctx.Repo.Repository.ID)
+ if err != nil {
+ ctx.Handle(500, "ListDeployKeys", err)
+ return
+ }
+ ctx.Data["Deploykeys"] = keys
+
if ctx.HasError() {
ctx.HTML(200, DEPLOY_KEYS)
return
diff --git a/routers/user/setting.go b/routers/user/setting.go
index c8b9f130..8afc56ac 100644
--- a/routers/user/setting.go
+++ b/routers/user/setting.go
@@ -269,12 +269,12 @@ func SettingsSSHKeys(ctx *middleware.Context) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsSSHKeys"] = true
- var err error
- ctx.Data["Keys"], err = models.ListPublicKeys(ctx.User.Id)
+ keys, err := models.ListPublicKeys(ctx.User.Id)
if err != nil {
- ctx.Handle(500, "ssh.ListPublicKey", err)
+ ctx.Handle(500, "ListPublicKeys", err)
return
}
+ ctx.Data["Keys"] = keys
ctx.HTML(200, SETTINGS_SSH_KEYS)
}
@@ -283,66 +283,58 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsSSHKeys"] = true
- var err error
- ctx.Data["Keys"], err = models.ListPublicKeys(ctx.User.Id)
+ keys, err := models.ListPublicKeys(ctx.User.Id)
if err != nil {
- ctx.Handle(500, "ssh.ListPublicKey", err)
+ ctx.Handle(500, "ListPublicKeys", err)
return
}
+ ctx.Data["Keys"] = keys
- // Delete SSH key.
- if ctx.Query("_method") == "DELETE" {
- id := com.StrTo(ctx.Query("id")).MustInt64()
- if id <= 0 {
- return
- }
+ if ctx.HasError() {
+ ctx.HTML(200, SETTINGS_SSH_KEYS)
+ return
+ }
- if err = models.DeletePublicKey(&models.PublicKey{ID: id}); err != nil {
- ctx.Handle(500, "DeletePublicKey", err)
+ content, err := models.CheckPublicKeyString(form.Content)
+ if err != nil {
+ if err == models.ErrKeyUnableVerify {
+ ctx.Flash.Info(ctx.Tr("form.unable_verify_ssh_key"))
} else {
- log.Trace("SSH key deleted: %s", ctx.User.Name)
+ ctx.Flash.Error(ctx.Tr("form.invalid_ssh_key", err.Error()))
ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
+ return
}
- return
}
- // Add new SSH key.
- if ctx.Req.Method == "POST" {
- if ctx.HasError() {
- ctx.HTML(200, SETTINGS_SSH_KEYS)
- return
+ if err = models.AddPublicKey(ctx.User.Id, form.Title, content); err != nil {
+ ctx.Data["HasError"] = true
+ switch {
+ case models.IsErrKeyAlreadyExist(err):
+ ctx.Data["Err_Content"] = true
+ ctx.RenderWithErr(ctx.Tr("settings.ssh_key_been_used"), SETTINGS_SSH_KEYS, &form)
+ case models.IsErrKeyNameAlreadyUsed(err):
+ ctx.Data["Err_Title"] = true
+ ctx.RenderWithErr(ctx.Tr("settings.ssh_key_name_used"), SETTINGS_SSH_KEYS, &form)
+ default:
+ ctx.Handle(500, "AddPublicKey", err)
}
+ return
+ }
- content, err := models.CheckPublicKeyString(form.Content)
- if err != nil {
- if err == models.ErrKeyUnableVerify {
- ctx.Flash.Info(ctx.Tr("form.unable_verify_ssh_key"))
- } else {
- ctx.Flash.Error(ctx.Tr("form.invalid_ssh_key", err.Error()))
- ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
- return
- }
- }
+ ctx.Flash.Success(ctx.Tr("settings.add_key_success", form.Title))
+ ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
+}
- if err = models.AddPublicKey(ctx.User.Id, form.Title, content); err != nil {
- switch {
- case models.IsErrKeyAlreadyExist(err):
- ctx.RenderWithErr(ctx.Tr("settings.ssh_key_been_used"), SETTINGS_SSH_KEYS, &form)
- case models.IsErrKeyNameAlreadyUsed(err):
- ctx.RenderWithErr(ctx.Tr("settings.ssh_key_name_used"), SETTINGS_SSH_KEYS, &form)
- default:
- ctx.Handle(500, "AddPublicKey", err)
- }
- return
- } else {
- log.Trace("SSH key added: %s", ctx.User.Name)
- ctx.Flash.Success(ctx.Tr("settings.add_key_success", form.Title))
- ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
- return
- }
+func DeleteSSHKey(ctx *middleware.Context) {
+ if err := models.DeletePublicKey(ctx.QueryInt64("id")); err != nil {
+ ctx.Flash.Error("DeletePublicKey: " + err.Error())
+ } else {
+ ctx.Flash.Success(ctx.Tr("settings.ssh_key_deletion_success"))
}
- ctx.HTML(200, SETTINGS_SSH_KEYS)
+ ctx.JSON(200, map[string]interface{}{
+ "redirect": setting.AppSubUrl + "/user/settings/ssh",
+ })
}
func SettingsSocial(ctx *middleware.Context) {
@@ -389,6 +381,12 @@ func SettingsApplicationsPost(ctx *middleware.Context, form auth.NewAccessTokenF
ctx.Data["PageIsSettingsApplications"] = true
if ctx.HasError() {
+ tokens, err := models.ListAccessTokens(ctx.User.Id)
+ if err != nil {
+ ctx.Handle(500, "ListAccessTokens", err)
+ return
+ }
+ ctx.Data["Tokens"] = tokens
ctx.HTML(200, SETTINGS_APPLICATIONS)
return
}