Commit 078a8f0e662a1626b53bbf7f7c3e2b0599c94810
1 parent
0439387b
Exists in
master
and in
4 other branches
factorize before_filters and layout for projects related controllers
Showing
17 changed files
with
33 additions
and
101 deletions
Show diff stats
app/controllers/application_controller.rb
| @@ -76,7 +76,7 @@ class ApplicationController < ActionController::Base | @@ -76,7 +76,7 @@ class ApplicationController < ActionController::Base | ||
| 76 | end | 76 | end |
| 77 | 77 | ||
| 78 | def project | 78 | def project |
| 79 | - @project ||= current_user.projects.find_by_code(params[:project_id]) | 79 | + @project ||= current_user.projects.find_by_code(params[:project_id] || params[:id]) |
| 80 | @project || render_404 | 80 | @project || render_404 |
| 81 | end | 81 | end |
| 82 | 82 |
app/controllers/commits_controller.rb
| 1 | require "base64" | 1 | require "base64" |
| 2 | 2 | ||
| 3 | -class CommitsController < ApplicationController | ||
| 4 | - before_filter :project | ||
| 5 | - layout "project" | ||
| 6 | - | 3 | +class CommitsController < ProjectController |
| 7 | # Authorize | 4 | # Authorize |
| 8 | - before_filter :add_project_abilities | ||
| 9 | before_filter :authorize_read_project! | 5 | before_filter :authorize_read_project! |
| 10 | before_filter :authorize_code_access! | 6 | before_filter :authorize_code_access! |
| 11 | before_filter :require_non_empty_project | 7 | before_filter :require_non_empty_project |
app/controllers/deploy_keys_controller.rb
| 1 | -class DeployKeysController < ApplicationController | 1 | +class DeployKeysController < ProjectController |
| 2 | respond_to :html | 2 | respond_to :html |
| 3 | - layout "project" | ||
| 4 | - before_filter :project | ||
| 5 | 3 | ||
| 6 | # Authorize | 4 | # Authorize |
| 7 | - before_filter :add_project_abilities | ||
| 8 | before_filter :authorize_admin_project! | 5 | before_filter :authorize_admin_project! |
| 9 | 6 | ||
| 10 | - def project | ||
| 11 | - @project ||= Project.find_by_code(params[:project_id]) | ||
| 12 | - end | ||
| 13 | - | ||
| 14 | def index | 7 | def index |
| 15 | @keys = @project.deploy_keys.all | 8 | @keys = @project.deploy_keys.all |
| 16 | end | 9 | end |
app/controllers/hooks_controller.rb
| 1 | -class HooksController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - layout "project" | ||
| 4 | - | 1 | +class HooksController < ProjectController |
| 5 | # Authorize | 2 | # Authorize |
| 6 | - before_filter :add_project_abilities | ||
| 7 | before_filter :authorize_read_project! | 3 | before_filter :authorize_read_project! |
| 8 | before_filter :authorize_admin_project!, only: [:new, :create, :destroy] | 4 | before_filter :authorize_admin_project!, only: [:new, :create, :destroy] |
| 9 | 5 |
app/controllers/issues_controller.rb
| 1 | -class IssuesController < ApplicationController | ||
| 2 | - before_filter :project | 1 | +class IssuesController < ProjectController |
| 3 | before_filter :module_enabled | 2 | before_filter :module_enabled |
| 4 | before_filter :issue, only: [:edit, :update, :destroy, :show] | 3 | before_filter :issue, only: [:edit, :update, :destroy, :show] |
| 5 | helper_method :issues_filter | 4 | helper_method :issues_filter |
| 6 | 5 | ||
| 7 | - layout "project" | ||
| 8 | - | ||
| 9 | - # Authorize | ||
| 10 | - before_filter :add_project_abilities | ||
| 11 | - | ||
| 12 | # Allow read any issue | 6 | # Allow read any issue |
| 13 | before_filter :authorize_read_issue! | 7 | before_filter :authorize_read_issue! |
| 14 | 8 |
app/controllers/labels_controller.rb
| 1 | -class LabelsController < ApplicationController | ||
| 2 | - before_filter :project | 1 | +class LabelsController < ProjectController |
| 3 | before_filter :module_enabled | 2 | before_filter :module_enabled |
| 4 | 3 | ||
| 5 | - layout "project" | ||
| 6 | - | ||
| 7 | - # Authorize | ||
| 8 | - before_filter :add_project_abilities | ||
| 9 | - | ||
| 10 | # Allow read any issue | 4 | # Allow read any issue |
| 11 | before_filter :authorize_read_issue! | 5 | before_filter :authorize_read_issue! |
| 12 | 6 |
app/controllers/merge_requests_controller.rb
| 1 | -class MergeRequestsController < ApplicationController | ||
| 2 | - before_filter :project | 1 | +class MergeRequestsController < ProjectController |
| 3 | before_filter :module_enabled | 2 | before_filter :module_enabled |
| 4 | before_filter :merge_request, only: [:edit, :update, :destroy, :show, :commits, :diffs, :automerge, :automerge_check, :raw] | 3 | before_filter :merge_request, only: [:edit, :update, :destroy, :show, :commits, :diffs, :automerge, :automerge_check, :raw] |
| 5 | before_filter :validates_merge_request, only: [:show, :diffs, :raw] | 4 | before_filter :validates_merge_request, only: [:show, :diffs, :raw] |
| 6 | before_filter :define_show_vars, only: [:show, :diffs] | 5 | before_filter :define_show_vars, only: [:show, :diffs] |
| 7 | - layout "project" | ||
| 8 | - | ||
| 9 | - # Authorize | ||
| 10 | - before_filter :add_project_abilities | ||
| 11 | 6 | ||
| 12 | # Allow read any merge_request | 7 | # Allow read any merge_request |
| 13 | before_filter :authorize_read_merge_request! | 8 | before_filter :authorize_read_merge_request! |
app/controllers/milestones_controller.rb
| 1 | -class MilestonesController < ApplicationController | ||
| 2 | - before_filter :project | 1 | +class MilestonesController < ProjectController |
| 3 | before_filter :module_enabled | 2 | before_filter :module_enabled |
| 4 | before_filter :milestone, only: [:edit, :update, :destroy, :show] | 3 | before_filter :milestone, only: [:edit, :update, :destroy, :show] |
| 5 | - layout "project" | ||
| 6 | - | ||
| 7 | - # Authorize | ||
| 8 | - before_filter :add_project_abilities | ||
| 9 | 4 | ||
| 10 | # Allow read any milestone | 5 | # Allow read any milestone |
| 11 | before_filter :authorize_read_milestone! | 6 | before_filter :authorize_read_milestone! |
app/controllers/notes_controller.rb
| 1 | -class NotesController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - | 1 | +class NotesController < ProjectController |
| 4 | # Authorize | 2 | # Authorize |
| 5 | - before_filter :add_project_abilities | ||
| 6 | - | ||
| 7 | before_filter :authorize_read_note! | 3 | before_filter :authorize_read_note! |
| 8 | before_filter :authorize_write_note!, only: [:create] | 4 | before_filter :authorize_write_note!, only: [:create] |
| 9 | 5 |
| @@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
| 1 | +class ProjectController < ApplicationController | ||
| 2 | + before_filter :project | ||
| 3 | + # Authorize | ||
| 4 | + before_filter :add_project_abilities | ||
| 5 | + | ||
| 6 | + layout :determine_layout | ||
| 7 | + | ||
| 8 | + protected | ||
| 9 | + def determine_layout | ||
| 10 | + if @project && !@project.new_record? | ||
| 11 | + 'project' | ||
| 12 | + else | ||
| 13 | + 'application' | ||
| 14 | + end | ||
| 15 | + end | ||
| 16 | +end |
app/controllers/projects_controller.rb
| 1 | require Rails.root.join('lib', 'gitlab', 'graph_commit') | 1 | require Rails.root.join('lib', 'gitlab', 'graph_commit') |
| 2 | 2 | ||
| 3 | -class ProjectsController < ApplicationController | ||
| 4 | - before_filter :project, except: [:index, :new, :create] | ||
| 5 | - layout :determine_layout | 3 | +class ProjectsController < ProjectController |
| 4 | + skip_before_filter :project, only: [:new, :create] | ||
| 6 | 5 | ||
| 7 | # Authorize | 6 | # Authorize |
| 8 | - before_filter :add_project_abilities | ||
| 9 | before_filter :authorize_read_project!, except: [:index, :new, :create] | 7 | before_filter :authorize_read_project!, except: [:index, :new, :create] |
| 10 | before_filter :authorize_admin_project!, only: [:edit, :update, :destroy] | 8 | before_filter :authorize_admin_project!, only: [:edit, :update, :destroy] |
| 11 | before_filter :require_non_empty_project, only: [:blob, :tree, :graph] | 9 | before_filter :require_non_empty_project, only: [:blob, :tree, :graph] |
| @@ -93,19 +91,4 @@ class ProjectsController < ApplicationController | @@ -93,19 +91,4 @@ class ProjectsController < ApplicationController | ||
| 93 | format.html { redirect_to root_path } | 91 | format.html { redirect_to root_path } |
| 94 | end | 92 | end |
| 95 | end | 93 | end |
| 96 | - | ||
| 97 | - protected | ||
| 98 | - | ||
| 99 | - def project | ||
| 100 | - @project ||= Project.find_by_code(params[:id]) | ||
| 101 | - @project || render_404 | ||
| 102 | - end | ||
| 103 | - | ||
| 104 | - def determine_layout | ||
| 105 | - if @project && !@project.new_record? | ||
| 106 | - "project" | ||
| 107 | - else | ||
| 108 | - "application" | ||
| 109 | - end | ||
| 110 | - end | ||
| 111 | end | 94 | end |
app/controllers/protected_branches_controller.rb
| 1 | -class ProtectedBranchesController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - | 1 | +class ProtectedBranchesController < ProjectController |
| 4 | # Authorize | 2 | # Authorize |
| 5 | - before_filter :add_project_abilities | ||
| 6 | before_filter :authorize_read_project! | 3 | before_filter :authorize_read_project! |
| 7 | before_filter :require_non_empty_project | 4 | before_filter :require_non_empty_project |
| 8 | 5 | ||
| 9 | before_filter :authorize_admin_project!, only: [:destroy, :create] | 6 | before_filter :authorize_admin_project!, only: [:destroy, :create] |
| 10 | before_filter :render_full_content | 7 | before_filter :render_full_content |
| 11 | 8 | ||
| 12 | - layout "project" | ||
| 13 | - | ||
| 14 | def index | 9 | def index |
| 15 | @branches = @project.protected_branches.all | 10 | @branches = @project.protected_branches.all |
| 16 | @protected_branch = @project.protected_branches.new | 11 | @protected_branch = @project.protected_branches.new |
app/controllers/refs_controller.rb
| 1 | require 'github/markup' | 1 | require 'github/markup' |
| 2 | 2 | ||
| 3 | -class RefsController < ApplicationController | 3 | +class RefsController < ProjectController |
| 4 | include Gitlab::Encode | 4 | include Gitlab::Encode |
| 5 | - before_filter :project | ||
| 6 | 5 | ||
| 7 | # Authorize | 6 | # Authorize |
| 8 | - before_filter :add_project_abilities | ||
| 9 | before_filter :authorize_read_project! | 7 | before_filter :authorize_read_project! |
| 10 | before_filter :authorize_code_access! | 8 | before_filter :authorize_code_access! |
| 11 | before_filter :require_non_empty_project | 9 | before_filter :require_non_empty_project |
| @@ -14,8 +12,6 @@ class RefsController < ApplicationController | @@ -14,8 +12,6 @@ class RefsController < ApplicationController | ||
| 14 | before_filter :define_tree_vars, only: [:tree, :blob, :blame, :logs_tree] | 12 | before_filter :define_tree_vars, only: [:tree, :blob, :blame, :logs_tree] |
| 15 | before_filter :render_full_content | 13 | before_filter :render_full_content |
| 16 | 14 | ||
| 17 | - layout "project" | ||
| 18 | - | ||
| 19 | def switch | 15 | def switch |
| 20 | respond_to do |format| | 16 | respond_to do |format| |
| 21 | format.html do | 17 | format.html do |
app/controllers/repositories_controller.rb
| 1 | -class RepositoriesController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - | 1 | +class RepositoriesController < ProjectController |
| 4 | # Authorize | 2 | # Authorize |
| 5 | - before_filter :add_project_abilities | ||
| 6 | before_filter :authorize_read_project! | 3 | before_filter :authorize_read_project! |
| 7 | before_filter :authorize_code_access! | 4 | before_filter :authorize_code_access! |
| 8 | before_filter :require_non_empty_project | 5 | before_filter :require_non_empty_project |
| 9 | before_filter :render_full_content | 6 | before_filter :render_full_content |
| 10 | 7 | ||
| 11 | - layout "project" | ||
| 12 | - | ||
| 13 | def show | 8 | def show |
| 14 | @activities = @project.commits_with_refs(20) | 9 | @activities = @project.commits_with_refs(20) |
| 15 | end | 10 | end |
app/controllers/snippets_controller.rb
| 1 | -class SnippetsController < ApplicationController | ||
| 2 | - before_filter :project | 1 | +class SnippetsController < ProjectController |
| 3 | before_filter :snippet, only: [:show, :edit, :destroy, :update, :raw] | 2 | before_filter :snippet, only: [:show, :edit, :destroy, :update, :raw] |
| 4 | - layout "project" | ||
| 5 | - | ||
| 6 | - # Authorize | ||
| 7 | - before_filter :add_project_abilities | ||
| 8 | 3 | ||
| 9 | # Allow read any snippet | 4 | # Allow read any snippet |
| 10 | before_filter :authorize_read_snippet! | 5 | before_filter :authorize_read_snippet! |
app/controllers/team_members_controller.rb
| 1 | -class TeamMembersController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - layout "project" | ||
| 4 | - | 1 | +class TeamMembersController < ProjectController |
| 5 | # Authorize | 2 | # Authorize |
| 6 | - before_filter :add_project_abilities | ||
| 7 | before_filter :authorize_read_project! | 3 | before_filter :authorize_read_project! |
| 8 | before_filter :authorize_admin_project!, except: [:index, :show] | 4 | before_filter :authorize_admin_project!, except: [:index, :show] |
| 9 | 5 |
app/controllers/wikis_controller.rb
| 1 | -class WikisController < ApplicationController | ||
| 2 | - before_filter :project | ||
| 3 | - before_filter :add_project_abilities | 1 | +class WikisController < ProjectController |
| 4 | before_filter :authorize_read_wiki! | 2 | before_filter :authorize_read_wiki! |
| 5 | before_filter :authorize_write_wiki!, only: [:edit, :create, :history] | 3 | before_filter :authorize_write_wiki!, only: [:edit, :create, :history] |
| 6 | before_filter :authorize_admin_wiki!, only: :destroy | 4 | before_filter :authorize_admin_wiki!, only: :destroy |
| 7 | - layout "project" | ||
| 8 | 5 | ||
| 9 | def pages | 6 | def pages |
| 10 | @wikis = @project.wikis.group(:slug).order("created_at") | 7 | @wikis = @project.wikis.group(:slug).order("created_at") |