forked from gitea/gitea
		
	Only view milestones from current repo (#18414)
The endpoint /{username}/{reponame}/milestone/{id} is not currently restricted to
the repo. This PR restricts the milestones to those within the repo.
Signed-off-by: Andrew Thornton <art27@cantab.net>
			
			
This commit is contained in:
		
							parent
							
								
									3bb028cc46
								
							
						
					
					
						commit
						9a75c2741d
					
				
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @ -97,7 +97,7 @@ require ( | ||||
| 	github.com/quasoft/websspi v1.0.0 | ||||
| 	github.com/rs/xid v1.3.0 // indirect | ||||
| 	github.com/russross/blackfriday/v2 v2.1.0 // indirect | ||||
| 	github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect | ||||
| 	github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 | ||||
| 	github.com/sergi/go-diff v1.2.0 | ||||
| 	github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect | ||||
| 	github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 | ||||
|  | ||||
| @ -134,22 +134,6 @@ func GetMilestoneByRepoIDANDName(repoID int64, name string) (*Milestone, error) | ||||
| 	return &mile, nil | ||||
| } | ||||
| 
 | ||||
| // GetMilestoneByID returns the milestone via id . | ||||
| func GetMilestoneByID(id int64) (*Milestone, error) { | ||||
| 	return getMilestoneByID(db.GetEngine(db.DefaultContext), id) | ||||
| } | ||||
| 
 | ||||
| func getMilestoneByID(e db.Engine, id int64) (*Milestone, error) { | ||||
| 	var m Milestone | ||||
| 	has, err := e.ID(id).Get(&m) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} else if !has { | ||||
| 		return nil, ErrMilestoneNotExist{ID: id, RepoID: 0} | ||||
| 	} | ||||
| 	return &m, nil | ||||
| } | ||||
| 
 | ||||
| // UpdateMilestone updates information of given milestone. | ||||
| func UpdateMilestone(m *Milestone, oldIsClosed bool) error { | ||||
| 	ctx, committer, err := db.TxContext() | ||||
|  | ||||
| @ -799,7 +799,7 @@ func NewIssue(ctx *context.Context) { | ||||
| 
 | ||||
| 	milestoneID := ctx.FormInt64("milestone") | ||||
| 	if milestoneID > 0 { | ||||
| 		milestone, err := models.GetMilestoneByID(milestoneID) | ||||
| 		milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, milestoneID) | ||||
| 		if err != nil { | ||||
| 			log.Error("GetMilestoneByID: %d: %v", milestoneID, err) | ||||
| 		} else { | ||||
| @ -886,7 +886,7 @@ func ValidateRepoMetas(ctx *context.Context, form forms.CreateIssueForm, isPull | ||||
| 	// Check milestone. | ||||
| 	milestoneID := form.MilestoneID | ||||
| 	if milestoneID > 0 { | ||||
| 		milestone, err := models.GetMilestoneByID(milestoneID) | ||||
| 		milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, milestoneID) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetMilestoneByID", err) | ||||
| 			return nil, nil, 0, 0 | ||||
|  | ||||
| @ -264,7 +264,7 @@ func DeleteMilestone(ctx *context.Context) { | ||||
| // MilestoneIssuesAndPulls lists all the issues and pull requests of the milestone | ||||
| func MilestoneIssuesAndPulls(ctx *context.Context) { | ||||
| 	milestoneID := ctx.ParamsInt64(":id") | ||||
| 	milestone, err := models.GetMilestoneByID(milestoneID) | ||||
| 	milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, milestoneID) | ||||
| 	if err != nil { | ||||
| 		if models.IsErrMilestoneNotExist(err) { | ||||
| 			ctx.NotFound("GetMilestoneByID", err) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zeripath
						zeripath