Sha256: 27431e654b07375e0316131e9230cd4c69ba3c3dcc42ab4857bc9a96a894e79b

Contents?: true

Size: 1.21 KB

Versions: 7

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Decidim
  module InitiativesVotes
    class VoteCell < Decidim::ViewModel
      delegate :timestamp, :hash_id, to: :model

      def show
        render
      end

      def initiative_id
        model.initiative.reference
      end

      def initiative_title
        decidim_sanitize_translated(model.initiative.title)
      end

      def name_and_surname
        metadata[:name_and_surname]
      end

      def document_number
        metadata[:document_number]
      end

      def date_of_birth
        metadata[:date_of_birth]
      end

      def postal_code
        metadata[:postal_code]
      end

      def time_and_date
        model.created_at
      end

      def scope
        return I18n.t("decidim.scopes.global") if model.decidim_scope_id.nil?
        return I18n.t("decidim.initiatives.unavailable_scope") if model.scope.blank?

        translated_attribute(model.scope.name)
      end

      protected

      def encryptor
        @encryptor ||= Decidim::Initiatives::DataEncryptor.new(secret: "personal user metadata")
      end

      def metadata
        @metadata ||= model.encrypted_metadata ? encryptor.decrypt(model.encrypted_metadata) : {}
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-initiatives-0.29.2 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.1 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.0 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.0.rc4 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.0.rc3 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.0.rc2 app/cells/decidim/initiatives_votes/vote_cell.rb
decidim-initiatives-0.29.0.rc1 app/cells/decidim/initiatives_votes/vote_cell.rb