Class: Decidim::DecidimAwesome::Admin::CookieItemForm
- Inherits:
-
Form
- Object
- Form
- Decidim::DecidimAwesome::Admin::CookieItemForm
- Includes:
- TranslatableAttributes
- Defined in:
- app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb
Constant Summary collapse
- ITEM_TYPES =
%w(cookie local_storage).freeze
Instance Method Summary collapse
- #blocked? ⇒ Boolean
- #category ⇒ Object
- #category_items ⇒ Object
- #current_item ⇒ Object
- #id ⇒ Object
- #item_type_options ⇒ Object
- #non_editable_fields_unchanged ⇒ Object
- #to_params ⇒ Object
- #validate_uniqueness ⇒ Object
Instance Method Details
#blocked? ⇒ Boolean
74 75 76 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 74 def blocked? current_item && category["default"] && current_item["default"] end |
#category ⇒ Object
58 59 60 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 58 def category context[:category] || {} end |
#category_items ⇒ Object
66 67 68 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 66 def category_items category["items"] || {} end |
#current_item ⇒ Object
70 71 72 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 70 def current_item category_items[id] end |
#id ⇒ Object
62 63 64 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 62 def id context[:id] end |
#item_type_options ⇒ Object
41 42 43 44 45 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 41 def ITEM_TYPES.index_by do |type| I18n.t("cookie_item.types.#{type}", scope: "activemodel.attributes") end end |
#non_editable_fields_unchanged ⇒ Object
35 36 37 38 39 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 35 def non_editable_fields_unchanged errors.add(:type, :invalid) unless type == current_item["type"] errors.add(:name, :invalid) unless name == current_item["name"] errors.add(:expiration, :invalid) unless expiration == current_item["expiration"] end |
#to_params ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 47 def to_params { "name" => name, "type" => type.presence || "cookie", "edited" => true, "service" => service, "description" => description, "expiration" => expiration } end |
#validate_uniqueness ⇒ Object
29 30 31 32 33 |
# File 'app/forms/decidim/decidim_awesome/admin/cookie_item_form.rb', line 29 def validate_uniqueness return if category_items[name].nil? errors.add(:name, :taken) if name != id end |