Sha256: 9d12a1eb13d15312fd0e0438205a44babdae370cc75e70b48c96655054ce5f42

Contents?: true

Size: 1.55 KB

Versions: 6

Compression:

Stored size: 1.55 KB

Contents

# frozen_string_literal: true

module Decidim
  class ProfileCell < Decidim::ViewModel
    include Decidim::ApplicationHelper
    include Decidim::Core::Engine.routes.url_helpers
    include Decidim::UserProfileHelper
    include Decidim::AriaSelectedLinkToHelper
    include ActiveLinkTo

    delegate :current_organization, :current_user, :user_groups_enabled?, to: :controller

    def show
      if profile_holder.blocked? && current_user_logged_in?
        render :inaccessible
      else
        render :show
      end
    end

    def profile_holder
      model
    end

    def content_cell
      context[:content_cell]
    end

    def active_content
      context[:active_content]
    end

    def current_user_logged_in?
      current_user && !current_user.admin?
    end

    def own_profile?
      current_user && current_user == profile_holder
    end

    def manageable_group?
      return false unless profile_holder.is_a?(Decidim::UserGroup)

      current_user && current_user.manageable_user_groups.include?(profile_holder)
    end

    def profile_tabs
      return render :user_group_tabs if profile_holder.is_a?(Decidim::UserGroup)

      render :user_tabs
    end

    def unread_count
      return profile_holder.unread_messages_count_for(current_user) if profile_holder.is_a?(Decidim::UserGroup)

      current_user.unread_messages_count
    end

    def label_conversations
      label = I18n.t("decidim.profiles.show.conversations")
      label = "#{label} <span class=\"badge\">#{unread_count}</span>" if unread_count.positive?
      label
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-core-0.24.3 app/cells/decidim/profile_cell.rb
decidim-core-0.24.2 app/cells/decidim/profile_cell.rb
decidim-core-0.24.1 app/cells/decidim/profile_cell.rb
decidim-core-0.24.0 app/cells/decidim/profile_cell.rb
decidim-core-0.24.0.rc2 app/cells/decidim/profile_cell.rb
decidim-core-0.24.0.rc1 app/cells/decidim/profile_cell.rb