summaryrefslogtreecommitdiff
path: root/app/controllers/namespaces_controller.rb
blob: 83eec1bf4a2645ea9aa5987ca9379681b52e6b4b (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
class NamespacesController < ApplicationController
  skip_before_action :authenticate_user!

  def show
    namespace = Namespace.find_by(path: params[:id])

    if namespace
      if namespace.is_a?(Group)
        group = namespace
      else
        user = namespace.owner
      end
    end

    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
      render_404
    end
  end
end