2659: do not include "You are viewing public data" in topnav when anonymous user...
[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"><%= user_notifications.length if user_notifications.any? %></span>
45                 <%= current_user.email %> <span class="caret"></span>
46               </a>
47               <ul class="dropdown-menu" role="menu">
48                 <% if current_user.is_active %>
49                 <li role="menuitem"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
50                 <% if Rails.configuration.user_profile_form_fields %>
51                   <li role="menuitem"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
52                 <% end %>
53                 <% end %>
54                 <% if !is_anonymous %>
55                   <li role="menuitem"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
56                 <% else %>
57                   <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
58                 <% end %>
59                 <% if user_notifications.any? %>
60                   <li role="presentation" class="divider"></li>
61                   <% user_notifications.each_with_index do |n, i| %>
62                     <% if i > 0 %><li class="divider"></li><% end %>
63                     <li class="notification"><%= n.call(self) %></li>
64                   <% end %>
65                 <% end %>
66               </ul>
67             </li>
68
69             <% if current_user.is_admin %>
70               <li class="dropdown">
71                 <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
72                   <span class="fa fa-lg fa-gear"></span>
73                 </a>
74                 <ul class="dropdown-menu" role="menu">
75                   <li role="presentation" class="dropdown-header">
76                     Settings
77                   </li>
78                   <li role="menuitem"><a href="/repositories">
79                       <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
80                   </a></li>
81                   <li role="menuitem"><a href="/virtual_machines">
82                       <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
83                   </a></li>
84                   <li role="menuitem"><a href="/authorized_keys">
85                       <i class="fa fa-lg fa-key fa-fw"></i> SSH keys
86                   </a></li>
87                   <li role="menuitem"><a href="/api_client_authorizations">
88                       <i class="fa fa-lg fa-ticket fa-fw"></i> API tokens
89                   </a></li>
90                   <li role="menuitem"><a href="/links">
91                       <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
92                   </a></li>
93                   <li role="menuitem"><a href="/users">
94                       <i class="fa fa-lg fa-user fa-fw"></i> Users
95                   </a></li>
96                   <li role="menuitem"><a href="/groups">
97                       <i class="fa fa-lg fa-users fa-fw"></i> Groups
98                   </a></li>
99                   <li role="menuitem"><a href="/nodes">
100                       <i class="fa fa-lg fa-cloud fa-fw"></i> Compute nodes
101                   </a></li>
102                   <li role="menuitem"><a href="/keep_services">
103                       <i class="fa fa-lg fa-exchange fa-fw"></i> Keep services
104                   </a></li>
105                   <li role="menuitem"><a href="/keep_disks">
106                       <i class="fa fa-lg fa-hdd-o fa-fw"></i> Keep disks
107                   </a></li>
108                 </ul>
109               </li>
110             <% end %>
111           <% else %>
112             <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
113           <% end %>
114
115           <li class="dropdown help-menu">
116             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="arv-help">
117               <span class="fa fa-lg fa-question-circle"></span>
118             </a>
119             <ul class="dropdown-menu">
120               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
121               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
122               <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
123               <li role="presentation" class="divider"></li>
124               <li> <%= link_to report_issue_popup_path(popup_type: 'version', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
125                       {class: 'report-issue-modal-window', remote: true, return_to: request.url} do %>
126                        <i class="fa fa-fw fa-support"></i> Show version / debugging info ...
127                       <% end %>
128               </li>
129               <li> <%= link_to report_issue_popup_path(popup_type: 'report', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
130                       {class: 'report-issue-modal-window', remote: true, return_to: request.url} do %>
131                        <i class="fa fa-fw fa-support"></i> Report a problem ...
132                       <% end %>
133               </li>
134             </ul>
135           </li>
136         </ul>
137       </div><!-- /.navbar-collapse -->
138     </nav>
139
140     <% if current_user.andand.is_active %>
141       <nav class="navbar navbar-default breadcrumbs" role="navigation">
142         <ul class="nav navbar-nav navbar-left">
143           <li>
144             <a href="/">
145               <i class="fa fa-lg fa-fw fa-dashboard"></i>
146               Dashboard
147             </a>
148           </li>
149           <li class="dropdown">
150             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
151               Projects
152               <span class="caret"></span>
153             </a>
154             <ul class="dropdown-menu" style="min-width: 20em" role="menu">
155               <li>
156                 <%= link_to projects_path(options: {ensure_unique_name: true}), method: :post, class: 'btn btn-xs btn-default pull-right' do %>
157                   <i class="fa fa-plus"></i> Add a new project
158                 <% end %>
159               </li>
160               <%= render partial: "projects_tree_menu", locals: {
161                   :project_link_to => Proc.new do |pnode, &block|
162                     link_to(project_path(pnode[:object].uuid),
163                       data: { 'object-uuid' => pnode[:object].uuid,
164                               'name' => 'name' },
165                       &block)
166                   end,
167               } %>
168             </ul>
169           </li>
170           <% if @name_link or @object %>
171             <li class="nav-separator">
172               <i class="fa fa-lg fa-angle-double-right"></i>
173             </li>
174             <li>
175               <%= link_to project_path(current_user.uuid) do %>
176                 Home
177               <% end %>
178             </li>
179             <% project_breadcrumbs.each do |p| %>
180               <li class="nav-separator">
181                 <i class="fa fa-lg fa-angle-double-right"></i>
182               </li>
183               <li>
184                 <%= link_to(p.name, project_path(p.uuid), data: {object_uuid: p.uuid, name: 'name'}) %>
185               </li>
186             <% end %>
187           <% end %>
188         </ul>
189       </nav>
190     <% end %>
191
192     <div id="page-wrapper">
193       <%= yield %>
194     </div>
195   </div>
196
197   <%= yield :footer_html %>
198
199 <div class="modal-container"></div>
200 <div id="report-issue-modal-window"></div>