Sha256: ee75a57bdd77bc7e0605b01bc1c035792301c76d99c4ebb79c26e996bd253944

Contents?: true

Size: 1.85 KB

Versions: 25

Compression:

Stored size: 1.85 KB

Contents

# frozen_string_literal: true

module Decidim
  module Consultations
    # Helper for questions controller
    module QuestionsHelper
      # Returns a link to the next/previous question if found.
      # Else, returns a disabled link to the current question.
      def display_next_previous_button(direction, optional_classes = "")
        # rubocop: disable Style/StringConcatenation as we don't want the string to be frozen
        css = "card__button button hollow " + optional_classes
        # rubocop: enable Style/StringConcatenation

        # Do not show anything if is a lonely question
        return unless previous_published_question || next_published_question

        case direction
        when :previous
          i18n_text = t("previous_button", scope: "decidim.questions")
          question = previous_published_question || current_question
          css << " disabled" if previous_published_question.nil?
        when :next
          i18n_text = t("next_button", scope: "decidim.questions")
          question = next_published_question || current_question
          css << " disabled" if next_published_question.nil?
        end

        link_to(i18n_text, decidim_consultations.question_path(question), class: css)
      end

      def authorized_vote_modal_button(question, html_options, &block)
        return if current_user && action_authorized_to(:vote, resource: nil, permissions_holder: question).ok?

        tag = "button"
        html_options ||= {}

        if !current_user
          html_options["data-open"] = "loginModal"
        else
          html_options["data-open"] = "authorizationModal"
          html_options["data-open-url"] = decidim_consultations.authorization_vote_modal_question_path(question)
        end

        html_options["onclick"] = "event.preventDefault();"

        send("#{tag}_to", "", html_options, &block)
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

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