diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go index 4621e3df8..d8214e380 100644 --- a/routers/api/v1/repo/issue.go +++ b/routers/api/v1/repo/issue.go @@ -367,13 +367,6 @@ func UpdateIssueDeadline(ctx *context.APIContext, form api.CreateDeadlineOption) // "201": // "$ref": "#/responses/IssueDeadline" - if !ctx.Repo.IsWriter() { - ctx.JSON(401, map[string]string{ - "message": "Only users with write access to this repository can manage issue deadlines.", - }) - return - } - issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { if models.IsErrIssueNotExist(err) { @@ -384,6 +377,11 @@ func UpdateIssueDeadline(ctx *context.APIContext, form api.CreateDeadlineOption) return } + if !issue.IsPoster(ctx.User.ID) && !ctx.Repo.IsWriter() { + ctx.Status(403) + return + } + var deadlineUnix util.TimeStamp if form.Deadline != nil && !form.Deadline.IsZero() { deadlineUnix = util.TimeStamp(form.Deadline.Unix())