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"
@@ -16,8 +15,8 @@ import (
1615 "code.gitea.io/gitea/modules/markup/markdown"
1716 "code.gitea.io/gitea/modules/optional"
1817 "code.gitea.io/gitea/modules/setting"
19- "code.gitea.io/gitea/modules/timeutil"
2018 "code.gitea.io/gitea/modules/web"
19+ "code.gitea.io/gitea/routers/common"
2120 "code.gitea.io/gitea/services/context"
2221 "code.gitea.io/gitea/services/forms"
2322 "code.gitea.io/gitea/services/issue"
@@ -134,24 +133,18 @@ func NewMilestonePost(ctx *context.Context) {
134133 return
135134 }
136135
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 ()
136+ deadlineUnix , err := common .ParseDeadlineDateToEndOfDay (form .Deadline )
137+ if err != nil {
138+ ctx .Data ["Err_Deadline" ] = true
139+ ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
140+ return
148141 }
149142
150143 if err := issues_model .NewMilestone (ctx , & issues_model.Milestone {
151144 RepoID : ctx .Repo .Repository .ID ,
152145 Name : form .Title ,
153146 Content : form .Content ,
154- DeadlineUnix : timeutil . TimeStamp ( deadlineUnix ) ,
147+ DeadlineUnix : deadlineUnix ,
155148 }); err != nil {
156149 ctx .ServerError ("NewMilestone" , err )
157150 return
@@ -196,17 +189,11 @@ func EditMilestonePost(ctx *context.Context) {
196189 return
197190 }
198191
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 ()
192+ deadlineUnix , err := common .ParseDeadlineDateToEndOfDay (form .Deadline )
193+ if err != nil {
194+ ctx .Data ["Err_Deadline" ] = true
195+ ctx .RenderWithErr (ctx .Tr ("repo.milestones.invalid_due_date_format" ), tplMilestoneNew , & form )
196+ return
210197 }
211198
212199 m , err := issues_model .GetMilestoneByRepoID (ctx , ctx .Repo .Repository .ID , ctx .PathParamInt64 (":id" ))
@@ -220,7 +207,7 @@ func EditMilestonePost(ctx *context.Context) {
220207 }
221208 m .Name = form .Title
222209 m .Content = form .Content
223- m .DeadlineUnix = timeutil . TimeStamp ( deadlineUnix )
210+ m .DeadlineUnix = deadlineUnix
224211 if err = issues_model .UpdateMilestone (ctx , m , m .IsClosed ); err != nil {
225212 ctx .ServerError ("UpdateMilestone" , err )
226213 return
0 commit comments