Merge branch 'master' into 3642-search-for-active-only
[arvados.git] / apps / workbench / app / views / layouts / body.html.erb
1   <div id="wrapper" class="container-fluid">
2     <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
3       <div class="navbar-header">
4         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
5           <span class="sr-only">Toggle navigation</span>
6           <span class="icon-bar"></span>
7           <span class="icon-bar"></span>
8           <span class="icon-bar"></span>
9         </button>
10         <a class="navbar-brand" href="/" data-push=true><%= Rails.configuration.site_name.downcase rescue Rails.application.class.parent_name %></a>
11       </div>
12
13       <div class="collapse navbar-collapse">
14         <ul class="nav navbar-nav navbar-right">
15
16           <li>
17             <a><i class="rotating loading glyphicon glyphicon-refresh"></i></a>
18           </li>
19
20           <% if current_user %>
21           <% if current_user.is_active %>
22           <li>
23             <form class="navbar-form" role="search"
24                        data-search-modal=
25                        "<%= url_for(
26                         action: 'choose',
27                         controller: 'search',
28                         title: 'Search',
29                         action_name: 'Show',
30                         action_href: url_for(controller: :actions, action: :show),
31                         action_method: 'get',
32                         action_data: {selection_param: 'uuid', success: 'redirect-to-created-object', copy_from_search_box: true}.to_json)
33                        %>">
34               <div class="input-group" style="width: 220px">
35                 <input type="text" class="form-control" placeholder="search">
36                 <a class="input-group-addon"><span class="glyphicon glyphicon-search"></span></a>
37               </div>
38             </form>
39           </li>
40           <% end %>
41
42           <li class="dropdown notification-menu">
43             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu">
44               <span class="badge badge-alert notification-count"><%= @notification_count %></span>
45               <%= current_user.email %> <span class="caret"></span>
46             </a>
47             <ul class="dropdown-menu" role="menu">
48               <li role="presentation" class="dropdown-header">
49                 My account
50               </li>
51               <% if current_user.is_active %>
52               <li role="presentation"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
53               <% if Rails.configuration.user_profile_form_fields %>
54                 <li role="presentation"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
55               <% end %>
56               <li role="presentation" class="divider"></li>
57               <% end %>
58               <li role="presentation"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
59               <% if current_user.is_active and
60                     (@notifications || []).length > 0 %>
61                 <li role="presentation" class="divider"></li>
62                 <% @notifications.each_with_index do |n, i| %>
63                   <% if i > 0 %><li class="divider"></li><% end %>
64                   <li class="notification"><%= n.call(self) %></li>
65                 <% end %>
66               <% end %>
67             </ul>
68           </li>
69
70           <li class="dropdown selection-menu">
71             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
72               <span class="fa fa-lg fa-paperclip"></span>
73               <span class="badge" id="persistent-selection-count"></span>
74             </a>
75             <ul class="dropdown-menu" role="menu" id="persistent-selection-list">
76               <%= form_tag '/actions' do %>
77                 <%= hidden_field_tag 'uuid', @object.andand.uuid %>
78                 <div id="selection-form-content"></div>
79               <% end %>
80             </ul>
81           </li>
82
83           <% if current_user.is_active %>
84             <li class="dropdown">
85               <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
86                 <span class="fa fa-lg fa-gear"></span>
87               </a>
88               <ul class="dropdown-menu" role="menu">
89                 <li role="presentation" class="dropdown-header">
90                   Settings
91                 </li>
92                 <% if current_user.andand.is_admin %>
93                   <li role="presentation"><a href="/repositories">
94                       <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
95                   </a></li>
96                   <li role="presentation"><a href="/virtual_machines">
97                       <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
98                   </a></li>
99                   <li role="presentation"><a href="/authorized_keys">
100                       <i class="fa fa-lg fa-key fa-fw"></i> SSH keys
101                   </a></li>
102                   <li role="presentation"><a href="/api_client_authorizations">
103                       <i class="fa fa-lg fa-ticket fa-fw"></i> API tokens
104                   </a></li>
105                 <% end %>
106                 <li role="presentation"><a href="/links">
107                     <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
108                 </a></li>
109                 <% if current_user.andand.is_admin %>
110                   <li role="presentation"><a href="/users">
111                       <i class="fa fa-lg fa-user fa-fw"></i> Users
112                   </a></li>
113                 <% end %>
114                 <li role="presentation"><a href="/groups">
115                     <i class="fa fa-lg fa-users fa-fw"></i> Groups
116                 </a></li>
117                 <li role="presentation"><a href="/nodes">
118                     <i class="fa fa-lg fa-cloud fa-fw"></i> Compute nodes
119                 </a></li>
120                 <li role="presentation"><a href="/keep_services">
121                     <i class="fa fa-lg fa-exchange fa-fw"></i> Keep services
122                 </a></li>
123                 <li role="presentation"><a href="/keep_disks">
124                     <i class="fa fa-lg fa-hdd-o fa-fw"></i> Keep disks
125                 </a></li>
126               </ul>
127             </li>
128           <% end %>
129           <% else %>
130             <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
131           <% end %>
132
133           <li class="dropdown help-menu">
134             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="arv-help">
135               <span class="fa fa-lg fa-question-circle"></span>
136             </a>
137             <ul class="dropdown-menu">
138               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
139               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
140               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
141               <li role="presentation" class="divider"></li>
142               <li> <%= link_to report_issue_popup_path(popup_type: 'version', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
143                       {class: 'report-issue-modal-window',  :remote => true, return_to: request.url} do %>
144                        <i class="fa fa-fw fa-support"></i> Show version / debugging info ...
145                       <% end %>
146               </li>
147               <li> <%= link_to report_issue_popup_path(popup_type: 'report', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
148                       {class: 'report-issue-modal-window', :remote => true, return_to: request.url} do %>
149                        <i class="fa fa-fw fa-support"></i> Report a problem ...
150                       <% end %>
151               </li>
152             </ul>
153           </li>
154         </ul>
155       </div><!-- /.navbar-collapse -->
156     </nav>
157
158     <% if current_user.andand.is_active %>
159       <nav class="navbar navbar-default breadcrumbs" role="navigation">
160         <ul class="nav navbar-nav navbar-left">
161           <li>
162             <a href="/">
163               <i class="fa fa-lg fa-fw fa-dashboard"></i>
164               Dashboard
165             </a>
166           </li>
167           <li class="dropdown">
168             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
169               Projects
170               <span class="caret"></span>
171             </a>
172             <ul class="dropdown-menu" role="menu">
173             <%= render partial: "projects_tree_menu", locals: {
174                   :project_link_to => Proc.new do |pnode, &block|
175                     link_to(project_path(pnode[:object].uuid),
176                       data: { 'object-uuid' => pnode[:object].uuid,
177                               'name' => 'name' },
178                       &block)
179                   end,
180                   :top_button => Proc.new do %>
181                     <% link_to projects_path, method: 'post', class: 'btn btn-xs btn-default pull-right' do %>
182                       <i class="fa fa-plus"></i> New project
183                     <% end %>
184                   <% end %>
185             <% } %>
186             </ul>
187           </li>
188           <% if @name_link or @object %>
189             <li class="nav-separator">
190               <i class="fa fa-lg fa-angle-double-right"></i>
191             </li>
192             <li>
193               <%= link_to project_path(current_user.uuid) do %>
194                 Home
195               <% end %>
196             </li>
197             <% project_breadcrumbs.each do |p| %>
198               <li class="nav-separator">
199                 <i class="fa fa-lg fa-angle-double-right"></i>
200               </li>
201               <li>
202                 <%= link_to(p.name, project_path(p.uuid), data: {object_uuid: p.uuid, name: 'name'}) %>
203               </li>
204             <% end %>
205           <% end %>
206         </ul>
207       </nav>
208     <% end %>
209
210     <div id="page-wrapper">
211       <%= yield %>
212     </div>
213   </div>
214
215   <%= yield :footer_html %>
216
217 <div class="modal-container"></div>
218 <div id="report-issue-modal-window"></div>