aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gogs.go2
-rw-r--r--models/org.go22
-rw-r--r--routers/user/profile.go8
-rw-r--r--templates/.VERSION2
4 files changed, 27 insertions, 7 deletions
diff --git a/gogs.go b/gogs.go
index 0b93a084..e4a007af 100644
--- a/gogs.go
+++ b/gogs.go
@@ -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