9426: tags display
[arvados.git] / apps / workbench / config / routes.rb
1 ArvadosWorkbench::Application.routes.draw do
2   themes_for_rails
3
4   resources :keep_disks
5   resources :keep_services
6   resources :user_agreements do
7     post 'sign', on: :collection
8     get 'signatures', on: :collection
9   end
10   get '/user_agreements/signatures' => 'user_agreements#signatures'
11   get "users/setup_popup" => 'users#setup_popup', :as => :setup_user_popup
12   get "users/setup" => 'users#setup', :as => :setup_user
13   get "report_issue_popup" => 'actions#report_issue_popup', :as => :report_issue_popup
14   post "report_issue" => 'actions#report_issue', :as => :report_issue
15   get "star" => 'actions#star', :as => :star
16   get "all_processes" => 'work_units#index', :as => :all_processes
17   get "choose_work_unit_templates" => 'work_unit_templates#choose', :as => :choose_work_unit_templates
18   resources :work_units do
19     post 'show_child_component', :on => :member
20   end
21   resources :nodes
22   resources :humans
23   resources :traits
24   resources :api_client_authorizations
25   resources :virtual_machines
26   resources :containers
27   resources :container_requests do
28     post 'cancel', :on => :member
29     post 'copy', on: :member
30   end
31   get '/virtual_machines/:id/webshell/:login' => 'virtual_machines#webshell', :as => :webshell_virtual_machine
32   resources :authorized_keys
33   resources :job_tasks
34   resources :jobs do
35     post 'cancel', :on => :member
36     get 'logs', :on => :member
37   end
38   resources :repositories do
39     post 'share_with', on: :member
40   end
41   # {format: false} prevents rails from treating "foo.png" as foo?format=png
42   get '/repositories/:id/tree/:commit' => 'repositories#show_tree'
43   get '/repositories/:id/tree/:commit/*path' => 'repositories#show_tree', as: :show_repository_tree, format: false
44   get '/repositories/:id/blob/:commit/*path' => 'repositories#show_blob', as: :show_repository_blob, format: false
45   get '/repositories/:id/commit/:commit' => 'repositories#show_commit', as: :show_repository_commit
46   match '/logout' => 'sessions#destroy', via: [:get, :post]
47   get '/logged_out' => 'sessions#index'
48   resources :users do
49     get 'choose', :on => :collection
50     get 'home', :on => :member
51     get 'welcome', :on => :collection
52     get 'inactive', :on => :collection
53     get 'activity', :on => :collection
54     get 'storage', :on => :collection
55     post 'sudo', :on => :member
56     post 'unsetup', :on => :member
57     get 'setup_popup', :on => :member
58     get 'profile', :on => :member
59     post 'request_shell_access', :on => :member
60     get 'virtual_machines', :on => :member
61     get 'repositories', :on => :member
62     get 'ssh_keys', :on => :member
63   end
64   get '/current_token' => 'users#current_token'
65   get "/add_ssh_key_popup" => 'users#add_ssh_key_popup', :as => :add_ssh_key_popup
66   get "/add_ssh_key" => 'users#add_ssh_key', :as => :add_ssh_key
67   resources :logs
68   resources :factory_jobs
69   resources :uploaded_datasets
70   resources :groups do
71     get 'choose', on: :collection
72   end
73   resources :specimens
74   resources :pipeline_templates do
75     get 'choose', on: :collection
76   end
77   resources :pipeline_instances do
78     post 'cancel', :on => :member
79     get 'compare', on: :collection
80     post 'copy', on: :member
81   end
82   resources :links
83   get '/collections/graph' => 'collections#graph'
84   resources :collections do
85     post 'set_persistent', on: :member
86     get 'sharing_popup', :on => :member
87     post 'share', :on => :member
88     post 'unshare', :on => :member
89     get 'choose', on: :collection
90     post 'remove_selected_files', on: :member
91     post 'tags', on: :member
92     post 'save_tags', on: :member
93   end
94   get('/collections/download/:uuid/:reader_token/*file' => 'collections#show_file',
95       format: false)
96   get '/collections/download/:uuid/:reader_token' => 'collections#show_file_links'
97   get '/collections/:uuid/*file' => 'collections#show_file', :format => false
98   resources :projects do
99     match 'remove/:item_uuid', on: :member, via: :delete, action: :remove_item
100     match 'remove_items', on: :member, via: :delete, action: :remove_items
101     get 'choose', on: :collection
102     post 'share_with', on: :member
103     get 'tab_counts', on: :member
104     get 'public', on: :collection
105   end
106
107   resources :search do
108     get 'choose', :on => :collection
109   end
110
111   resources :workflows
112
113   get "trash" => 'trash_items#index', :as => :trash
114   resources :trash_items do
115     post 'untrash_items', on: :collection
116   end
117
118   post 'actions' => 'actions#post'
119   get 'actions' => 'actions#show'
120   get 'websockets' => 'websocket#index'
121   post "combine_selected" => 'actions#combine_selected_files_into_collection'
122
123   root :to => 'projects#index'
124
125   # Send unroutable requests to an arbitrary controller
126   # (ends up at ApplicationController#render_not_found)
127   match '*a', to: 'links#render_not_found', via: [:get, :post]
128 end