Welcome to mirror list, hosted at ThFree Co, Russian Federation.

wiki_directories_controller.rb « projects « controllers « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: f66da60f4980e18f9166bad83775185d221588d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# frozen_string_literal: true

class Projects::WikiDirectoriesController < Projects::ApplicationController
  include ProjectWikiActions

  def self.local_prefixes
    [controller_path, 'shared/wiki']
  end

  def show
    @wiki_dir = find_dir || WikiDirectory.new(params[:id])

    return render('empty') if @wiki_dir.empty?

    @wiki_entries = @wiki_pages = Kaminari
      .paginate_array(@wiki_dir.pages)
      .page(params[:page])

    render 'show'
  end

  private

  def find_dir
    dir_params = params.permit(:id, :sort, :direction).dup.tap do |h|
      Gitlab::Utils.allow_hash_values(h, sort_params_config[:allowed])
    end

    project_wiki.find_dir(dir_params[:id], dir_params[:sort], dir_params[:direction])
  end
end