mirror of https://github.com/go-gitea/gitea
Fix milestone deadline and date related problems (#32339)
Use zero instead of 9999-12-31 for deadline Fix #32291 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>pull/32421/head
parent
1887c75c35
commit
24b83ff63e
@ -0,0 +1,21 @@ |
||||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package v1_23 //nolint
|
||||
|
||||
import ( |
||||
"code.gitea.io/gitea/modules/timeutil" |
||||
|
||||
"xorm.io/xorm" |
||||
) |
||||
|
||||
func FixMilestoneNoDueDate(x *xorm.Engine) error { |
||||
type Milestone struct { |
||||
DeadlineUnix timeutil.TimeStamp |
||||
} |
||||
// Wednesday, December 1, 9999 12:00:00 AM GMT+00:00
|
||||
_, err := x.Table("milestone").Where("deadline_unix > 253399622400"). |
||||
Cols("deadline_unix"). |
||||
Update(&Milestone{DeadlineUnix: 0}) |
||||
return err |
||||
} |
@ -0,0 +1,31 @@ |
||||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package common |
||||
|
||||
import ( |
||||
"time" |
||||
|
||||
"code.gitea.io/gitea/modules/setting" |
||||
"code.gitea.io/gitea/modules/timeutil" |
||||
) |
||||
|
||||
func ParseDeadlineDateToEndOfDay(date string) (timeutil.TimeStamp, error) { |
||||
if date == "" { |
||||
return 0, nil |
||||
} |
||||
deadline, err := time.ParseInLocation("2006-01-02", date, setting.DefaultUILocation) |
||||
if err != nil { |
||||
return 0, err |
||||
} |
||||
deadline = time.Date(deadline.Year(), deadline.Month(), deadline.Day(), 23, 59, 59, 0, deadline.Location()) |
||||
return timeutil.TimeStamp(deadline.Unix()), nil |
||||
} |
||||
|
||||
func ParseAPIDeadlineToEndOfDay(t *time.Time) (timeutil.TimeStamp, error) { |
||||
if t == nil || t.IsZero() || t.Unix() == 0 { |
||||
return 0, nil |
||||
} |
||||
deadline := time.Date(t.Year(), t.Month(), t.Day(), 23, 59, 59, 0, setting.DefaultUILocation) |
||||
return timeutil.TimeStamp(deadline.Unix()), nil |
||||
} |
@ -1,11 +1,9 @@ |
||||
import $ from 'jquery'; |
||||
|
||||
export function initRepoMilestone() { |
||||
// Milestones
|
||||
if ($('.repository.new.milestone').length > 0) { |
||||
$('#clear-date').on('click', () => { |
||||
$('#deadline').val(''); |
||||
return false; |
||||
const page = document.querySelector('.repository.new.milestone'); |
||||
if (!page) return; |
||||
|
||||
const deadline = page.querySelector<HTMLInputElement>('form input[name=deadline]'); |
||||
document.querySelector('#milestone-clear-deadline').addEventListener('click', () => { |
||||
deadline.value = ''; |
||||
}); |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue