mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-19 10:07:55 +08:00
This commit is contained in:

committed by
Benedek Farkas

parent
bae1bc6763
commit
ecf3e66ee1
@@ -158,7 +158,7 @@ namespace Orchard.Fields.Drivers {
|
||||
updater.AddModelError(GetPrefix(field, part), T("{0} is required.", T(field.DisplayName)));
|
||||
}
|
||||
|
||||
field.DateTime = value.HasValue ? value.Value : DateTime.MinValue;
|
||||
field.DateTime = value.HasValue ? value.Value : (System.DateTime?)null;
|
||||
}
|
||||
|
||||
return Editor(part, field, shapeHelper);
|
||||
|
@@ -6,23 +6,30 @@ using Orchard.Fields.Settings;
|
||||
namespace Orchard.Fields.Fields {
|
||||
public class DateTimeField : ContentField {
|
||||
|
||||
public DateTime DateTime {
|
||||
public DateTime? DateTime {
|
||||
get {
|
||||
var settings = this.PartFieldDefinition.Settings.GetModel<DateTimeFieldSettings>();
|
||||
var value = Storage.Get<DateTime>();
|
||||
var value = Storage.Get<DateTime?>();
|
||||
if (value.HasValue) {
|
||||
if (settings.Display == DateTimeFieldDisplays.DateOnly) {
|
||||
return new DateTime(value.Year, value.Month, value.Day);
|
||||
return new DateTime(value.Value.Year, value.Value.Month, value.Value.Day);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
set {
|
||||
if (value.HasValue) {
|
||||
var settings = this.PartFieldDefinition.Settings.GetModel<DateTimeFieldSettings>();
|
||||
if (settings.Display == DateTimeFieldDisplays.DateOnly) {
|
||||
Storage.Set(new DateTime(value.Year, value.Month, value.Day));
|
||||
Storage.Set(new DateTime(value.Value.Year, value.Value.Month, value.Value.Day));
|
||||
}
|
||||
else {
|
||||
Storage.Set(value);
|
||||
Storage.Set(value.Value);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Storage.Set<System.DateTime?>(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -55,9 +55,9 @@ namespace Orchard.Fields.Tokens {
|
||||
;
|
||||
|
||||
context.For<DateTimeField>("DateTimeField")
|
||||
.Token("Date", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateFormat, _cultureInfo.Value)))
|
||||
.Token("Time", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortTimeFormat, _cultureInfo.Value)))
|
||||
.Token("DateTime", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateTimeFormat, _cultureInfo.Value)))
|
||||
.Token("Date", (Func<DateTimeField, object>)(d => d.DateTime.HasValue ? d.DateTime.Value.ToString(_dateTimeLocalization.ShortDateFormat, _cultureInfo.Value) : null))
|
||||
.Token("Time", (Func<DateTimeField, object>)(d => d.DateTime.HasValue ? d.DateTime.Value.ToString(_dateTimeLocalization.ShortTimeFormat, _cultureInfo.Value) : null))
|
||||
.Token("DateTime", (Func<DateTimeField, object>)(d => d.DateTime.HasValue ? d.DateTime.Value.ToString(_dateTimeLocalization.ShortDateTimeFormat, _cultureInfo.Value) : null))
|
||||
.Chain("DateTime", "Date", (Func<DateTimeField, object>)(field => field.DateTime))
|
||||
;
|
||||
}
|
||||
|
Reference in New Issue
Block a user