Class: Decidim::Forms::Admin::QuestionForm

Inherits:
Decidim::Form show all
Includes:
TranslatableAttributes
Defined in:
decidim-forms/app/forms/decidim/forms/admin/question_form.rb

Overview

This class holds a Form to update questionnaire questions from Decidim's admin panel.

Constant Summary

Constants included from AttributeObject::TypeMap

AttributeObject::TypeMap::Boolean, AttributeObject::TypeMap::Decimal

Instance Attribute Summary

Attributes inherited from AttributeObject::Form

#context

Instance Method Summary collapse

Methods included from TranslatableAttributes

#default_locale?

Methods inherited from AttributeObject::Form

ensure_hash, from_model, from_params, hash_from, infer_model_name, #map_model, mimic, mimicked_model_name, model_name, #persisted?, #to_key, #to_model, #valid?, #with_context

Methods included from AttributeObject::Model

#[], #[]=, #attributes, #attributes_with_values, #initialize, #to_h

Instance Method Details

#matrix_rows_by_positionObject


49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'decidim-forms/app/forms/decidim/forms/admin/question_form.rb', line 49

def matrix_rows_by_position
  matrix_rows.sort do |a, b|
    if a.position && b.position
      a.position <=> b.position
    elsif a.position
      -1
    elsif b.position
      1
    else
      0
    end
  end
end

#number_of_optionsObject


37
38
39
# File 'decidim-forms/app/forms/decidim/forms/admin/question_form.rb', line 37

def number_of_options
  answer_options.size
end

#separator?Boolean

Returns:


41
42
43
# File 'decidim-forms/app/forms/decidim/forms/admin/question_form.rb', line 41

def separator?
  question_type == Decidim::Forms::Question::SEPARATOR_TYPE
end

#title_and_description?Boolean

Returns:


45
46
47
# File 'decidim-forms/app/forms/decidim/forms/admin/question_form.rb', line 45

def title_and_description?
  question_type == Decidim::Forms::Question::TITLE_AND_DESCRIPTION_TYPE
end

#to_paramObject


31
32
33
34
35
# File 'decidim-forms/app/forms/decidim/forms/admin/question_form.rb', line 31

def to_param
  return id if id.present?

  "questionnaire-question-id"
end