Merge branch 'master' into 5720-ajax-loading-error
[arvados.git] / apps / workbench / app / controllers / repositories_controller.rb
1 class RepositoriesController < ApplicationController
2   before_filter :set_share_links, if: -> { defined? @object }
3   if Repository.disable_repository_browsing?
4     before_filter :render_browsing_disabled, only: [:show_tree, :show_blob, :show_commit]
5   end
6
7   def index_pane_list
8     %w(recent help)
9   end
10
11   def show_pane_list
12     if @user_is_manager
13       panes = super | %w(Sharing)
14       panes.insert(panes.length-1, panes.delete_at(panes.index('Advanced'))) if panes.index('Advanced')
15       panes
16     else
17       panes = super
18     end
19     panes.delete('Attributes') if !current_user.is_admin
20     panes
21   end
22
23   def show_tree
24     @commit = params[:commit]
25     @path = params[:path] || ''
26     @subtree = @object.ls_subtree @commit, @path.chomp('/')
27   end
28
29   def show_blob
30     @commit = params[:commit]
31     @path = params[:path]
32     @blobdata = @object.cat_file @commit, @path
33   end
34
35   def show_commit
36     @commit = params[:commit]
37   end
38
39   protected
40
41   def render_browsing_disabled
42     render_not_found ActionController::RoutingError.new("Repository browsing features disabled")
43   end
44 end