diff options
Diffstat (limited to 'app/inputs')
| -rw-r--r-- | app/inputs/check_boxes_input.rb | 17 | ||||
| -rw-r--r-- | app/inputs/extended_time_picker_input.rb | 12 |
2 files changed, 29 insertions, 0 deletions
diff --git a/app/inputs/check_boxes_input.rb b/app/inputs/check_boxes_input.rb new file mode 100644 index 000000000..83137c224 --- /dev/null +++ b/app/inputs/check_boxes_input.rb @@ -0,0 +1,17 @@ +class CheckBoxesInput < Formtastic::Inputs::CheckBoxesInput + + def selected_values + if object.respond_to?(method) + selected_items = [object.send(method)].compact.flatten + + # FIX for ids only + return selected_items.map(&:to_s).compact if selected_items.all?{ |i| i.is_a? Integer} + + [*selected_items.map { |o| send_or_call_or_object(value_method, o) }].compact + else + [] + end + end + +end + diff --git a/app/inputs/extended_time_picker_input.rb b/app/inputs/extended_time_picker_input.rb new file mode 100644 index 000000000..46b5bbdb4 --- /dev/null +++ b/app/inputs/extended_time_picker_input.rb @@ -0,0 +1,12 @@ +class ExtendedTimePickerInput < Formtastic::Inputs::TimePickerInput + + def value + return options[:input_html][:value] if options[:input_html] && options[:input_html].key?(:value) + val = object.send(method) + return "00:00:00" if val.is_a?(Date) + return val.strftime("%H:%M:%S") if val.is_a?(Time) + return val if val.nil? + val.to_s + end + +end |
