Show all orgs on user profile, except the private one's

This commit is contained in:
Florian Kaiser 2016-01-30 21:51:11 +00:00
parent 6e03f61617
commit 295de51b99
2 changed files with 24 additions and 4 deletions

View file

@ -253,6 +253,26 @@ func IsPublicMembership(orgId, uid int64) bool {
return has 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) { func getOwnedOrgsByUserID(sess *xorm.Session, userID int64) ([]*User, error) {
orgs := make([]*User, 0, 10) orgs := make([]*User, 0, 10)
return orgs, sess.Where("`org_user`.uid=?", userID).And("`org_user`.is_owner=?", true). 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 // 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) { func GetOwnedOrgsByUserIDDesc(userID int64, desc string) ([]*User, error) {
sess := x.NewSession() sess := x.NewSession()
return getOwnedOrgsByUserID(sess.Desc(desc), userID) return getOwnedOrgsByUserID(sess.Desc(desc), userID)

View file

@ -75,9 +75,9 @@ func Profile(ctx *middleware.Context) {
ctx.Data["PageIsUserProfile"] = true ctx.Data["PageIsUserProfile"] = true
ctx.Data["Owner"] = u ctx.Data["Owner"] = u
orgs, err := models.GetOwnedOrgsByUserIDDesc(u.Id, "updated") orgs, err := models.GetPublicOrgsByUserIDDesc(u.Id, "updated")
if err != nil { if err != nil {
ctx.Handle(500, "GetOwnedOrgsByUserIDDesc", err) ctx.Handle(500, "GetPublicOrgsByUserIDDesc", err)
return return
} }
ctx.Data["Orgs"] = orgs ctx.Data["Orgs"] = orgs