Module: Decidim::DirectVerifications::Admin::NeedsVerificationSnippets

Extended by:
ActiveSupport::Concern
Defined in:
app/controllers/concerns/decidim/direct_verifications/admin/needs_verification_snippets.rb

Instance Method Summary collapse

Instance Method Details

#detect_current_localeObject



55
56
57
# File 'app/controllers/concerns/decidim/direct_verifications/admin/needs_verification_snippets.rb', line 55

def detect_current_locale
  params[:locale] || session[:user_locale] || locale
end

#direct_verifications_configObject



28
29
30
31
32
33
34
35
36
37
38
# File 'app/controllers/concerns/decidim/direct_verifications/admin/needs_verification_snippets.rb', line 28

def direct_verifications_config
  {
    buttonTitle: I18n.t("decidim.direct_verifications.participants.modal.button_title", locale: detect_current_locale),
    modalTitle: I18n.t("decidim.direct_verifications.participants.modal.modal_title", locale: detect_current_locale),
    closeModalLabel: I18n.t("decidim.direct_verifications.participants.modal.close_modal_label", locale: detect_current_locale),
    statsLabel: I18n.t("decidim.direct_verifications.verification.admin.index.stats", locale: detect_current_locale),
    userVerificationsPath: Decidim::DirectVerifications::Verification::AdminEngine.routes.url_helpers.user_authorization_path("-ID-"),
    statsPath: Decidim::DirectVerifications::Verification::AdminEngine.routes.url_helpers.stats_path,
    verifications: direct_verifications_verifications
  }
end

#direct_verifications_verificationsObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/controllers/concerns/decidim/direct_verifications/admin/needs_verification_snippets.rb', line 40

def direct_verifications_verifications
  @direct_verifications_verifications ||= Decidim::Authorization.where(name: current_organization.available_authorizations)
                                                                .where.not(granted_at: nil)
                                                                .where(decidim_user_id: filtered_collection).map do |auth|
    {
      id: auth.id,
      userId: auth.decidim_user_id,
      name: auth.name,
      title: I18n.t("decidim.authorization_handlers.#{auth.name}.name", locale: detect_current_locale, default: auth.name),
      createdAt: auth.created_at,
      updatedAt: auth.updated_at
    }
  end
end

#snippetsObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/concerns/decidim/direct_verifications/admin/needs_verification_snippets.rb', line 15

def snippets
  return @snippets if @snippets

  @snippets = Decidim::Snippets.new
  return @snippets if Decidim::DirectVerifications.participants_modal.blank?

  @snippets.add(:direct_verifications, "<script>DirectVerificationsConfig = #{direct_verifications_config.to_json}</script>")
  @snippets.add(:direct_verifications, ActionController::Base.helpers.javascript_pack_tag("decidim_direct_verifications_participants"))
  @snippets.add(:head, @snippets.for(:direct_verifications))

  @snippets
end