summaryrefslogtreecommitdiff
path: root/app/controllers/projects/starrers_controller.rb
blob: 91f49fc4d66ed8969a81610c41afb696d186db58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

class Projects::StarrersController < Projects::ApplicationController
  include SortingHelper

  feature_category :projects

  def index
    @starrers = UsersStarProjectsFinder.new(@project, params, current_user: @current_user).execute
    @sort = params[:sort].presence || sort_value_name
    @starrers = @starrers.preload_users.sort_by_attribute(@sort).page(params[:page])
    @public_count = @project.starrers.with_public_profile.size
    @total_count = @project.starrers.size
    @private_count = @total_count - @public_count
  end

  private

  def has_starred_project?(starrers)
    starrers.first { |starrer| starrer.user_id == current_user.id }
  end
end