aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-08-29 20:50:43 +0800
committerUnknwon <joe2010xtmf@163.com>2014-08-29 20:50:43 +0800
commitd2aff9a46a20bfd5345fec8a88d2638997a833c0 (patch)
treef655789858cc809b080bcd49ee75824384e550a5 /routers
parent904bf1a50b021798344f8e124439bdd6a4db9cfc (diff)
Continue working on new admin pages
Diffstat (limited to 'routers')
-rw-r--r--routers/admin/admin.go44
-rw-r--r--routers/admin/auths.go (renamed from routers/admin/auth.go)78
-rw-r--r--routers/admin/orgs.go32
-rw-r--r--routers/admin/repos.go32
-rw-r--r--routers/admin/users.go20
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)