refs #3138
[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           <!-- XXX placeholder for this when search is implemented
22           <li>
23             <form class="navbar-form" role="search">
24               <div class="input-group" style="width: 220px">
25                 <input type="text" class="form-control" placeholder="search">
26                 <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span>
27               </div>
28             </form>
29           </li>
30           -->
31
32           <li class="dropdown notification-menu">
33             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu">
34               <span class="badge badge-alert notification-count"><%= @notification_count %></span>
35               <%= current_user.email %>
36             </a>
37             <ul class="dropdown-menu" role="menu">
38               <% if current_user.is_active %>
39               <li role="presentation"><a href="/authorized_keys" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage ssh keys</a></li>
40               <li role="presentation"><a href="/api_client_authorizations" role="menuitem"><i class="fa fa-ticket fa-fw"></i> Manage API tokens</a></li>
41               <li role="presentation" class="divider"></li>
42               <% end %>
43               <li role="presentation"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
44               <% if current_user.is_active and
45                     (@notifications || []).length > 0 %>
46                 <li role="presentation" class="divider"></li>
47                 <% @notifications.each_with_index do |n, i| %>
48                   <% if i > 0 %><li class="divider"></li><% end %>
49                   <li class="notification"><%= n.call(self) %></li>
50                 <% end %>
51               <% end %>
52             </ul>
53           </li>
54
55           <li class="dropdown selection-menu">
56             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
57               <span class="fa fa-lg fa-paperclip"></span>
58               <span class="badge" id="persistent-selection-count"></span>
59             </a>
60             <ul class="dropdown-menu" role="menu" id="persistent-selection-list">
61               <%= form_tag '/actions' do %>
62                 <%= hidden_field_tag 'uuid', @object.andand.uuid %>
63                 <div id="selection-form-content"></div>
64               <% end %>
65             </ul>
66           </li>
67
68           <% if current_user.is_active %>
69             <li class="dropdown">
70               <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
71                 <span class="fa fa-lg fa-gear"></span>
72               </a>
73               <ul class="dropdown-menu" role="menu">
74                 <li role="presentation" class="dropdown-header">
75                   Settings
76                 </li>
77                 <li role="presentation"><a href="/repositories">
78                     <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
79                 </a></li>
80                 <li role="presentation"><a href="/virtual_machines">
81                     <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
82                 </a></li>
83                 <li role="presentation"><a href="/links">
84                     <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
85                 </a></li>
86                 <% if current_user.andand.is_admin %>
87                   <li role="presentation"><a href="/users">
88                       <i class="fa fa-lg fa-user fa-fw"></i> Users
89                   </a></li>
90                 <% end %>
91                 <li role="presentation"><a href="/groups">
92                     <i class="fa fa-lg fa-users fa-fw"></i> Groups
93                 </a></li>
94                 <li role="presentation"><a href="/nodes">
95                     <i class="fa fa-lg fa-cloud fa-fw"></i> Compute nodes
96                 </a></li>
97                 <li role="presentation"><a href="/keep_services">
98                     <i class="fa fa-lg fa-exchange fa-fw"></i> Keep services
99                 </a></li>
100                 <li role="presentation"><a href="/keep_disks">
101                     <i class="fa fa-lg fa-hdd-o fa-fw"></i> Keep disks
102                 </a></li>
103               </ul>
104             </li>
105           <% end %>
106           <% else %>
107             <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
108           <% end %>
109
110           <li class="dropdown help-menu">
111             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="arv-help">
112               <span class="fa fa-lg fa-question-circle"></span>
113             </a>
114             <ul class="dropdown-menu">
115               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
116               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
117               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
118             </ul>
119           </li>
120         </ul>
121       </div><!-- /.navbar-collapse -->
122     </nav>
123
124     <% if current_user.andand.is_active %>
125       <nav class="navbar navbar-default breadcrumbs" role="navigation">
126         <ul class="nav navbar-nav navbar-left">
127           <li>
128             <a href="/">
129               <i class="fa fa-lg fa-fw fa-home"></i>
130               Home
131             </a>
132           </li>
133           <li class="nav-separator">
134             <i class="fa fa-lg fa-angle-double-right"></i>
135           </li>
136           <li class="dropdown">
137             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
138               Projects
139               <span class="caret"></span>
140             </a>
141             <ul class="dropdown-menu" role="menu">
142             <%= render partial: "projects_tree_menu", locals: {
143                   :project_link_to => Proc.new do |pnode, &block|
144                     link_to(project_path(pnode[:object].uuid), data: {object_uuid: pnode[:object].uuid, name: 'name'}, &block)
145                   end,
146                   :top_button => Proc.new do %>
147                     <% link_to projects_path, method: 'post', class: 'btn btn-xs btn-default pull-right' do %>
148                       <i class="fa fa-plus"></i> New project
149                     <% end %>
150                   <% end %>
151             <% } %>
152             </ul>
153           </li>
154           <% project_breadcrumbs.each do |p| %>
155             <li class="nav-separator">
156               <i class="fa fa-lg fa-angle-double-right"></i>
157             </li>
158             <li>
159               <%= link_to(p.name, project_path(p.uuid), data: {object_uuid: p.uuid, name: 'name'}) %>
160             </li>
161           <% end %>
162         </ul>
163       </nav>
164     <% end %>
165
166     <div id="page-wrapper">
167       <%= yield %>
168     </div>
169   </div>
170
171   <%= yield :footer_html %>
172
173 <div class="modal-container"></div>