From 0f64152de4fe3ca082c80ac08acb4b2a0330fd6e Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 1 Dec 2016 10:10:11 +0800 Subject: [PATCH 1/2] resolved #296 --- conf/locale/locale_en-US.ini | 3 ++ conf/locale/locale_zh-CN.ini | 3 ++ routers/home.go | 54 +++++++++++++++++----------- templates/explore/organizations.tmpl | 2 ++ templates/explore/repo_list.tmpl | 4 +++ templates/explore/users.tmpl | 2 ++ 6 files changed, 48 insertions(+), 20 deletions(-) diff --git a/conf/locale/locale_en-US.ini b/conf/locale/locale_en-US.ini index 30a906a5b61c4..2852168d3abd2 100644 --- a/conf/locale/locale_en-US.ini +++ b/conf/locale/locale_en-US.ini @@ -139,6 +139,9 @@ repos = Repositories users = Users organizations = Organizations search = Search +repo_no_results = There are no matched repositories found. +user_no_results = There are no matched users found. +org_no_results = There are no matched organizations found. [auth] create_new_account = Create New Account diff --git a/conf/locale/locale_zh-CN.ini b/conf/locale/locale_zh-CN.ini index 4809949cfd8ea..770e6228d6be2 100644 --- a/conf/locale/locale_zh-CN.ini +++ b/conf/locale/locale_zh-CN.ini @@ -139,6 +139,9 @@ repos=仓库 users=用户 organizations=组织 search=搜索 +repo_no_results = 没有匹配的仓库。 +user_no_results = 没有匹配的用户。 +org_no_results = 没有匹配的组织。 [auth] create_new_account=创建帐户 diff --git a/routers/home.go b/routers/home.go index a2faf65bccd27..3b51148762254 100644 --- a/routers/home.go +++ b/routers/home.go @@ -9,6 +9,8 @@ import ( "github.com/Unknwon/paginater" + "bytes" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" @@ -60,6 +62,14 @@ type RepoSearchOptions struct { TplName base.TplName } +var ( + nullByte = []byte{0x00} +) + +func isKeywordValid(keyword string) bool { + return !bytes.Contains([]byte(keyword), nullByte) +} + // RenderRepoSearch render repositories search page func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { page := ctx.QueryInt("page") @@ -82,16 +92,18 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { } count = opts.Counter(opts.Private) } else { - repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ - Keyword: keyword, - OrderBy: opts.OrderBy, - Private: opts.Private, - Page: page, - PageSize: opts.PageSize, - }) - if err != nil { - ctx.Handle(500, "SearchRepositoryByName", err) - return + if isKeywordValid(keyword) { + repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ + Keyword: keyword, + OrderBy: opts.OrderBy, + Private: opts.Private, + Page: page, + PageSize: opts.PageSize, + }) + if err != nil { + ctx.Handle(500, "SearchRepositoryByName", err) + return + } } } ctx.Data["Keyword"] = keyword @@ -156,16 +168,18 @@ func RenderUserSearch(ctx *context.Context, opts *UserSearchOptions) { } count = opts.Counter() } else { - users, count, err = models.SearchUserByName(&models.SearchUserOptions{ - Keyword: keyword, - Type: opts.Type, - OrderBy: opts.OrderBy, - Page: page, - PageSize: opts.PageSize, - }) - if err != nil { - ctx.Handle(500, "SearchUserByName", err) - return + if isKeywordValid(keyword) { + users, count, err = models.SearchUserByName(&models.SearchUserOptions{ + Keyword: keyword, + Type: opts.Type, + OrderBy: opts.OrderBy, + Page: page, + PageSize: opts.PageSize, + }) + if err != nil { + ctx.Handle(500, "SearchUserByName", err) + return + } } } ctx.Data["Keyword"] = keyword diff --git a/templates/explore/organizations.tmpl b/templates/explore/organizations.tmpl index c44456be4c70b..4e2fe9e4922d2 100644 --- a/templates/explore/organizations.tmpl +++ b/templates/explore/organizations.tmpl @@ -24,6 +24,8 @@ + {{else}} +
{{$.i18n.Tr "explore.org_no_results"}}
{{end}} diff --git a/templates/explore/repo_list.tmpl b/templates/explore/repo_list.tmpl index 2cf7202fdf952..9776d8b942049 100644 --- a/templates/explore/repo_list.tmpl +++ b/templates/explore/repo_list.tmpl @@ -19,5 +19,9 @@ {{if .DescriptionHTML}}

{{.DescriptionHTML}}

{{end}}

{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}

+ {{else}} +
+ {{$.i18n.Tr "explore.repo_no_results"}} +
{{end}} diff --git a/templates/explore/users.tmpl b/templates/explore/users.tmpl index ce356f4fdebbb..8c511f9289dc0 100644 --- a/templates/explore/users.tmpl +++ b/templates/explore/users.tmpl @@ -24,6 +24,8 @@ + {{else}} +
{{$.i18n.Tr "explore.user_no_results"}}
{{end}} From d47a1dffb2f2a1d95d7a771426cab34ec8d463c8 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 1 Dec 2016 15:40:32 +0800 Subject: [PATCH 2/2] Indentation fixed --- templates/explore/organizations.tmpl | 2 +- templates/explore/repo_list.tmpl | 2 +- templates/explore/users.tmpl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/explore/organizations.tmpl b/templates/explore/organizations.tmpl index 4e2fe9e4922d2..7044894a064a7 100644 --- a/templates/explore/organizations.tmpl +++ b/templates/explore/organizations.tmpl @@ -25,7 +25,7 @@ {{else}} -
{{$.i18n.Tr "explore.org_no_results"}}
+
{{$.i18n.Tr "explore.org_no_results"}}
{{end}} diff --git a/templates/explore/repo_list.tmpl b/templates/explore/repo_list.tmpl index 9776d8b942049..961e510c08836 100644 --- a/templates/explore/repo_list.tmpl +++ b/templates/explore/repo_list.tmpl @@ -21,7 +21,7 @@ {{else}}
- {{$.i18n.Tr "explore.repo_no_results"}} + {{$.i18n.Tr "explore.repo_no_results"}}
{{end}} diff --git a/templates/explore/users.tmpl b/templates/explore/users.tmpl index 8c511f9289dc0..09091df253a43 100644 --- a/templates/explore/users.tmpl +++ b/templates/explore/users.tmpl @@ -25,7 +25,7 @@ {{else}} -
{{$.i18n.Tr "explore.user_no_results"}}
+
{{$.i18n.Tr "explore.user_no_results"}}
{{end}}