Class: Ezframe::DateType
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, #initialize, #key, #label, #make_error_box, #multi_inputs?, #no_edit?, #no_view?, #normalize, #type, type_name, #use_view_format, #validate
Instance Method Details
374
375
376
|
# File 'lib/ezframe/column_type.rb', line 374
def db_type
return "date"
end
|
360
361
362
363
364
365
366
367
368
369
370
371
372
|
# File 'lib/ezframe/column_type.rb', line 360
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
|
378
379
380
381
382
383
384
|
# File 'lib/ezframe/column_type.rb', line 378
def value
return nil if @value.nil? || (@value.is_a?(String) && @value.strip.empty?)
if @value.is_a?(Date) || @value.is_a?(Time)
return "%d-%02d-%02d" % [@value.year, @value.mon, @value.mday]
end
return @value
end
|
#value=(v) ⇒ Object
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
|
# File 'lib/ezframe/column_type.rb', line 386
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
y, m, d = v.split(/[\-\/]/)
@value = Date.new(y.to_i, m.to_i, d.to_i)
return
end
if v.is_a?(Date) || v.is_a?(Time)
@value = v
else
EzLog.info "[WARN] illegal value for date type: #{v.inspect}"
end
end
|
#view(opts = {}) ⇒ Object
412
413
414
415
416
417
418
419
420
421
422
423
|
# File 'lib/ezframe/column_type.rb', line 412
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" % [@value.year, @value.mon, @value.mday]
end
else
return @value
end
end
|