diff options
author | Yixin Hao <haoyixin@live.cn> | 2015-08-21 15:27:38 +0800 |
---|---|---|
committer | Yixin Hao <haoyixin@live.cn> | 2015-08-21 15:27:38 +0800 |
commit | 50cd67cd4bf9e03a555cbf44bcd76ca12a315b97 (patch) | |
tree | 55a8e7dc63ae4a8171be2874fb3f2e285b1607ee /routers | |
parent | 78b717f202dd989f3871fccd0bc8935fe709fac1 (diff) | |
parent | 461f715ae4699557571652d9d3baec9a4438796f (diff) |
Merge pull request #2 from gogits/develop
Update Develop
Diffstat (limited to 'routers')
-rw-r--r-- | routers/repo/commit.go | 26 | ||||
-rw-r--r-- | routers/repo/setting.go | 7 | ||||
-rw-r--r-- | routers/user/setting.go | 94 |
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 } |