mirror of
https://github.com/gogs/gogs.git
synced 2025-12-22 08:09:59 +01:00
internal: move packages under this directory (#5836)
* Rename pkg -> internal * Rename routes -> route * Move route -> internal/route * Rename models -> db * Move db -> internal/db * Fix route2 -> route * Move cmd -> internal/cmd * Bump version
This commit is contained in:
163
internal/route/home.go
Normal file
163
internal/route/home.go
Normal file
@@ -0,0 +1,163 @@
|
||||
// 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 route
|
||||
|
||||
import (
|
||||
"github.com/unknwon/paginater"
|
||||
user2 "gogs.io/gogs/internal/route/user"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
||||
const (
|
||||
HOME = "home"
|
||||
EXPLORE_REPOS = "explore/repos"
|
||||
EXPLORE_USERS = "explore/users"
|
||||
EXPLORE_ORGANIZATIONS = "explore/organizations"
|
||||
)
|
||||
|
||||
func Home(c *context.Context) {
|
||||
if c.IsLogged {
|
||||
if !c.User.IsActive && setting.Service.RegisterEmailConfirm {
|
||||
c.Data["Title"] = c.Tr("auth.active_your_account")
|
||||
c.Success(user2.ACTIVATE)
|
||||
} else {
|
||||
user2.Dashboard(c)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Check auto-login.
|
||||
uname := c.GetCookie(setting.CookieUserName)
|
||||
if len(uname) != 0 {
|
||||
c.Redirect(setting.AppSubURL + "/user/login")
|
||||
return
|
||||
}
|
||||
|
||||
c.Data["PageIsHome"] = true
|
||||
c.Success(HOME)
|
||||
}
|
||||
|
||||
func ExploreRepos(c *context.Context) {
|
||||
c.Data["Title"] = c.Tr("explore")
|
||||
c.Data["PageIsExplore"] = true
|
||||
c.Data["PageIsExploreRepositories"] = true
|
||||
|
||||
page := c.QueryInt("page")
|
||||
if page <= 0 {
|
||||
page = 1
|
||||
}
|
||||
|
||||
keyword := c.Query("q")
|
||||
repos, count, err := db.SearchRepositoryByName(&db.SearchRepoOptions{
|
||||
Keyword: keyword,
|
||||
UserID: c.UserID(),
|
||||
OrderBy: "updated_unix DESC",
|
||||
Page: page,
|
||||
PageSize: setting.UI.ExplorePagingNum,
|
||||
})
|
||||
if err != nil {
|
||||
c.ServerError("SearchRepositoryByName", err)
|
||||
return
|
||||
}
|
||||
c.Data["Keyword"] = keyword
|
||||
c.Data["Total"] = count
|
||||
c.Data["Page"] = paginater.New(int(count), setting.UI.ExplorePagingNum, page, 5)
|
||||
|
||||
if err = db.RepositoryList(repos).LoadAttributes(); err != nil {
|
||||
c.ServerError("RepositoryList.LoadAttributes", err)
|
||||
return
|
||||
}
|
||||
c.Data["Repos"] = repos
|
||||
|
||||
c.Success(EXPLORE_REPOS)
|
||||
}
|
||||
|
||||
type UserSearchOptions struct {
|
||||
Type db.UserType
|
||||
Counter func() int64
|
||||
Ranger func(int, int) ([]*db.User, error)
|
||||
PageSize int
|
||||
OrderBy string
|
||||
TplName string
|
||||
}
|
||||
|
||||
func RenderUserSearch(c *context.Context, opts *UserSearchOptions) {
|
||||
page := c.QueryInt("page")
|
||||
if page <= 1 {
|
||||
page = 1
|
||||
}
|
||||
|
||||
var (
|
||||
users []*db.User
|
||||
count int64
|
||||
err error
|
||||
)
|
||||
|
||||
keyword := c.Query("q")
|
||||
if len(keyword) == 0 {
|
||||
users, err = opts.Ranger(page, opts.PageSize)
|
||||
if err != nil {
|
||||
c.ServerError("Ranger", err)
|
||||
return
|
||||
}
|
||||
count = opts.Counter()
|
||||
} else {
|
||||
users, count, err = db.SearchUserByName(&db.SearchUserOptions{
|
||||
Keyword: keyword,
|
||||
Type: opts.Type,
|
||||
OrderBy: opts.OrderBy,
|
||||
Page: page,
|
||||
PageSize: opts.PageSize,
|
||||
})
|
||||
if err != nil {
|
||||
c.ServerError("SearchUserByName", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
c.Data["Keyword"] = keyword
|
||||
c.Data["Total"] = count
|
||||
c.Data["Page"] = paginater.New(int(count), opts.PageSize, page, 5)
|
||||
c.Data["Users"] = users
|
||||
|
||||
c.Success(opts.TplName)
|
||||
}
|
||||
|
||||
func ExploreUsers(c *context.Context) {
|
||||
c.Data["Title"] = c.Tr("explore")
|
||||
c.Data["PageIsExplore"] = true
|
||||
c.Data["PageIsExploreUsers"] = true
|
||||
|
||||
RenderUserSearch(c, &UserSearchOptions{
|
||||
Type: db.USER_TYPE_INDIVIDUAL,
|
||||
Counter: db.CountUsers,
|
||||
Ranger: db.Users,
|
||||
PageSize: setting.UI.ExplorePagingNum,
|
||||
OrderBy: "updated_unix DESC",
|
||||
TplName: EXPLORE_USERS,
|
||||
})
|
||||
}
|
||||
|
||||
func ExploreOrganizations(c *context.Context) {
|
||||
c.Data["Title"] = c.Tr("explore")
|
||||
c.Data["PageIsExplore"] = true
|
||||
c.Data["PageIsExploreOrganizations"] = true
|
||||
|
||||
RenderUserSearch(c, &UserSearchOptions{
|
||||
Type: db.USER_TYPE_ORGANIZATION,
|
||||
Counter: db.CountOrganizations,
|
||||
Ranger: db.Organizations,
|
||||
PageSize: setting.UI.ExplorePagingNum,
|
||||
OrderBy: "updated_unix DESC",
|
||||
TplName: EXPLORE_ORGANIZATIONS,
|
||||
})
|
||||
}
|
||||
|
||||
func NotFound(c *context.Context) {
|
||||
c.Data["Title"] = "Page Not Found"
|
||||
c.NotFound()
|
||||
}
|
||||
Reference in New Issue
Block a user