mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Check if project has the same repository id with issue when assign project to issue (#20133)
* Check if project has the same repository id with issue when assign project to issue * Check if issue's repository id match project's repository id * Add more permission checking * Remove invalid argument * Fix errors * Add generic check * Remove duplicated check * Return error + add check for new issues * Apply suggestions from code review Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: Gusted <williamzijl7@hotmail.com> Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
		| @@ -124,6 +124,17 @@ func ChangeProjectAssign(issue *Issue, doer *user_model.User, newProjectID int64 | ||||
| func addUpdateIssueProject(ctx context.Context, issue *Issue, doer *user_model.User, newProjectID int64) error { | ||||
| 	oldProjectID := issue.projectID(ctx) | ||||
|  | ||||
| 	// Only check if we add a new project and not remove it. | ||||
| 	if newProjectID > 0 { | ||||
| 		newProject, err := project_model.GetProjectByID(ctx, newProjectID) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		if newProject.RepoID != issue.RepoID { | ||||
| 			return fmt.Errorf("issue's repository is not the same as project's repository") | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if _, err := db.GetEngine(ctx).Where("project_issue.issue_id=?", issue.ID).Delete(&project_model.ProjectIssue{}); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user