lib/ecoportal/api/v2/page/component/date_field.rb in ecoportal-api-v2-0.8.29 vs lib/ecoportal/api/v2/page/component/date_field.rb in ecoportal-api-v2-0.8.30
- old
+ new
@@ -33,11 +33,12 @@
self.past_only = false
doc["create_event"] = !!value
end
def to_s
- value.to_s
+ return nil unless value
+ to_local_time(value).strftime(ISO8601)
end
# Quick config helper
# @param conf [Symbol, Array<Symbol>]
# - `:time` to show time
@@ -75,9 +76,26 @@
super(*unused)
end
end
private
+
+ def to_local_time(value)
+ case value
+ when DateTime
+ value.new_offset(local_offset).to_time
+ when String
+ to_local_time(Time.parse(value))
+ when Date
+ to_local_time(value.to_time)
+ when Time
+ to_local_time(value.to_datetime)
+ end
+ end
+
+ def local_offset
+ @local_offset ||= DateTime.now.offset
+ end
def configure_reminder(value)
case value
when :never, NilClass
self.remind_me_in = "never"