Sha256: c715342d1cacbab5277c1cf86df21964968c0df2e4fed9bf19a1128a3598ddbb

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Decidim
  module Lausanne
    module Budgets
      module AdminLog
        # This class holds the logic to present a `Decidim::Lausanne::Budgets::Project``
        # for the `AdminLog` log.
        #
        # Usage should be automatic and you shouldn't need to call this class
        # directly, but here's an example:
        #
        #    action_log = Decidim::ActionLog.last
        #    view_helpers # => this comes from the views
        #    ProjectPresenter.new(action_log, view_helpers).present
        class ProjectPresenter < Decidim::Log::BasePresenter
          private

            def action_string
              case action
              when "create", "delete", "update"
                "decidim.lausanne_budgets.admin_log.project.#{action}"
              else
                super
              end
            end

            def diff_fields_mapping
              {
                budget: :currency,
                description: :i18n,
                title: :i18n,
                decidim_scope_id: :scope
              }
            end

            def i18n_labels_scope
              "activemodel.attributes.project"
            end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
decidim-lausanne-budgets-0.1.0 app/presenters/decidim/lausanne/budgets/admin_log/project_presenter.rb