diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-08-29 20:50:43 +0800 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-08-29 20:50:43 +0800 |
commit | d2aff9a46a20bfd5345fec8a88d2638997a833c0 (patch) | |
tree | f655789858cc809b080bcd49ee75824384e550a5 /routers | |
parent | 904bf1a50b021798344f8e124439bdd6a4db9cfc (diff) |
Continue working on new admin pages
Diffstat (limited to 'routers')
-rw-r--r-- | routers/admin/admin.go | 44 | ||||
-rw-r--r-- | routers/admin/auths.go (renamed from routers/admin/auth.go) | 78 | ||||
-rw-r--r-- | routers/admin/orgs.go | 32 | ||||
-rw-r--r-- | routers/admin/repos.go | 32 | ||||
-rw-r--r-- | routers/admin/users.go | 20 |
5 files changed, 120 insertions, 86 deletions
diff --git a/routers/admin/admin.go b/routers/admin/admin.go index 75dbf271..b2c932c9 100644 --- a/routers/admin/admin.go +++ b/routers/admin/admin.go @@ -23,8 +23,6 @@ import ( const ( DASHBOARD base.TplName = "admin/dashboard" - REPOS base.TplName = "admin/repos" - AUTHS base.TplName = "admin/auths" CONFIG base.TplName = "admin/config" MONITOR_PROCESS base.TplName = "admin/monitor/process" MONITOR_CRON base.TplName = "admin/monitor/cron" @@ -156,48 +154,6 @@ func Dashboard(ctx *middleware.Context) { ctx.HTML(200, DASHBOARD) } -func Repositories(ctx *middleware.Context) { - ctx.Data["Title"] = "Repository Management" - ctx.Data["PageIsRepos"] = true - - p := com.StrTo(ctx.Query("p")).MustInt() - if p < 1 { - p = 1 - } - pageNum := 50 - count := models.CountRepositories() - curCount := int64((p-1)*pageNum + pageNum) - if curCount > count { - p = int(count) / pageNum - } else if count > curCount { - ctx.Data["NextPageNum"] = p + 1 - } - if p > 1 { - ctx.Data["LastPageNum"] = p - 1 - } - - var err error - ctx.Data["Repos"], err = models.GetRepositoriesWithUsers(pageNum, (p-1)*pageNum) - if err != nil { - ctx.Handle(500, "admin.Repositories", err) - return - } - ctx.HTML(200, REPOS) -} - -func Auths(ctx *middleware.Context) { - ctx.Data["Title"] = "Auth Sources" - ctx.Data["PageIsAuths"] = true - - var err error - ctx.Data["Sources"], err = models.GetAuths() - if err != nil { - ctx.Handle(500, "admin.Auths", err) - return - } - ctx.HTML(200, AUTHS) -} - func Config(ctx *middleware.Context) { ctx.Data["Title"] = "Server Configuration" ctx.Data["PageIsConfig"] = true diff --git a/routers/admin/auth.go b/routers/admin/auths.go index 44af9627..6fbeab35 100644 --- a/routers/admin/auth.go +++ b/routers/admin/auths.go @@ -5,8 +5,6 @@ package admin import ( - "strings" - "github.com/Unknwon/com" "github.com/go-xorm/core" @@ -19,21 +17,38 @@ import ( ) const ( + AUTHS base.TplName = "admin/auth/list" AUTH_NEW base.TplName = "admin/auth/new" AUTH_EDIT base.TplName = "admin/auth/edit" ) +func Authentications(ctx *middleware.Context) { + ctx.Data["Title"] = ctx.Tr("admin.authentication") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminAuthentications"] = true + + var err error + ctx.Data["Sources"], err = models.GetAuths() + if err != nil { + ctx.Handle(500, "GetAuths", err) + return + } + ctx.HTML(200, AUTHS) +} + func NewAuthSource(ctx *middleware.Context) { - ctx.Data["Title"] = "New Authentication" - ctx.Data["PageIsAuths"] = true + ctx.Data["Title"] = ctx.Tr("admin.auths.new") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminAuthentications"] = true ctx.Data["LoginTypes"] = models.LoginTypes ctx.Data["SMTPAuths"] = models.SMTPAuths ctx.HTML(200, AUTH_NEW) } func NewAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) { - ctx.Data["Title"] = "New Authentication" - ctx.Data["PageIsAuths"] = true + ctx.Data["Title"] = ctx.Tr("admin.auths.new") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminAuthentications"] = true ctx.Data["LoginTypes"] = models.LoginTypes ctx.Data["SMTPAuths"] = models.SMTPAuths @@ -79,30 +94,29 @@ func NewAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) { } if err := models.CreateSource(source); err != nil { - ctx.Handle(500, "admin.auths.NewAuth(CreateSource)", err) + ctx.Handle(500, "CreateSource", err) return } - log.Trace("%s Authentication created by admin(%s): %s", ctx.Req.RequestURI, - ctx.User.LowerName, strings.ToLower(form.AuthName)) - + log.Trace("Authentication created by admin(%s): %s", ctx.User.Name, form.AuthName) ctx.Redirect("/admin/auths") } func EditAuthSource(ctx *middleware.Context) { - ctx.Data["Title"] = "Edit Authentication" - ctx.Data["PageIsAuths"] = true + ctx.Data["Title"] = ctx.Tr("admin.auths.edit") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminAuthentications"] = true ctx.Data["LoginTypes"] = models.LoginTypes ctx.Data["SMTPAuths"] = models.SMTPAuths - id, err := com.StrTo(ctx.Params(":authid")).Int64() - if err != nil { - ctx.Handle(404, "admin.auths.EditAuthSource", err) + id := com.StrTo(ctx.Params(":authid")).MustInt64() + if id == 0 { + ctx.Handle(404, "EditAuthSource", nil) return } u, err := models.GetLoginSourceById(id) if err != nil { - ctx.Handle(500, "admin.user.EditUser(GetLoginSourceById)", err) + ctx.Handle(500, "GetLoginSourceById", err) return } ctx.Data["Source"] = u @@ -110,7 +124,9 @@ func EditAuthSource(ctx *middleware.Context) { } func EditAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) { - ctx.Data["Title"] = "Edit Authentication" + ctx.Data["Title"] = ctx.Tr("admin.auths.edit") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminAuthentications"] = true ctx.Data["PageIsAuths"] = true ctx.Data["LoginTypes"] = models.LoginTypes ctx.Data["SMTPAuths"] = models.SMTPAuths @@ -158,44 +174,38 @@ func EditAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) { } if err := models.UpdateSource(&u); err != nil { - ctx.Handle(500, "admin.auths.EditAuth(UpdateSource)", err) + ctx.Handle(500, "UpdateSource", err) return } - log.Trace("%s Authentication changed by admin(%s): %s", ctx.Req.RequestURI, - ctx.User.LowerName, form.AuthName) - - ctx.Redirect("/admin/auths") + log.Trace("Authentication changed by admin(%s): %s", ctx.User.Name, form.AuthName) + ctx.Flash.Success(ctx.Tr("admin.auths.update_success")) + ctx.Redirect("/admin/auths/" + ctx.Params(":authid")) } func DeleteAuthSource(ctx *middleware.Context) { - ctx.Data["Title"] = "Delete Authentication" - ctx.Data["PageIsAuths"] = true - - id, err := com.StrTo(ctx.Params(":authid")).Int64() - if err != nil { - ctx.Handle(404, "admin.auths.DeleteAuth", err) + id := com.StrTo(ctx.Params(":authid")).MustInt64() + if id == 0 { + ctx.Handle(404, "DeleteAuthSource", nil) return } a, err := models.GetLoginSourceById(id) if err != nil { - ctx.Handle(500, "admin.auths.DeleteAuth(GetLoginSourceById)", err) + ctx.Handle(500, "GetLoginSourceById", err) return } if err = models.DelLoginSource(a); err != nil { switch err { case models.ErrAuthenticationUserUsed: - ctx.Flash.Error("This authentication still has used by some users, you should move them and then delete again.") + ctx.Flash.Error("form.still_own_user") ctx.Redirect("/admin/auths/" + ctx.Params(":authid")) default: - ctx.Handle(500, "admin.auths.DeleteAuth(DelLoginSource)", err) + ctx.Handle(500, "DelLoginSource", err) } return } - log.Trace("%s Authentication deleted by admin(%s): %s", ctx.Req.RequestURI, - ctx.User.LowerName, ctx.User.LowerName) - + log.Trace("Authentication deleted by admin(%s): %s", ctx.User.Name, a.Name) ctx.Redirect("/admin/auths") } diff --git a/routers/admin/orgs.go b/routers/admin/orgs.go new file mode 100644 index 00000000..e813e474 --- /dev/null +++ b/routers/admin/orgs.go @@ -0,0 +1,32 @@ +// 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 admin + +import ( + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/modules/base" + "github.com/gogits/gogs/modules/middleware" +) + +const ( + ORGS base.TplName = "admin/org/list" +) + +func Organizations(ctx *middleware.Context) { + ctx.Data["Title"] = ctx.Tr("admin.orgs") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminOrganizations"] = true + + pageNum := 50 + p := pagination(ctx, models.CountOrganizations(), pageNum) + + var err error + ctx.Data["Orgs"], err = models.GetOrganizations(pageNum, (p-1)*pageNum) + if err != nil { + ctx.Handle(500, "GetUsers", err) + return + } + ctx.HTML(200, ORGS) +} diff --git a/routers/admin/repos.go b/routers/admin/repos.go new file mode 100644 index 00000000..6d9169f9 --- /dev/null +++ b/routers/admin/repos.go @@ -0,0 +1,32 @@ +// 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 admin + +import ( + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/modules/base" + "github.com/gogits/gogs/modules/middleware" +) + +const ( + REPOS base.TplName = "admin/repo/list" +) + +func Repositories(ctx *middleware.Context) { + ctx.Data["Title"] = ctx.Tr("admin.repositories") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminRepositories"] = true + + pageNum := 50 + p := pagination(ctx, models.CountRepositories(), pageNum) + + var err error + ctx.Data["Repos"], err = models.GetRepositoriesWithUsers(pageNum, (p-1)*pageNum) + if err != nil { + ctx.Handle(500, "GetRepositoriesWithUsers", err) + return + } + ctx.HTML(200, REPOS) +} diff --git a/routers/admin/users.go b/routers/admin/users.go index 5f98a64b..3f14e48f 100644 --- a/routers/admin/users.go +++ b/routers/admin/users.go @@ -22,17 +22,11 @@ const ( USER_EDIT base.TplName = "admin/user/edit" ) -func Users(ctx *middleware.Context) { - ctx.Data["Title"] = ctx.Tr("admin.users") - ctx.Data["PageIsAdmin"] = true - ctx.Data["PageIsAdminUsers"] = true - +func pagination(ctx *middleware.Context, count int64, pageNum int) int { p := com.StrTo(ctx.Query("p")).MustInt() if p < 1 { p = 1 } - pageNum := 50 - count := models.CountUsers() curCount := int64((p-1)*pageNum + pageNum) if curCount > count { p = int(count) / pageNum @@ -42,11 +36,21 @@ func Users(ctx *middleware.Context) { if p > 1 { ctx.Data["LastPageNum"] = p - 1 } + return p +} + +func Users(ctx *middleware.Context) { + ctx.Data["Title"] = ctx.Tr("admin.users") + ctx.Data["PageIsAdmin"] = true + ctx.Data["PageIsAdminUsers"] = true + + pageNum := 50 + p := pagination(ctx, models.CountUsers(), pageNum) var err error ctx.Data["Users"], err = models.GetUsers(pageNum, (p-1)*pageNum) if err != nil { - ctx.Handle(500, "admin.Users(GetUsers)", err) + ctx.Handle(500, "GetUsers", err) return } ctx.HTML(200, USERS) |