From 6b220a753ac466c7d622297d6bb6398f9db61bae Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 1 Oct 2025 10:48:54 +0800 Subject: [PATCH] :art: Add `Default fill specific time` switch to database date field https://github.com/siyuan-note/siyuan/issues/12089#issuecomment-3353276813 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/attribute_view.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 5d1434728..4d5570566 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -2206,16 +2206,26 @@ func setAttrViewColDateFillSpecificTime(operation *Operation) (err error) { } keyID := operation.ID - key, _ := attrView.GetKey(keyID) - if nil == key || av.KeyTypeDate != key.Type { + dateValues, _ := attrView.GetKeyValues(keyID) + if nil == dateValues || av.KeyTypeDate != dateValues.Key.Type { return } - if nil == key.Date { - key.Date = &av.Date{} + if nil == dateValues.Key.Date { + dateValues.Key.Date = &av.Date{} + } + + dateValues.Key.Date.FillSpecificTime = operation.Data.(bool) + for _, v := range dateValues.Values { + if !v.IsEmpty() { + continue + } + if nil == v.Date { + v.Date = &av.ValueDate{} + } + v.Date.IsNotTime = !dateValues.Key.Date.FillSpecificTime } - key.Date.FillSpecificTime = operation.Data.(bool) err = av.SaveAttributeView(attrView) return }