aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-06-18 19:00:53 +0200
committerGitHub <noreply@github.com>2021-06-18 19:00:53 +0200
commit889dea8fc1e78b0d915b27f122df116e7296336d (patch)
treef0c6d455c84759281abd507b01a5f02f66e380c8
parent59f25587e84e99c1c569d6149b9a3b8fb06641f2 (diff)
downloadgitea-889dea8fc1e78b0d915b27f122df116e7296336d.tar.gz
gitea-889dea8fc1e78b0d915b27f122df116e7296336d.zip
Remove User.GetOrganizations() (#14032)
as title
-rw-r--r--integrations/org_count_test.go5
-rw-r--r--models/user.go53
-rw-r--r--templates/user/dashboard/repolist.tmpl2
3 files changed, 4 insertions, 56 deletions
diff --git a/integrations/org_count_test.go b/integrations/org_count_test.go
index 755ee3cee5..20917dc17e 100644
--- a/integrations/org_count_test.go
+++ b/integrations/org_count_test.go
@@ -114,11 +114,12 @@ func doCheckOrgCounts(username string, orgCounts map[string]int, strict bool, ca
Name: username,
}).(*models.User)
- user.GetOrganizations(&models.SearchOrganizationsOptions{All: true})
+ orgs, err := models.GetOrgsByUserID(user.ID, true)
+ assert.NoError(t, err)
calcOrgCounts := map[string]int{}
- for _, org := range user.Orgs {
+ for _, org := range orgs {
calcOrgCounts[org.LowerName] = org.NumRepos
count, ok := canonicalCounts[org.LowerName]
if ok {
diff --git a/models/user.go b/models/user.go
index 002c050651..5998341422 100644
--- a/models/user.go
+++ b/models/user.go
@@ -112,7 +112,6 @@ type User struct {
LoginName string
Type UserType
OwnedOrgs []*User `xorm:"-"`
- Orgs []*User `xorm:"-"`
Repos []*Repository `xorm:"-"`
Location string
Website string
@@ -603,58 +602,6 @@ func (u *User) GetOwnedOrganizations() (err error) {
return err
}
-// GetOrganizations returns paginated organizations that user belongs to.
-// TODO: does not respect All and show orgs you privately participate
-func (u *User) GetOrganizations(opts *SearchOrganizationsOptions) error {
- sess := x.NewSession()
- defer sess.Close()
-
- schema, err := x.TableInfo(new(User))
- if err != nil {
- return err
- }
- groupByCols := &strings.Builder{}
- for _, col := range schema.Columns() {
- fmt.Fprintf(groupByCols, "`%s`.%s,", schema.Name, col.Name)
- }
- groupByStr := groupByCols.String()
- groupByStr = groupByStr[0 : len(groupByStr)-1]
-
- sess.Select("`user`.*, count(repo_id) as org_count").
- Table("user").
- Join("INNER", "org_user", "`org_user`.org_id=`user`.id").
- Join("LEFT", builder.
- Select("id as repo_id, owner_id as repo_owner_id").
- From("repository").
- Where(accessibleRepositoryCondition(u)), "`repository`.repo_owner_id = `org_user`.org_id").
- And("`org_user`.uid=?", u.ID).
- GroupBy(groupByStr)
- if opts.PageSize != 0 {
- sess = opts.setSessionPagination(sess)
- }
- type OrgCount struct {
- User `xorm:"extends"`
- OrgCount int
- }
- orgCounts := make([]*OrgCount, 0, 10)
-
- if err := sess.
- Asc("`user`.name").
- Find(&orgCounts); err != nil {
- return err
- }
-
- orgs := make([]*User, len(orgCounts))
- for i, orgCount := range orgCounts {
- orgCount.User.NumRepos = orgCount.OrgCount
- orgs[i] = &orgCount.User
- }
-
- u.Orgs = orgs
-
- return nil
-}
-
// DisplayName returns full name if it's not empty,
// returns username otherwise.
func (u *User) DisplayName() string {
diff --git a/templates/user/dashboard/repolist.tmpl b/templates/user/dashboard/repolist.tmpl
index 8ac07e1df6..f39d3711d4 100644
--- a/templates/user/dashboard/repolist.tmpl
+++ b/templates/user/dashboard/repolist.tmpl
@@ -9,7 +9,7 @@
:more-repos-link="'{{.ContextUser.HomeLink}}'"
{{if not .ContextUser.IsOrganization}}
:organizations="[
- {{range .ContextUser.Orgs}}
+ {{range .Orgs}}
{name: '{{.Name}}', num_repos: '{{.NumRepos}}'},
{{end}}
]"