| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -65,14 +65,12 @@ func (org *User) GetMembers() error { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return err | 
					 | 
					 | 
					 | 
							return err | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						org.Members = make([]*User, len(ous)) | 
					 | 
					 | 
					 | 
						var ids = make([]int64, len(ous)) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						for i, ou := range ous { | 
					 | 
					 | 
					 | 
						for i, ou := range ous { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							org.Members[i], err = GetUserByID(ou.Uid) | 
					 | 
					 | 
					 | 
							ids[i] = ou.Uid | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if err != nil { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return err | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return nil | 
					 | 
					 | 
					 | 
						org.Members, err = GetUsersByIDs(ids) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						return err | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// AddMember adds new member to organization.
 | 
					 | 
					 | 
					 | 
					// AddMember adds new member to organization.
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -190,7 +188,7 @@ func CountOrganizations() int64 { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// Organizations returns number of organizations in given page.
 | 
					 | 
					 | 
					 | 
					// Organizations returns number of organizations in given page.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					func Organizations(page, pageSize int) ([]*User, error) { | 
					 | 
					 | 
					 | 
					func Organizations(page, pageSize int) ([]*User, error) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						orgs := make([]*User, 0, pageSize) | 
					 | 
					 | 
					 | 
						orgs := make([]*User, 0, pageSize) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return orgs, x.Limit(pageSize, (page-1)*pageSize).Where("type=1").Asc("id").Find(&orgs) | 
					 | 
					 | 
					 | 
						return orgs, x.Limit(pageSize, (page-1)*pageSize).Where("type=1").Asc("name").Find(&orgs) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// DeleteOrganization completely and permanently deletes everything of organization.
 | 
					 | 
					 | 
					 | 
					// DeleteOrganization completely and permanently deletes everything of organization.
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -260,8 +258,11 @@ func getOrgsByUserID(sess *xorm.Session, userID int64, showAll bool) ([]*User, e | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if !showAll { | 
					 | 
					 | 
					 | 
						if !showAll { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							sess.And("`org_user`.is_public=?", true) | 
					 | 
					 | 
					 | 
							sess.And("`org_user`.is_public=?", true) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return orgs, sess.And("`org_user`.uid=?", userID). | 
					 | 
					 | 
					 | 
						return orgs, sess. | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id").Find(&orgs) | 
					 | 
					 | 
					 | 
							And("`org_user`.uid=?", userID). | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Asc("`user`.name"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Find(&orgs) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// GetOrgsByUserID returns a list of organizations that the given user ID
 | 
					 | 
					 | 
					 | 
					// GetOrgsByUserID returns a list of organizations that the given user ID
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -278,8 +279,12 @@ func GetOrgsByUserIDDesc(userID int64, desc string, showAll bool) ([]*User, erro | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					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. | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id").Find(&orgs) | 
					 | 
					 | 
					 | 
							Where("`org_user`.uid=?", userID). | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							And("`org_user`.is_owner=?", true). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Asc("`user`.name"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Find(&orgs) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// GetOwnedOrgsByUserID returns a list of organizations are owned by given user ID.
 | 
					 | 
					 | 
					 | 
					// GetOwnedOrgsByUserID returns a list of organizations are owned by given user ID.
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -298,12 +303,16 @@ func GetOwnedOrgsByUserIDDesc(userID int64, desc string) ([]*User, error) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// GetOrgUsersByUserID returns all organization-user relations by user ID.
 | 
					 | 
					 | 
					 | 
					// GetOrgUsersByUserID returns all organization-user relations by user ID.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					func GetOrgUsersByUserID(uid int64, all bool) ([]*OrgUser, error) { | 
					 | 
					 | 
					 | 
					func GetOrgUsersByUserID(uid int64, all bool) ([]*OrgUser, error) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						ous := make([]*OrgUser, 0, 10) | 
					 | 
					 | 
					 | 
						ous := make([]*OrgUser, 0, 10) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						sess := x.Where("uid=?", uid) | 
					 | 
					 | 
					 | 
						sess := x. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Join("LEFT", "user", `"org_user".org_id="user".id`). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Where(`"org_user".uid=?`, uid) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if !all { | 
					 | 
					 | 
					 | 
						if !all { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							// Only show public organizations
 | 
					 | 
					 | 
					 | 
							// Only show public organizations
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							sess.And("is_public=?", true) | 
					 | 
					 | 
					 | 
							sess.And("is_public=?", true) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						err := sess.Find(&ous) | 
					 | 
					 | 
					 | 
						err := sess. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Asc("`user`.name"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Find(&ous) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return ous, err | 
					 | 
					 | 
					 | 
						return ous, err | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -450,10 +459,14 @@ func RemoveOrgRepo(orgID, repoID int64) error { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					func (org *User) getUserTeams(e Engine, userID int64, cols ...string) ([]*Team, error) { | 
					 | 
					 | 
					 | 
					func (org *User) getUserTeams(e Engine, userID int64, cols ...string) ([]*Team, error) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						teams := make([]*Team, 0, org.NumTeams) | 
					 | 
					 | 
					 | 
						teams := make([]*Team, 0, org.NumTeams) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return teams, e.Where("team_user.org_id = ?", org.ID). | 
					 | 
					 | 
					 | 
						return teams, e. | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							And("team_user.uid = ?", userID). | 
					 | 
					 | 
					 | 
							Where("`team_user`.org_id = ?", org.ID). | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							Join("INNER", "team_user", "team_user.team_id = team.id"). | 
					 | 
					 | 
					 | 
							Join("INNER", "team_user", "`team_user`.team_id = team.id"). | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							Cols(cols...).Find(&teams) | 
					 | 
					 | 
					 | 
							Join("INNER", "user", "`user`.id=team_user.uid"). | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							And("`team_user`.uid = ?", userID). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Asc("`user`.name"). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Cols(cols...). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						    Find(&teams) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// GetUserTeamIDs returns of all team IDs of the organization that user is memeber of.
 | 
					 | 
					 | 
					 | 
					// GetUserTeamIDs returns of all team IDs of the organization that user is memeber of.
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |