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 | 
