mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Move issues related files into models/issues (#19931)
* Move access and repo permission to models/perm/access * fix test * fix git test * Move functions sequence * Some improvements per @KN4CK3R and @delvh * Move issues related code to models/issues * Move some issues related sub package * Merge * Fix test * Fix test * Fix test * Fix test * Rename some files
This commit is contained in:
		@@ -18,6 +18,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	git_model "code.gitea.io/gitea/models/git"
 | 
			
		||||
	issues_model "code.gitea.io/gitea/models/issues"
 | 
			
		||||
	access_model "code.gitea.io/gitea/models/perm/access"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	unit_model "code.gitea.io/gitea/models/unit"
 | 
			
		||||
@@ -83,7 +84,7 @@ type Repository struct {
 | 
			
		||||
 | 
			
		||||
// CanWriteToBranch checks if the branch is writable by the user
 | 
			
		||||
func (r *Repository) CanWriteToBranch(user *user_model.User, branch string) bool {
 | 
			
		||||
	return models.CanMaintainerWriteToBranch(r.Permission, branch, user)
 | 
			
		||||
	return issues_model.CanMaintainerWriteToBranch(r.Permission, branch, user)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CanEnableEditor returns true if repository is editable and user has proper access level.
 | 
			
		||||
@@ -158,11 +159,11 @@ func (r *Repository) CanCommitToBranch(ctx context.Context, doer *user_model.Use
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CanUseTimetracker returns whether or not a user can use the timetracker.
 | 
			
		||||
func (r *Repository) CanUseTimetracker(issue *models.Issue, user *user_model.User) bool {
 | 
			
		||||
func (r *Repository) CanUseTimetracker(issue *issues_model.Issue, user *user_model.User) bool {
 | 
			
		||||
	// Checking for following:
 | 
			
		||||
	// 1. Is timetracker enabled
 | 
			
		||||
	// 2. Is the user a contributor, admin, poster or assignee and do the repository policies require this?
 | 
			
		||||
	isAssigned, _ := models.IsUserAssignedToIssue(db.DefaultContext, issue, user)
 | 
			
		||||
	isAssigned, _ := issues_model.IsUserAssignedToIssue(db.DefaultContext, issue, user)
 | 
			
		||||
	return r.Repository.IsTimetrackerEnabled() && (!r.Repository.AllowOnlyContributorsToTrackTime() ||
 | 
			
		||||
		r.Permission.CanWriteIssuesOrPulls(issue.IsPull) || issue.IsPoster(user.ID) || isAssigned)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user