Class: Ezframe::DatetimeType
Instance Attribute Summary
Attributes inherited from TypeBase
#attribute, #error, #parent
Instance Method Summary
collapse
Methods inherited from TextType
#normalize
Methods inherited from TypeBase
#db_value, get_class, #key, #label, #make_error_box, #multi_inputs?, #no_edit?, #no_view?, #normalize, #type, type_name, #use_view_format, #validate
Constructor Details
#initialize(attr = nil) ⇒ DatetimeType
Returns a new instance of DatetimeType.
434
435
436
437
438
|
# File 'lib/ezframe/column_type.rb', line 434
def initialize(attr = nil)
super(attr)
@attribute[:class] = "datetpicker"
end
|
Instance Method Details
497
498
499
|
# File 'lib/ezframe/column_type.rb', line 497
def db_type
"timestamp"
end
|
483
484
485
486
487
488
489
490
491
492
493
494
495
|
# File 'lib/ezframe/column_type.rb', line 483
def form(opts = {})
return nil if no_edit? && !opts[:force]
h = super
return nil unless h
if h
h[:type] = "text"
h[:value] = @value || ""
h[:class] = [ "datepicker" ]
h[:class].push(@attribute[:class]) if @attribute[:class]
end
return h
end
|
501
502
503
504
505
|
# File 'lib/ezframe/column_type.rb', line 501
def value
return nil if @value.nil? || (@value.is_a?(String) && @value.strip.empty?)
return @value if @value.is_a?(Date) || @value.is_a?(Time)
return DateTime.parse(@value) if @value.is_a?(String)
end
|
#value=(v) ⇒ Object
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
|
# File 'lib/ezframe/column_type.rb', line 440
def value=(v)
if v.nil?
default = @attribute[:default]
if default
@value = default
else
@value = nil
end
return
end
if v.is_a?(String)
if v.strip.empty?
@value = nil
return
end
begin
@value = DateTime.parse(v)
rescue => e
EzLog.warn("date format error: #{self.key}=#{v}:#{e}")
@value = nil
end
return
end
if v.is_a?(Date) || v.is_a?(Time) || v.is_a?(DateTime)
@value = v
else
EzLog.info "[WARN] illegal value for date type: #{v.inspect}"
end
end
|
#view(opts = {}) ⇒ Object
470
471
472
473
474
475
476
477
478
479
480
481
|
# File 'lib/ezframe/column_type.rb', line 470
def view(opts = {})
return nil if no_view? && !opts[:force]
if @value.is_a?(Time) || @value.is_a?(Date)
if @attribute[:view_format]
return use_view_format(@attribute[:view_format], @value)
else
return "%d/%02d/%02d %02d:%02d:%02d"%[@value.year, @value.mon, @value.mday, @value.hour, @value.min, @value.sec]
end
else
return @value
end
end
|