+<%# Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: AGPL-3.0 %>
+
<div id="wrapper" class="container-fluid">
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="navbar-header">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
- <% site_name = Rails.configuration.site_name.downcase rescue Rails.application.class.parent_name %>
+ <% site_name = Rails.configuration.Workbench.SiteName.downcase rescue Rails.application.class.parent_name %>
<% if current_user %>
<a class="navbar-brand" href="/" data-push=true><%= site_name %></a>
<% else %>
<% if current_user %>
<% if current_user.is_active %>
- <li>
- <form class="navbar-form" role="search"
- data-search-modal=
- "<%= url_for(
- action: 'choose',
- controller: 'search',
- title: 'Search',
- action_name: 'Show',
- action_href: url_for(controller: :actions, action: :show),
- action_method: 'get',
- action_data: {selection_param: 'uuid', success: 'redirect-to-created-object', copy_from_search_box: true}.to_json)
- %>">
- <div class="input-group" style="width: 220px">
- <input type="text" class="form-control" placeholder="search">
- <a class="input-group-addon"><span class="glyphicon glyphicon-search"></span></a>
- </div>
- </form>
- </li>
+ <% if !Rails.configuration.Workbench.MultiSiteSearch.empty? %>
+ <li>
+ <form class="navbar-form">
+ <%=
+ target = Rails.configuration.Workbench.MultiSiteSearch
+ if target == "true"
+ target = {controller: 'search', action: 'index'}
+ end
+ link_to("Multi-site search", target, {class: 'btn btn-default'}) %>
+ </form>
+ </li>
+ <% end %>
+ <li>
+ <form class="navbar-form" role="search"
+ data-search-modal=
+ "<%= url_for(
+ action: 'choose',
+ controller: 'search',
+ title: 'Search',
+ action_name: 'Show',
+ action_href: url_for(controller: :actions, action: :show),
+ action_method: 'get',
+ action_data: {selection_param: 'uuid', success: 'redirect-to-created-object'}.to_json)
+ %>">
+ <div class="input-group" style="width: 220px">
+ <input type="text" class="form-control" placeholder="search this site">
+ <a class="input-group-addon"><span class="glyphicon glyphicon-search"></span></a>
+ </div>
+ </form>
+ </li>
<% end %>
<li class="dropdown notification-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu">
<span class="badge badge-alert notification-count"><%= user_notifications.length if user_notifications.any? %></span>
- <%= current_user.email %> <span class="caret"></span>
+ <span class="fa fa-lg fa-user"></span>
+ <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
+ <li role="presentation" class="dropdown-header">
+ <%= current_user.email %>
+ </li>
<% if current_user.is_active %>
- <li role="menuitem"><a href="/projects/<%=current_user.uuid%>" role="menuitem"><i class="fa fa-home fa-fw"></i> Home project </a></li>
- <li role="menuitem"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
- <% if Rails.configuration.user_profile_form_fields %>
- <li role="menuitem"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
+ <li role="menuitem"><a href="/projects/<%=current_user.uuid%>" role="menuitem"><i class="fa fa-lg fa-home fa-fw"></i> Home project </a></li>
+ <% if Rails.configuration.Services.Composer.ExternalURL != URI("") %>
+ <li role="menuitem">
+ <form action="<%= Rails.configuration.Services.Composer.ExternalURL.to_s %>" method="GET">
+ <input type="hidden" name="api_token" value="<%= Thread.current[:arvados_api_token] %>" />
+ <button role="menuitem" type="submit">
+ <i class="fa fa-lg fa-share-alt fa-fw"></i> Workflow Composer
+ </button>
+ </form>
+ </li>
+ <% end %>
+ <% if Rails.configuration.Services.Workbench2.ExternalURL != URI("") %>
+ <li role="menuitem">
+ <%
+ wb2_url = Rails.configuration.Services.Workbench2.ExternalURL.to_s
+ wb2_url += '/' if wb2_url[-1] != '/'
+ wb2_url += 'token'
+ %>
+ <form action="<%= wb2_url %>" method="GET">
+ <input type="hidden" name="api_token" value="<%= Thread.current[:arvados_api_token] %>">
+ <button role="menuitem" type="submit">
+ <i class="fa fa-lg fa-share-square fa-fw"></i> Go to Workbench 2
+ </button>
+ </form>
+ </li>
<% end %>
+ <li role="menuitem">
+ <%= link_to virtual_machines_user_path(current_user), role: 'menu-item' do %>
+ <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
+ <% end %>
+ </li>
+ <% if Rails.configuration.Workbench.Repositories %>
+ <li role="menuitem"><a href="/repositories" role="menuitem"><i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories </a></li>
+ <% end -%>
+ <li role="menuitem"><a href="/current_token" role="menuitem"><i class="fa fa-lg fa-ticket fa-fw"></i> Current token</a></li>
+ <li role="menuitem">
+ <%= link_to ssh_keys_user_path(current_user), role: 'menu-item' do %>
+ <i class="fa fa-lg fa-key fa-fw"></i> SSH keys
+ <% end %>
+</li>
+ <li role="menuitem"><a href="/users/link_account" role="menuitem"><i class="fa fa-lg fa-link fa-fw"></i> Link account </a></li>
+ <% if !Rails.configuration.Workbench.UserProfileFormFields.empty? %>
+ <li role="menuitem"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-lg fa-user fa-fw"></i> Manage profile</a></li>
<% end %>
- <li role="menuitem"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
+ <% end %>
+ <li role="presentation" class="divider"></li>
+ <li role="menuitem"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-lg fa-sign-out fa-fw"></i> Log out</a></li>
<% if user_notifications.any? %>
<li role="presentation" class="divider"></li>
<% user_notifications.each_with_index do |n, i| %>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
<span class="fa fa-lg fa-gear"></span>
+ <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li role="presentation" class="dropdown-header">
- Settings
+ Admin Settings
</li>
+ <% if Rails.configuration.Workbench.Repositories %>
<li role="menuitem"><a href="/repositories">
<i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
</a></li>
+ <% end -%>
<li role="menuitem"><a href="/virtual_machines">
<i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
</a></li>
</li>
<% end %>
<% else %>
+ <% if !Rails.configuration.Users.AnonymousUserToken.empty? and Rails.configuration.Workbench.EnablePublicProjectsPage %>
+ <li><%= link_to 'Browse public projects', "/projects/public" %></li>
+ <% end %>
<li class="dropdown hover-dropdown login-menu">
- <a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a>
+ <a href="<%= arvados_api_client.arvados_login_url(return_to: request.url) %>">Log in</a>
<ul class="dropdown-menu">
<li>
- <a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">
+ <a href="<%= arvados_api_client.arvados_login_url(return_to: request.url) %>">
<span class="fa fa-lg fa-sign-in"></span>
- <p style="margin-left: 1.6em; margin-top: -1.35em; margin-bottom: 0em; margin-right: 0.5em;">Log-in or register with<br/>any Google account</p>
+ <p style="margin-left: 1.6em; margin-top: -1.35em; margin-bottom: 0em; margin-right: 0.5em;">Log in or register with<br/>any Google account</p>
</a>
</li>
</ul>
<li class="dropdown help-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" id="arv-help">
<span class="fa fa-lg fa-question-circle"></span>
+ <span class="caret"></span>
</a>
<ul class="dropdown-menu">
- <li>
- <%= link_to raw('<i class="fa fa-fw fa-info"></i> Getting Started ...'), "#",
- {'data-toggle' => "modal", 'data-target' => '#getting-started-modal-window'} %>
+ <li role="presentation" class="dropdown-header">
+ Help
</li>
- <% if Rails.configuration.arvados_public_data_doc_url %>
- <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Public Pipelines and Data sets'), "#{Rails.configuration.arvados_public_data_doc_url}", target: "_blank" %></li>
+ <% if Rails.configuration.Workbench.EnableGettingStartedPopup %>
+ <li>
+ <%= link_to raw('<i class="fa fa-fw fa-info"></i> Getting Started ...'), "#",
+ {'data-toggle' => "modal", 'data-target' => '#getting-started-modal-window'} %>
+ </li>
<% end %>
- <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
- <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
- <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
+ <% if !Rails.configuration.Workbench.ArvadosPublicDataDocURL.empty? %>
+ <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Public Pipelines and Data sets'), "#{Rails.configuration.Workbench.ArvadosPublicDataDocURL}", target: "_blank" %></li>
+ <% end %>
+ <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.Workbench.ArvadosDocsite}/user", target: "_blank" %></li>
+ <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.Workbench.ArvadosDocsite}/api", target: "_blank" %></li>
+ <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.Workbench.ArvadosDocsite}/sdk", target: "_blank" %></li>
<li role="presentation" class="divider"></li>
<li> <%= link_to report_issue_popup_path(popup_type: 'version', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
{class: 'report-issue-modal-window', remote: true, return_to: request.url} do %>
</nav>
<% if current_user.andand.is_active %>
- <nav class="navbar navbar-default breadcrumbs" role="navigation">
- <ul class="nav navbar-nav navbar-left">
- <li>
- <a href="/">
- <i class="fa fa-lg fa-fw fa-dashboard"></i>
- Dashboard
- </a>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
- Projects
- <span class="caret"></span>
- </a>
- <ul class="dropdown-menu" style="min-width: 20em" role="menu">
- <li>
- <%= link_to projects_path(options: {ensure_unique_name: true}), method: :post, class: 'btn btn-xs btn-default pull-right' do %>
- <i class="fa fa-plus"></i> Add a new project
- <% end %>
- </li>
- <%= render partial: "projects_tree_menu", locals: {
- :project_link_to => Proc.new do |pnode, &block|
- link_to(project_path(pnode[:object].uuid),
- data: { 'object-uuid' => pnode[:object].uuid,
- 'name' => 'name' },
- &block)
- end,
- } %>
- </ul>
- </li>
- <% if @name_link or @object %>
- <li class="nav-separator">
- <i class="fa fa-lg fa-angle-double-right"></i>
- </li>
- <li>
- <%= link_to project_path(current_user.uuid) do %>
- Home
- <% end %>
- </li>
- <% project_breadcrumbs.each do |p| %>
- <li class="nav-separator">
- <i class="fa fa-lg fa-angle-double-right"></i>
- </li>
- <li>
- <%= link_to(p.name, project_path(p.uuid), data: {object_uuid: p.uuid, name: 'name'}) %>
- </li>
- <% end %>
- <% end %>
- </ul>
- </nav>
+ <%= render partial: 'breadcrumbs' %>
<% elsif !current_user %> <%# anonymous %>
<% if (@name_link or @object) and (project_breadcrumbs.any?) %>
<nav class="navbar navbar-default breadcrumbs" role="navigation">
<ul class="nav navbar-nav navbar-left">
<li>
- Public Projects
+ <a href="/projects/public">Public Projects</a>
</li>
<% project_breadcrumbs.each do |p| %>
<li class="nav-separator">
<div id="report-issue-modal-window"></div>
<script src="/browser_unsupported.js"></script>
-<% if current_user and !current_user.prefs[:getting_started_shown] and
+<% if Rails.configuration.Workbench.EnableGettingStartedPopup and current_user and !current_user.prefs[:getting_started_shown] and
!request.url.include?("/profile") and
!request.url.include?("/user_agreements") and
!request.url.include?("/inactive")%>