Class: Decidim::DecidimAwesome::Admin::CookieCategoryForm
- Inherits:
-
Form
- Object
- Form
- Decidim::DecidimAwesome::Admin::CookieCategoryForm
- Includes:
- TranslatableAttributes
- Defined in:
- app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb
Constant Summary collapse
- VISIBILITY_STATES =
%w(visible hidden).freeze
Instance Method Summary collapse
- #blocked? ⇒ Boolean
- #categories ⇒ Object
- #current_category ⇒ Object
- #id ⇒ Object
- #non_editable_fields_unchanged ⇒ Object
- #slug_blocked? ⇒ Boolean
- #to_params ⇒ Object
- #validate_uniqueness ⇒ Object
- #visibility_options ⇒ Object
Instance Method Details
#blocked? ⇒ Boolean
66 67 68 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 66 def blocked? current_category && current_category["blocked"] end |
#categories ⇒ Object
54 55 56 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 54 def categories context[:categories] || {} end |
#current_category ⇒ Object
62 63 64 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 62 def current_category categories[id] end |
#id ⇒ Object
58 59 60 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 58 def id context[:id] end |
#non_editable_fields_unchanged ⇒ Object
31 32 33 34 35 36 37 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 31 def non_editable_fields_unchanged errors.add(:slug, :invalid) if slug_blocked? && (slug != current_category["slug"]) if blocked? errors.add(:mandatory, :invalid) unless mandatory errors.add(:visibility, :invalid) unless visibility == "visible" end end |
#slug_blocked? ⇒ Boolean
70 71 72 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 70 def slug_blocked? current_category && current_category["default"] end |
#to_params ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 43 def to_params { "title" => title, "slug" => slug, "edited" => true, "description" => description, "visibility" => visibility, "mandatory" => mandatory } end |
#validate_uniqueness ⇒ Object
25 26 27 28 29 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 25 def validate_uniqueness return if categories[slug].nil? errors.add(:slug, :taken) if slug != id end |
#visibility_options ⇒ Object
39 40 41 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_category_form.rb', line 39 def VISIBILITY_STATES.index_by { |state| I18n.t("cookie_categories.form.visibility.#{state}", scope: "decidim.decidim_awesome.admin") } end |