mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Move organization related structs into sub package (#18518)
* Move organization related structs into sub package * Fix test * Fix lint * Move more functions into sub packages * Fix bug * Fix test * Update models/organization/team_repo.go Co-authored-by: KN4CK3R <admin@oldschoolhack.me> * Apply suggestions from code review Co-authored-by: KN4CK3R <admin@oldschoolhack.me> * Fix fmt * Follow suggestion from @Gusted * Fix test * Fix test * Fix bug * Use ctx but db.DefaultContext on routers * Fix bug * Fix bug * fix bug * Update models/organization/team_user.go * Fix bug Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -6,6 +6,8 @@ package issue
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/organization"
 | 
			
		||||
	"code.gitea.io/gitea/models/perm"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
@@ -166,7 +168,7 @@ func IsValidReviewRequest(reviewer, doer *user_model.User, isAdd bool, issue *mo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsValidTeamReviewRequest Check permission for ReviewRequest Team
 | 
			
		||||
func IsValidTeamReviewRequest(reviewer *models.Team, doer *user_model.User, isAdd bool, issue *models.Issue) error {
 | 
			
		||||
func IsValidTeamReviewRequest(reviewer *organization.Team, doer *user_model.User, isAdd bool, issue *models.Issue) error {
 | 
			
		||||
	if doer.IsOrganization() {
 | 
			
		||||
		return models.ErrNotValidReviewRequest{
 | 
			
		||||
			Reason: "Organization can't be doer to add reviewer",
 | 
			
		||||
@@ -183,7 +185,7 @@ func IsValidTeamReviewRequest(reviewer *models.Team, doer *user_model.User, isAd
 | 
			
		||||
 | 
			
		||||
	if isAdd {
 | 
			
		||||
		if issue.Repo.IsPrivate {
 | 
			
		||||
			hasTeam := models.HasTeamRepo(reviewer.OrgID, reviewer.ID, issue.RepoID)
 | 
			
		||||
			hasTeam := organization.HasTeamRepo(db.DefaultContext, reviewer.OrgID, reviewer.ID, issue.RepoID)
 | 
			
		||||
 | 
			
		||||
			if !hasTeam {
 | 
			
		||||
				return models.ErrNotValidReviewRequest{
 | 
			
		||||
@@ -221,7 +223,7 @@ func IsValidTeamReviewRequest(reviewer *models.Team, doer *user_model.User, isAd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TeamReviewRequest add or remove a review request from a team for this PR, and make comment for it.
 | 
			
		||||
func TeamReviewRequest(issue *models.Issue, doer *user_model.User, reviewer *models.Team, isAdd bool) (comment *models.Comment, err error) {
 | 
			
		||||
func TeamReviewRequest(issue *models.Issue, doer *user_model.User, reviewer *organization.Team, isAdd bool) (comment *models.Comment, err error) {
 | 
			
		||||
	if isAdd {
 | 
			
		||||
		comment, err = models.AddTeamReviewRequest(issue, reviewer, doer)
 | 
			
		||||
	} else {
 | 
			
		||||
@@ -241,11 +243,14 @@ func TeamReviewRequest(issue *models.Issue, doer *user_model.User, reviewer *mod
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = reviewer.GetMembers(&models.SearchMembersOptions{}); err != nil {
 | 
			
		||||
	members, err := organization.GetTeamMembers(db.DefaultContext, &organization.SearchMembersOptions{
 | 
			
		||||
		TeamID: reviewer.ID,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, member := range reviewer.Members {
 | 
			
		||||
	for _, member := range members {
 | 
			
		||||
		if member.ID == comment.Issue.PosterID {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user