mirror of https://github.com/go-gitea/gitea.git
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() {
|
export function initRepoMilestone() {
|
||||||
// Milestones
|
const page = document.querySelector('.repository.new.milestone');
|
||||||
if ($('.repository.new.milestone').length > 0) {
|
if (!page) return;
|
||||||
$('#clear-date').on('click', () => {
|
|
||||||
$('#deadline').val('');
|
const deadline = page.querySelector<HTMLInputElement>('form input[name=deadline]');
|
||||||
return false;
|
document.querySelector('#milestone-clear-deadline').addEventListener('click', () => {
|
||||||
|
deadline.value = '';
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue