Sha256: 0ce83a688194da3bf807e9cc28cf95fa7ddebe2f341412a0370eea551dcde79b

Contents?: true

Size: 810 Bytes

Versions: 7

Compression:

Stored size: 810 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Proposals
    #
    # Decorator for proposals
    #
    class ProposalPresenter < SimpleDelegator
      include Rails.application.routes.mounted_helpers
      include ActionView::Helpers::UrlHelper

      def author
        @author ||= if official?
                      Decidim::Proposals::OfficialAuthorPresenter.new
                    elsif user_group
                      Decidim::UserGroupPresenter.new(user_group)
                    else
                      Decidim::UserPresenter.new(super)
                    end
      end

      def proposal_path
        proposal = __getobj__
        Decidim::ResourceLocatorPresenter.new(proposal).path
      end

      def display_mention
        link_to title, proposal_path
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-proposals-0.12.2 app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.12.1 app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.12.0 app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.11.2 app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.12.0.pre app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.11.1 app/presenters/decidim/proposals/proposal_presenter.rb
decidim-proposals-0.11.0.pre1 app/presenters/decidim/proposals/proposal_presenter.rb