summaryrefslogtreecommitdiff
path: root/app/controllers/namespaces_controller.rb
diff options
context:
space:
mode:
authorMarin Jankovski <maxlazio@gmail.com>2015-03-31 19:03:54 -0700
committerMarin Jankovski <maxlazio@gmail.com>2015-03-31 19:03:54 -0700
commitd77f333f9c7968337241904918d97f67dd5bae82 (patch)
treee8c75a351267111d7528115f2217caaaff138f7d /app/controllers/namespaces_controller.rb
parent96d093e59aa9c952c4c85908a664a62a1f2057d4 (diff)
parentc14c03a88f6c9a1054cf0e7dc2067d47cae6710a (diff)
downloadgitlab-ce-d77f333f9c7968337241904918d97f67dd5bae82.tar.gz
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
Conflicts: lib/gitlab/markdown.rb
Diffstat (limited to 'app/controllers/namespaces_controller.rb')
-rw-r--r--app/controllers/namespaces_controller.rb18
1 files changed, 13 insertions, 5 deletions
diff --git a/app/controllers/namespaces_controller.rb b/app/controllers/namespaces_controller.rb
index b7a9d8c1291..386d103ee5a 100644
--- a/app/controllers/namespaces_controller.rb
+++ b/app/controllers/namespaces_controller.rb
@@ -4,14 +4,22 @@ class NamespacesController < ApplicationController
def show
namespace = Namespace.find_by(path: params[:id])
- unless namespace
- return render_404
+ if namespace
+ if namespace.is_a?(Group)
+ group = namespace
+ else
+ user = namespace.owner
+ end
end
- if namespace.type == "Group"
- redirect_to group_path(namespace)
+ if user
+ redirect_to user_path(user)
+ elsif group && can?(current_user, :read_group, group)
+ redirect_to group_path(group)
+ elsif current_user.nil?
+ authenticate_user!
else
- redirect_to user_path(namespace.owner)
+ render_404
end
end
end