Sha256: 8fe821c64b0713c8f08718e6ca72ede755f4bcc53994537537ff4f62e760ae1b

Contents?: true

Size: 1.59 KB

Versions: 18

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

module Decidim
  module Verifications
    module PostalLetter
      #
      # Decorator for postal letter authorizations.
      #
      class AuthorizationPresenter < SimpleDelegator
        def self.for_collection(authorizations)
          authorizations.map { |authorization| new(authorization) }
        end

        #
        # The address where the verification code will be sent
        #
        def verification_address
          verification_metadata["address"]
        end

        #
        # The verification code to be sent. It is kept in a different metadata
        # key according to whether it has already been sent or not
        #
        def verification_code
          if letter_sent?
            verification_metadata["verification_code"]
          else
            verification_metadata["pending_verification_code"]
          end
        end

        #
        # Whether the letter with the verification code has already been sent or
        # not
        #
        def letter_sent?
          verification_metadata["verification_code"].present?
        end

        #
        # Formatted time when the postal letter was sent. Or an informational
        # string if not yet sent
        #
        def letter_sent_at
          unless letter_sent?
            return I18n.t("pending_authorizations.index.not_yet_sent",
                          scope: "decidim.verifications.postal_letter.admin")
          end

          I18n.l(
            Time.zone.parse(verification_metadata["letter_sent_at"]),
            format: :short
          )
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
decidim-verifications-0.30.0.rc3 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.30.0.rc2 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.30.0.rc1 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.2 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.5 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.1 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.4 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.0 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.3 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.0.rc4 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.0.rc3 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.0.rc2 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.29.0.rc1 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.2 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.1 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.0 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.0.rc5 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
decidim-verifications-0.28.0.rc4 app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb