diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2019-01-22 16:08:15 +0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2019-01-22 16:08:15 +0300 |
commit | 5e933a4d684d41220ad0177843de1c3692cf585f (patch) | |
tree | 7388a1e8be71781b38392fa6899c9094f89f9230 /app | |
parent | ed1da730202bf3178c43b3467635853733b799c1 (diff) | |
parent | f13edec8c7f568f32da9e516888ed229c8963051 (diff) |
Merge branch '53671-redirect-projects-id-to-project-page' into 'master'
Resolve "Redirect projects/:id to project page"
Closes #53671
See merge request gitlab-org/gitlab-ce!24467
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects_controller.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 878816475b2..d3af35723ac 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -10,10 +10,10 @@ class ProjectsController < Projects::ApplicationController prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) } before_action :whitelist_query_limiting, only: [:create] - before_action :authenticate_user!, except: [:index, :show, :activity, :refs] + before_action :authenticate_user!, except: [:index, :show, :activity, :refs, :resolve] before_action :redirect_git_extension, only: [:show] - before_action :project, except: [:index, :new, :create] - before_action :repository, except: [:index, :new, :create] + before_action :project, except: [:index, :new, :create, :resolve] + before_action :repository, except: [:index, :new, :create, :resolve] before_action :assign_ref_vars, only: [:show], if: :repo_exists? before_action :tree, only: [:show], if: [:repo_exists?, :project_view_files?] before_action :lfs_blob_ids, only: [:show], if: [:repo_exists?, :project_view_files?] @@ -442,4 +442,14 @@ class ProjectsController < Projects::ApplicationController def present_project @project = @project.present(current_user: current_user) end + + def resolve + @project = Project.find(params[:id]) + + if can?(current_user, :read_project, @project) + redirect_to @project + else + render_404 + end + end end |