]> source.dussan.org Git - gitea.git/commitdiff
Show all orgs on user profile, except the private one's
authorFlorian Kaiser <florian.kaiser@fnkr.net>
Sat, 30 Jan 2016 21:51:11 +0000 (21:51 +0000)
committerFlorian Kaiser <florian.kaiser@fnkr.net>
Sat, 30 Jan 2016 21:53:58 +0000 (21:53 +0000)
models/org.go
routers/user/profile.go

index b8836c349f3b4582e6a539d4c3a80719305d234e..3de89e4bd315bacd95297c4671b9db8e0dadc8f5 100644 (file)
@@ -253,6 +253,26 @@ func IsPublicMembership(orgId, uid int64) bool {
        return has
 }
 
+func getPublicOrgsByUserID(sess *xorm.Session, userID int64) ([]*User, error) {
+       orgs := make([]*User, 0, 10)
+       return orgs, sess.Where("`org_user`.uid=?", userID).And("`org_user`.is_public=?", true).
+               Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id").Find(&orgs)
+}
+
+// GetPublicOrgsByUserID returns a list of organizations that the given user ID
+// has joined publicly.
+func GetPublicOrgsByUserID(userID int64) ([]*User, error) {
+       sess := x.NewSession()
+       return getPublicOrgsByUserID(sess, userID)
+}
+
+// GetPublicOrgsByUserID returns a list of organizations that the given user ID
+// has joined publicly, ordered descending by the given condition.
+func GetPublicOrgsByUserIDDesc(userID int64, desc string) ([]*User, error) {
+       sess := x.NewSession()
+       return getPublicOrgsByUserID(sess.Desc(desc), userID)
+}
+
 func getOwnedOrgsByUserID(sess *xorm.Session, userID int64) ([]*User, error) {
        orgs := make([]*User, 0, 10)
        return orgs, sess.Where("`org_user`.uid=?", userID).And("`org_user`.is_owner=?", true).
@@ -266,7 +286,7 @@ func GetOwnedOrgsByUserID(userID int64) ([]*User, error) {
 }
 
 // GetOwnedOrganizationsByUserIDDesc returns a list of organizations are owned by
-// given user ID and descring order by given condition.
+// given user ID, ordered descending by the given condition.
 func GetOwnedOrgsByUserIDDesc(userID int64, desc string) ([]*User, error) {
        sess := x.NewSession()
        return getOwnedOrgsByUserID(sess.Desc(desc), userID)
index 3a253638181e84e3266895c6bb19824b73cec1e4..1452b29733b73251c15f30abb65b6dd48ec56d09 100644 (file)
@@ -74,10 +74,10 @@ func Profile(ctx *middleware.Context) {
        ctx.Data["Title"] = u.DisplayName()
        ctx.Data["PageIsUserProfile"] = true
        ctx.Data["Owner"] = u
-       
-       orgs, err := models.GetOwnedOrgsByUserIDDesc(u.Id, "updated")
+
+       orgs, err := models.GetPublicOrgsByUserIDDesc(u.Id, "updated")
        if err != nil {
-               ctx.Handle(500, "GetOwnedOrgsByUserIDDesc", err)
+               ctx.Handle(500, "GetPublicOrgsByUserIDDesc", err)
                return
        }
        ctx.Data["Orgs"] = orgs