From 3fb2ed884bcefd5f6cbfe2f5fc6359f9f9bcb071 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 10:15:11 +0800 Subject: [PATCH 1/9] add alias to api struct --- models/repo.go | 1 + modules/structs/repo.go | 1 + 2 files changed, 2 insertions(+) diff --git a/models/repo.go b/models/repo.go index 0ae395c78..1e59a7178 100755 --- a/models/repo.go +++ b/models/repo.go @@ -401,6 +401,7 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool) ID: repo.ID, Owner: repo.Owner.APIFormat(), Name: repo.Name, + Alias: repo.Alias, FullName: repo.FullName(), FullDisplayName: repo.FullDisplayName(), Description: repo.Description, diff --git a/modules/structs/repo.go b/modules/structs/repo.go index b824813bb..e290488a4 100755 --- a/modules/structs/repo.go +++ b/modules/structs/repo.go @@ -49,6 +49,7 @@ type Repository struct { ID int64 `json:"id"` Owner *User `json:"owner"` Name string `json:"name"` + Alias string `json:"alias"` FullName string `json:"full_name"` FullDisplayName string `json:"full_display_name"` Description string `json:"description"` From a6adef0dd3c0234abc0c89aba44db95512157bda Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 20 Jan 2022 10:59:23 +0800 Subject: [PATCH 2/9] fix issue --- templates/admin/repo/list.tmpl | 2 +- web_src/js/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/admin/repo/list.tmpl b/templates/admin/repo/list.tmpl index f946b8a46..3dee62bfb 100644 --- a/templates/admin/repo/list.tmpl +++ b/templates/admin/repo/list.tmpl @@ -36,7 +36,7 @@ {{svg "octicon-lock" 16}} {{end}} - {{.Name}} + {{.Alias}} {{.NumWatches}} {{.NumStars}} diff --git a/web_src/js/index.js b/web_src/js/index.js index 41e717011..de891d382 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2677,7 +2677,7 @@ function initTemplateSearch() { // Parse the response from the api to work with our dropdown $.each(response.data, (_r, repo) => { filteredResponse.results.push({ - name: htmlEncode(repo.full_name), + name: htmlEncode(repo.full_display_name), value: repo.id }); }); From 24d1c814634331fef29556a01fd4845a29af6813 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 11:24:23 +0800 Subject: [PATCH 3/9] #1401 fix bug --- routers/repo/repo.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routers/repo/repo.go b/routers/repo/repo.go index a509cb52e..70705dcf1 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -13,6 +13,7 @@ import ( "path" "regexp" "strings" + "unicode/utf8" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth" @@ -566,7 +567,7 @@ func CheckName(ctx *context.Context) { var r = make(map[string]string, 1) q := ctx.Query("q") owner := ctx.Query("owner") - if q == "" || owner == "" || len(q) > 100 || !validation.ValidAlphaDashDotChinese(q) { + if q == "" || owner == "" || utf8.RuneCountInString(q) > 100 || !validation.ValidAlphaDashDotChinese(q) { r["name"] = "" ctx.JSON(200, r) return From 7975ab3a14ad6a4be7fa6ced2d3677d7bb509799 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 20 Jan 2022 11:39:25 +0800 Subject: [PATCH 4/9] fix issue --- templates/org/team/repositories.tmpl | 2 +- web_src/js/index.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/org/team/repositories.tmpl b/templates/org/team/repositories.tmpl index e3c52e161..117c31edf 100644 --- a/templates/org/team/repositories.tmpl +++ b/templates/org/team/repositories.tmpl @@ -50,7 +50,7 @@ {{else}} {{svg "octicon-repo" 16}} {{end}} - {{$.Org.Name}}/{{.Name}} + {{$.Org.Name}}/{{.Alias}} {{else}} diff --git a/web_src/js/index.js b/web_src/js/index.js index de891d382..6bc0d2b88 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2411,8 +2411,8 @@ function searchRepositories() { const items = []; $.each(response.data, (_i, item) => { items.push({ - title: item.full_name.split('/')[1], - description: item.full_name + title: item.full_display_name.split('/')[1], + description: item.full_display_name }); }); From d3684ae38e24aa523ba9b8c82b271270025a5b0a Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 11:56:55 +0800 Subject: [PATCH 5/9] #1398 fix bug --- models/repo.go | 20 ++++++++++++++++++++ routers/home.go | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/models/repo.go b/models/repo.go index 1e59a7178..3efd9c950 100755 --- a/models/repo.go +++ b/models/repo.go @@ -1915,6 +1915,26 @@ func getRepositoryByOwnerAndName(e Engine, ownerName, repoName string) (*Reposit return &repo, nil } +// GetRepositoryByOwnerAndAlias returns the repository by given ownername and reponame. +func GetRepositoryByOwnerAndAlias(ownerName, alias string) (*Repository, error) { + return getRepositoryByOwnerAndName(x, ownerName, alias) +} + +func getRepositoryByOwnerAndAlias(e Engine, ownerName, alias string) (*Repository, error) { + var repo Repository + has, err := e.Table("repository").Select("repository.*"). + Join("INNER", "`user`", "`user`.id = repository.owner_id"). + Where("repository.lower_alias = ?", strings.ToLower(alias)). + And("`user`.lower_name = ?", strings.ToLower(ownerName)). + Get(&repo) + if err != nil { + return nil, err + } else if !has { + return nil, ErrRepoNotExist{0, 0, ownerName, alias} + } + return &repo, nil +} + // GetRepositoryByName returns the repository by given name under user if exists. func GetRepositoryByName(ownerID int64, name string) (*Repository, error) { repo := &Repository{ diff --git a/routers/home.go b/routers/home.go index 24de1a10c..123fdfa3b 100755 --- a/routers/home.go +++ b/routers/home.go @@ -625,11 +625,11 @@ func RecommendRepoFromPromote(ctx *context.Context) { } else { ownerName := strings.Trim(repoName[0:tmpIndex], " ") repoName := strings.Trim(repoName[tmpIndex+1:], " ") - repo, err := models.GetRepositoryByOwnerAndName(ownerName, repoName) + repo, err := models.GetRepositoryByOwnerAndAlias(ownerName, repoName) if err == nil { repoMap := make(map[string]interface{}) repoMap["ID"] = fmt.Sprint(repo.ID) - repoMap["Name"] = repo.Name + repoMap["Name"] = repo.Alias repoMap["OwnerName"] = repo.OwnerName repoMap["NumStars"] = repo.NumStars repoMap["NumForks"] = repo.NumForks From 25f083c84ea9e6c64aa7a75f65f62c8a31a2d315 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 14:47:21 +0800 Subject: [PATCH 6/9] #1398 fix bug --- models/repo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/repo.go b/models/repo.go index 3efd9c950..027ced6ff 100755 --- a/models/repo.go +++ b/models/repo.go @@ -1917,7 +1917,7 @@ func getRepositoryByOwnerAndName(e Engine, ownerName, repoName string) (*Reposit // GetRepositoryByOwnerAndAlias returns the repository by given ownername and reponame. func GetRepositoryByOwnerAndAlias(ownerName, alias string) (*Repository, error) { - return getRepositoryByOwnerAndName(x, ownerName, alias) + return getRepositoryByOwnerAndAlias(x, ownerName, alias) } func getRepositoryByOwnerAndAlias(e Engine, ownerName, alias string) (*Repository, error) { From 897005a1ae71907226b79e0c9c49d3fd911909f5 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 16:05:56 +0800 Subject: [PATCH 7/9] #1398 fix bug --- public/home/home.js | 24 ++++++++++++------------ routers/home.go | 3 ++- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/public/home/home.js b/public/home/home.js index 9598c65d7..81392c265 100644 --- a/public/home/home.js +++ b/public/home/home.js @@ -64,18 +64,18 @@ socket.onmessage = function (e) { var currentTime = new Date().getTime(); for(var i = 0; i < messageQueue.length; i++){ var record = messageQueue[i]; - + var recordPrefix = getMsg(record); var actionName = getAction(record.OpType,isZh); - + if(record.OpType == "6" || record.OpType == "10" || record.OpType == "12" || record.OpType == "13"){ html += recordPrefix + actionName; - html += " " + getIssueText(record) + "" + html += " " + getIssueText(record) + "" } else if(record.OpType == "7" || record.OpType == "11" || record.OpType == "14" || record.OpType == "15" || record.OpType == "22" || record.OpType == "23"){ html += recordPrefix + actionName; - html += " " + getPRText(record) + "" + html += " " + getPRText(record) + "" } else if(record.OpType == "1"){ html += recordPrefix + actionName; @@ -120,7 +120,7 @@ function getMsg(record){ html += "
"; html += " \"\"" html += "
" - html += " " + record.ActUser.Name + "" + html += " " + record.ActUser.Name + "" return html; } @@ -133,7 +133,7 @@ function getRepotext(record){ } function getRepoLink(record){ return record.Repo.OwnerName + "/" + record.Repo.Name; - + } function getTime(UpdatedUnix,currentTime){ @@ -143,7 +143,7 @@ function getTime(UpdatedUnix,currentTime){ if( timeEscSecond < 0){ timeEscSecond = 1; } - + var hours= Math.floor(timeEscSecond / 3600); //计算相差分钟数 var leave2 = Math.floor(timeEscSecond % (3600)); //计算小时数后剩余的秒数 @@ -172,11 +172,11 @@ function getPRText(record){ }else{ return record.Repo.OwnerName + "/" + record.Repo.Name + "#" + getIssueId(record); } - + } function getIssueLink(record){ - + return "/" + record.Repo.OwnerName + "/" + record.Repo.Name + "/issues/" + getIssueId(record); } @@ -202,7 +202,7 @@ function getIssueText(record){ }else{ return record.Repo.OwnerName + "/" + record.Repo.Name + "#" + getIssueId(record); } - + } /* @@ -354,7 +354,7 @@ function displayRepo(json){ html += " " + record["NumStars"] + "" + record["NumForks"]; html += " "; html += " "; - html += " " + record["Name"] +""; + html += " " + record["Alias"] +""; html += "
" + record["Description"] + "
"; html += "
" if(record["Topics"] != null){ @@ -408,4 +408,4 @@ function displayOrg(json){ } } orgDiv.innerHTML = html; -} \ No newline at end of file +} diff --git a/routers/home.go b/routers/home.go index 123fdfa3b..399e11997 100755 --- a/routers/home.go +++ b/routers/home.go @@ -629,7 +629,8 @@ func RecommendRepoFromPromote(ctx *context.Context) { if err == nil { repoMap := make(map[string]interface{}) repoMap["ID"] = fmt.Sprint(repo.ID) - repoMap["Name"] = repo.Alias + repoMap["Name"] = repo.Name + repoMap["Alias"] = repo.Alias repoMap["OwnerName"] = repo.OwnerName repoMap["NumStars"] = repo.NumStars repoMap["NumForks"] = repo.NumForks From d2fe0dbb60db0623cd4dfe3f03c7ff1d07410a93 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 20 Jan 2022 16:40:51 +0800 Subject: [PATCH 8/9] fix bug --- routers/org/teams.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routers/org/teams.go b/routers/org/teams.go index 03fbf068d..5fc0edbdd 100644 --- a/routers/org/teams.go +++ b/routers/org/teams.go @@ -143,7 +143,7 @@ func TeamsRepoAction(ctx *context.Context) { case "add": repoName := path.Base(ctx.Query("repo_name")) var repo *models.Repository - repo, err = models.GetRepositoryByName(ctx.Org.Organization.ID, repoName) + repo, err = models.GetRepositoryByOwnerAndAlias(ctx.Org.Organization.Name, repoName) if err != nil { if models.IsErrRepoNotExist(err) { ctx.Flash.Error(ctx.Tr("org.teams.add_nonexistent_repo")) From 7c3d70a6546b8623dfef3c0a3d32af93b1d9cf0a Mon Sep 17 00:00:00 2001 From: ychao_1983 Date: Thu, 20 Jan 2022 16:45:18 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E7=B2=BE=E5=93=81=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E8=AF=BE=E7=A8=8B=E5=90=8D=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/repository/repository.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/repository/repository.go b/services/repository/repository.go index f43a3c62d..cea16516a 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -122,7 +122,7 @@ func GetRecommendRepoFromPromote(filename string) ([]map[string]interface{}, err } else { ownerName := strings.Trim(repoName[0:tmpIndex], " ") repoName := strings.Trim(repoName[tmpIndex+1:], " ") - repo, err := models.GetRepositoryByOwnerAndName(ownerName, repoName) + repo, err := models.GetRepositoryByOwnerAndAlias(ownerName, repoName) if err == nil { repoMap := make(map[string]interface{}) repoMap["ID"] = fmt.Sprint(repo.ID)