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"