gitlab-org--gitlab-foss/app/controllers/dashboard/milestones_controller.rb

35 lines
869 B
Ruby

# frozen_string_literal: true
class Dashboard::MilestonesController < Dashboard::ApplicationController
before_action :projects
before_action :groups, only: :index
feature_category :team_planning
urgency :low
def index
respond_to do |format|
format.html do
@milestone_states = Milestone.states_count(@projects.select(:id), groups.select(:id))
@milestones = milestones.page(params[:page])
end
format.json do
render json: milestones.to_json(only: [:id, :title, :due_date], methods: :name)
end
end
end
private
def milestones
MilestonesFinder.new(search_params).execute
end
def groups
@groups ||= GroupsFinder.new(current_user, all_available: false).execute
end
def search_params
params.permit(:state, :search_title).merge(group_ids: groups, project_ids: projects)
end
end