77 "fmt"
88 "net/http"
99 "net/url"
10- "time"
1110
1211 "code.gitea.io/gitea/models/db"
1312 issues_model "code.gitea.io/gitea/models/issues"
@@ -18,6 +17,7 @@ import (
1817 "code.gitea.io/gitea/modules/setting"
1918 "code.gitea.io/gitea/modules/timeutil"
2019 "code.gitea.io/gitea/modules/web"
20+ "code.gitea.io/gitea/routers/common"
2121 "code.gitea.io/gitea/services/context"
2222 "code.gitea.io/gitea/services/forms"
2323 "code.gitea.io/gitea/services/issue"
@@ -134,24 +134,18 @@ func NewMilestonePost(ctx *context.Context) {
134134 return
135135 }
136136
137- var deadlineUnix int64
138- if len (form .Deadline ) > 0 {
139- deadline , err := time .ParseInLocation ("2006-01-02" , form .Deadline , time .Local )
140- if err != nil {
141- ctx .Data ["Err_Deadline" ] = true
142- ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
143- return
144- }
145-
146- deadline = time .Date (deadline .Year (), deadline .Month (), deadline .Day (), 23 , 59 , 59 , 0 , deadline .Location ())
147- deadlineUnix = deadline .Unix ()
137+ deadlineUnix , err := common .ParseDeadlineDateToEndOfDay (form .Deadline )
138+ if err != nil {
139+ ctx .Data ["Err_Deadline" ] = true
140+ ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
141+ return
148142 }
149143
150144 if err := issues_model .NewMilestone (ctx , & issues_model.Milestone {
151145 RepoID : ctx .Repo .Repository .ID ,
152146 Name : form .Title ,
153147 Content : form .Content ,
154- DeadlineUnix : timeutil . TimeStamp ( deadlineUnix ) ,
148+ DeadlineUnix : deadlineUnix ,
155149 }); err != nil {
156150 ctx .ServerError ("NewMilestone" , err )
157151 return
@@ -196,17 +190,11 @@ func EditMilestonePost(ctx *context.Context) {
196190 return
197191 }
198192
199- var deadlineUnix int64
200- if len (form .Deadline ) > 0 {
201- deadline , err := time .ParseInLocation ("2006-01-02" , form .Deadline , time .Local )
202- if err != nil {
203- ctx .Data ["Err_Deadline" ] = true
204- ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
205- return
206- }
207-
208- deadline = time .Date (deadline .Year (), deadline .Month (), deadline .Day (), 23 , 59 , 59 , 0 , deadline .Location ())
209- deadlineUnix = deadline .Unix ()
193+ deadlineUnix , err := common .ParseDeadlineDateToEndOfDay (form .Deadline )
194+ if err != nil {
195+ ctx .Data ["Err_Deadline" ] = true
196+ ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
197+ return
210198 }
211199
212200 m , err := issues_model .GetMilestoneByRepoID (ctx , ctx .Repo .Repository .ID , ctx .PathParamInt64 (":id" ))
0 commit comments