Sha256: 44fff3fd2c81ca88014572537b3321a4075c49211d69bcc1aeef492613e38a58

Contents?: true

Size: 983 Bytes

Versions: 15

Compression:

Stored size: 983 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # This cell renders the card of a user to show in followers and followed
  # lists.
  class UserProfileCell < Decidim::CardCell
    delegate :nickname, to: :presented_resource
    delegate :name, to: :presented_resource
    delegate :officialized?, to: :presented_resource
    delegate :badge, to: :presented_resource

    def user
      group_membership? ? model.user : model
    end

    def avatar
      present(user).avatar_url
    end

    def role
      return model.role if group_membership?
      return "admin" if user.admin?
    end

    def show_badge?
      user_group? ? badge.present? : officialized?
    end

    def resource_path
      # Exposes the same method, both Decidim::User and Decidim::UserGroup
      user.try(:profile_url) || decidim.profile_path(user.nickname)
    end

    def presented_resource
      @presented_resource ||= user.class.name.include?("Presenter") ? model : present(user)
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-core-0.29.2 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.5 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.1 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.4 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.0 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.3 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.0.rc4 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.0.rc3 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.0.rc2 app/cells/decidim/user_profile_cell.rb
decidim-core-0.29.0.rc1 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.2 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.1 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.0 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.0.rc5 app/cells/decidim/user_profile_cell.rb
decidim-core-0.28.0.rc4 app/cells/decidim/user_profile_cell.rb