diff options
-rw-r--r-- | gogs.go | 2 | ||||
-rw-r--r-- | models/org.go | 22 | ||||
-rw-r--r-- | routers/user/profile.go | 8 | ||||
-rw-r--r-- | templates/.VERSION | 2 |
4 files changed, 27 insertions, 7 deletions
@@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.8.25.0130" +const APP_VER = "0.8.25.0131" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/org.go b/models/org.go index b8836c34..3de89e4b 100644 --- a/models/org.go +++ b/models/org.go @@ -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) diff --git a/routers/user/profile.go b/routers/user/profile.go index 3a253638..0a876610 100644 --- a/routers/user/profile.go +++ b/routers/user/profile.go @@ -25,7 +25,7 @@ func GetUserByName(ctx *middleware.Context, name string) *models.User { user, err := models.GetUserByName(name) if err != nil { if models.IsErrUserNotExist(err) { - ctx.Error(404) + ctx.Handle(404, "GetUserByName", nil) } else { ctx.Handle(500, "GetUserByName", err) } @@ -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 diff --git a/templates/.VERSION b/templates/.VERSION index 22d091a7..93ddc737 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.8.25.0130
\ No newline at end of file +0.8.25.0131
\ No newline at end of file |