Sha256: 97042972ea07ae1710f87a525a05659d5da2dc593908882d108f9f8958a06449

Contents?: true

Size: 1.2 KB

Versions: 33

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Decidim
  class ContextualHelpSection < ApplicationRecord
    include Decidim::TranslatableResource

    translatable_fields :content

    belongs_to :organization, class_name: "Decidim::Organization"
    validates :organization, presence: true
    validates :content, presence: true

    # Public: Finds content given an id
    #
    # organization - The Organization to scope the content to
    # id - A String with the id
    #
    # Returns a Hash with the localized content
    def self.find_content(organization, id)
      find_by(organization: organization, section_id: id).try(:content) || {}
    end

    # Public: Stores the content.
    #
    # organization - The Organization to scope the content to
    # id           - A String with the id
    # content      - A Hash with the content to store
    #
    # Returns a Hash with the localized content
    def self.set_content(organization, id, content)
      item = find_or_initialize_by(
        organization: organization,
        section_id: id
      )

      if content.present? && content.values.any?(&:present?)
        item.update!(content: content)
      else
        item.destroy!
      end

      content
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
decidim-core-0.26.10 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.9 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.8 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.7 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.5 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.4 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.3 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.2 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.1 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.0 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.0.rc2 app/models/decidim/contextual_help_section.rb
decidim-core-0.26.0.rc1 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.2 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.1 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.0 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.0.rc4 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.0.rc3 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.0.rc2 app/models/decidim/contextual_help_section.rb
decidim-core-0.25.0.rc1 app/models/decidim/contextual_help_section.rb
decidim-core-0.24.3 app/models/decidim/contextual_help_section.rb