Prepare 0.5 release
This commit is contained in:
		
							parent
							
								
									bba401a5dc
								
							
						
					
					
						commit
						a2cac952a4
					
				| @ -507,7 +507,7 @@ func (t *Team) AddRepository(repo *Repository) (err error) { | |||||||
| 	mode := AuthorizeToAccessType(t.Authorize) | 	mode := AuthorizeToAccessType(t.Authorize) | ||||||
| 
 | 
 | ||||||
| 	for _, u := range t.Members { | 	for _, u := range t.Members { | ||||||
| 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, t.Id, repo.Id) | 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, t.Id) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			sess.Rollback() | 			sess.Rollback() | ||||||
| 			return err | 			return err | ||||||
| @ -517,13 +517,7 @@ func (t *Team) AddRepository(repo *Repository) (err error) { | |||||||
| 			UserName: u.LowerName, | 			UserName: u.LowerName, | ||||||
| 			RepoName: path.Join(repo.Owner.LowerName, repo.LowerName), | 			RepoName: path.Join(repo.Owner.LowerName, repo.LowerName), | ||||||
| 		} | 		} | ||||||
| 		if auth == 0 { | 		if auth < t.Authorize { | ||||||
| 			access.Mode = mode |  | ||||||
| 			if _, err = sess.Insert(access); err != nil { |  | ||||||
| 				sess.Rollback() |  | ||||||
| 				return fmt.Errorf("fail to insert access: %v", err) |  | ||||||
| 			} |  | ||||||
| 		} else if auth < t.Authorize { |  | ||||||
| 			if err = addAccessWithAuthorize(sess, access, mode); err != nil { | 			if err = addAccessWithAuthorize(sess, access, mode); err != nil { | ||||||
| 				sess.Rollback() | 				sess.Rollback() | ||||||
| 				return err | 				return err | ||||||
| @ -570,7 +564,7 @@ func (t *Team) RemoveRepository(repoId int64) error { | |||||||
| 
 | 
 | ||||||
| 	// Remove access to team members.
 | 	// Remove access to team members.
 | ||||||
| 	for _, u := range t.Members { | 	for _, u := range t.Members { | ||||||
| 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, t.Id, repo.Id) | 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, t.Id) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			sess.Rollback() | 			sess.Rollback() | ||||||
| 			return err | 			return err | ||||||
| @ -668,7 +662,7 @@ func GetTeamById(teamId int64) (*Team, error) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // GetHighestAuthorize returns highest repository authorize level for given user and team.
 | // GetHighestAuthorize returns highest repository authorize level for given user and team.
 | ||||||
| func GetHighestAuthorize(orgId, uid, teamId, repoId int64) (AuthorizeType, error) { | func GetHighestAuthorize(orgId, uid, repoId, teamId int64) (AuthorizeType, error) { | ||||||
| 	ts, err := GetUserTeams(orgId, uid) | 	ts, err := GetUserTeams(orgId, uid) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return 0, err | 		return 0, err | ||||||
| @ -687,6 +681,7 @@ func GetHighestAuthorize(orgId, uid, teamId, repoId int64) (AuthorizeType, error | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
| 	return auth, nil | 	return auth, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -728,7 +723,7 @@ func UpdateTeam(t *Team, authChanged bool) (err error) { | |||||||
| 				// ORG_WRITABLE is the highest authorize level for now.
 | 				// ORG_WRITABLE is the highest authorize level for now.
 | ||||||
| 				// Skip checking others if current team has this level.
 | 				// Skip checking others if current team has this level.
 | ||||||
| 				if t.Authorize < ORG_WRITABLE { | 				if t.Authorize < ORG_WRITABLE { | ||||||
| 					auth, err := GetHighestAuthorize(org.Id, u.Id, t.Id, repo.Id) | 					auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, t.Id) | ||||||
| 					if err != nil { | 					if err != nil { | ||||||
| 						sess.Rollback() | 						sess.Rollback() | ||||||
| 						return err | 						return err | ||||||
| @ -782,7 +777,7 @@ func DeleteTeam(t *Team) error { | |||||||
| 	// Delete all accesses.
 | 	// Delete all accesses.
 | ||||||
| 	for _, repo := range t.Repos { | 	for _, repo := range t.Repos { | ||||||
| 		for _, u := range t.Members { | 		for _, u := range t.Members { | ||||||
| 			auth, err := GetHighestAuthorize(org.Id, u.Id, t.Id, repo.Id) | 			auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, t.Id) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				sess.Rollback() | 				sess.Rollback() | ||||||
| 				return err | 				return err | ||||||
| @ -943,7 +938,7 @@ func AddTeamMember(orgId, teamId, uid int64) error { | |||||||
| 	// Give access to team repositories.
 | 	// Give access to team repositories.
 | ||||||
| 	mode := AuthorizeToAccessType(t.Authorize) | 	mode := AuthorizeToAccessType(t.Authorize) | ||||||
| 	for _, repo := range t.Repos { | 	for _, repo := range t.Repos { | ||||||
| 		auth, err := GetHighestAuthorize(orgId, uid, teamId, repo.Id) | 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, teamId) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			sess.Rollback() | 			sess.Rollback() | ||||||
| 			return err | 			return err | ||||||
| @ -953,14 +948,7 @@ func AddTeamMember(orgId, teamId, uid int64) error { | |||||||
| 			UserName: u.LowerName, | 			UserName: u.LowerName, | ||||||
| 			RepoName: path.Join(org.LowerName, repo.LowerName), | 			RepoName: path.Join(org.LowerName, repo.LowerName), | ||||||
| 		} | 		} | ||||||
| 		// Equal 0 means given access doesn't exist.
 | 		if auth < t.Authorize { | ||||||
| 		if auth == 0 { |  | ||||||
| 			access.Mode = mode |  | ||||||
| 			if _, err = sess.Insert(access); err != nil { |  | ||||||
| 				sess.Rollback() |  | ||||||
| 				return fmt.Errorf("fail to insert access: %v", err) |  | ||||||
| 			} |  | ||||||
| 		} else if auth < t.Authorize { |  | ||||||
| 			if err = addAccessWithAuthorize(sess, access, mode); err != nil { | 			if err = addAccessWithAuthorize(sess, access, mode); err != nil { | ||||||
| 				sess.Rollback() | 				sess.Rollback() | ||||||
| 				return err | 				return err | ||||||
| @ -1037,7 +1025,7 @@ func removeTeamMemberWithSess(orgId, teamId, uid int64, sess *xorm.Session) erro | |||||||
| 
 | 
 | ||||||
| 	// Delete access to team repositories.
 | 	// Delete access to team repositories.
 | ||||||
| 	for _, repo := range t.Repos { | 	for _, repo := range t.Repos { | ||||||
| 		auth, err := GetHighestAuthorize(orgId, uid, teamId, repo.Id) | 		auth, err := GetHighestAuthorize(t.OrgId, u.Id, repo.Id, teamId) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			sess.Rollback() | 			sess.Rollback() | ||||||
| 			return err | 			return err | ||||||
|  | |||||||
| @ -109,7 +109,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler { | |||||||
| 			} | 			} | ||||||
| 			// Check if current user has admin permission to repository.
 | 			// Check if current user has admin permission to repository.
 | ||||||
| 			if u.IsOrganization() { | 			if u.IsOrganization() { | ||||||
| 				auth, err := models.GetHighestAuthorize(u.Id, ctx.User.Id, 0, repo.Id) | 				auth, err := models.GetHighestAuthorize(u.Id, ctx.User.Id, repo.Id, 0) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| 					ctx.Handle(500, "GetHighestAuthorize", err) | 					ctx.Handle(500, "GetHighestAuthorize", err) | ||||||
| 					return | 					return | ||||||
|  | |||||||
| @ -94,7 +94,7 @@ func TeamsAction(ctx *middleware.Context) { | |||||||
| 		if err == models.ErrLastOrgOwner { | 		if err == models.ErrLastOrgOwner { | ||||||
| 			ctx.Flash.Error(ctx.Tr("form.last_org_owner")) | 			ctx.Flash.Error(ctx.Tr("form.last_org_owner")) | ||||||
| 		} else { | 		} else { | ||||||
| 			log.Error(4, "Action(%s): %v", ctx.Params(":action"), err) | 			log.Error(3, "Action(%s): %v", ctx.Params(":action"), err) | ||||||
| 			ctx.JSON(200, map[string]interface{}{ | 			ctx.JSON(200, map[string]interface{}{ | ||||||
| 				"ok":  false, | 				"ok":  false, | ||||||
| 				"err": err.Error(), | 				"err": err.Error(), | ||||||
| @ -133,7 +133,7 @@ func TeamsRepoAction(ctx *middleware.Context) { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error(4, "Action(%s): %v", ctx.Params(":action"), err) | 		log.Error(3, "Action(%s): %v", ctx.Params(":action"), err) | ||||||
| 		ctx.JSON(200, map[string]interface{}{ | 		ctx.JSON(200, map[string]interface{}{ | ||||||
| 			"ok":  false, | 			"ok":  false, | ||||||
| 			"err": err.Error(), | 			"err": err.Error(), | ||||||
|  | |||||||
| @ -213,7 +213,7 @@ func SettingsCollaboration(ctx *middleware.Context) { | |||||||
| 		needDelete := true | 		needDelete := true | ||||||
| 		if ctx.User.IsOrganization() { | 		if ctx.User.IsOrganization() { | ||||||
| 			// Check if user belongs to a team that has access to this repository.
 | 			// Check if user belongs to a team that has access to this repository.
 | ||||||
| 			auth, err := models.GetHighestAuthorize(ctx.Repo.Owner.Id, ctx.User.Id, 0, ctx.Repo.Repository.Id) | 			auth, err := models.GetHighestAuthorize(ctx.Repo.Owner.Id, ctx.User.Id, ctx.Repo.Repository.Id, 0) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				ctx.Handle(500, "GetHighestAuthorize", err) | 				ctx.Handle(500, "GetHighestAuthorize", err) | ||||||
| 				return | 				return | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user