Sha256: 02932412ee9ec19d7d9a0393812f25e19303c322373045ed48c14a5ded44dcc5

Contents?: true

Size: 705 Bytes

Versions: 15

Compression:

Stored size: 705 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # The form object that handles the data behind updating a user's
  # interests in their profile page.
  class UserInterestScopeForm < Form
    mimic :scope

    attribute :name, JsonbAttributes
    attribute :checked, Boolean
    attribute :children, Array[UserInterestScopeForm]

    def map_model(model_hash)
      scope = model_hash[:scope]
      user = model_hash[:user]

      self.id = scope.id
      self.name = scope.name
      self.checked = user.interested_scopes_ids.include?(scope.id)
      self.children = scope.children.map do |children_scope|
        UserInterestScopeForm.from_model(scope: children_scope, user:)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-core-0.29.2 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.5 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.1 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.4 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.0 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.3 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.0.rc4 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.0.rc3 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.0.rc2 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.29.0.rc1 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.2 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.1 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.0 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.0.rc5 app/forms/decidim/user_interest_scope_form.rb
decidim-core-0.28.0.rc4 app/forms/decidim/user_interest_scope_form.rb