class ActionsController < ApplicationController
- skip_filter :require_thread_api_token, only: [:report_issue_popup, :report_issue]
+ skip_filter :require_thread_api_token, only: [:report_issue_popup, :report_issue, :getting_started_popup]
skip_filter :check_user_agreements, only: [:report_issue_popup, :report_issue]
@@exposed_actions = {}
end
end
+ def getting_started_popup
+ respond_to do |format|
+ format.js
+ end
+ end
+
protected
def derive_unique_filename filename, manifest_files
missing_required
end
+ helper_method :update_getting_started_shown_user_pref
+ def update_getting_started_shown_user_pref
+ prefs = current_user.prefs
+ if !prefs[:getting_started_shown]
+ prefs[:getting_started_shown] = Time.now
+ current_user.update_attributes prefs: prefs
+ end
+ end
+
def select_theme
return Rails.configuration.arvados_theme
end
--- /dev/null
+<%
+ update_getting_started_shown_user_pref() if current_user
+%>
+
+<div class="modal">
+ <div class="modal-dialog modal-with-loading-spinner">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+ <div>
+ <div class="col-sm-8"> <h4 class="modal-title"> Getting Started with Arvados </h4> </div>
+ <div class="spinner spinner-32px spinner-h-center col-sm-1" hidden="true"></div>
+ </div>
+ <br/>
+ </div>
+
+ <div class="modal-body" style="height: 25em; overflow-y: scroll">
+ Wait for it
+ </div>
+
+ <div class="modal-footer">
+ <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
--- /dev/null
+$("#getting-started-modal-window").html("<%= escape_javascript(render partial: 'getting_started_popup') %>");
+$("#getting-started-modal-window .modal").modal('show');
<span class="fa fa-lg fa-question-circle"></span>
</a>
<ul class="dropdown-menu">
+ <li> <%= link_to getting_started_popup_path(),
+ {class: 'getting-started-modal-window', remote: true, return_to: request.url} do %>
+ <i class="fa fa-fw fa-info"></i> Getting Started ...
+ <% end %>
+ </li>
+ <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Public Pipelines and Datasets'), "#{Rails.configuration.arvados_wikisite}/projects/arvados/wiki/Public_Pipelines_and_Datasets", target: "_blank" %></li>
<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>
</nav>
<% end %>
- <%= render partial: 'browser_unsupported' %><%# requires JS support below %>
+ <%= render partial: 'browser_unsupported' %> <%# requires JS support below %>
+
+ <% if current_user and !current_user.prefs[:getting_started_shown] %> <%# requires JS support below %>
+ <div id="getting-started-modal-window"></div>
+ <% end %>
<div id="page-wrapper">
<%= yield %>
<div class="modal-container"></div>
<div id="report-issue-modal-window"></div>
<script src="/browser_unsupported.js"></script>
+
+<div id="getting-started-modal-window"></div>
+<% if current_user and !current_user.prefs[:getting_started_shown] %>
+ <script>
+ $("#getting-started-modal-window").html("<%= escape_javascript(render partial: 'getting_started_popup') %>");
+ $("#getting-started-modal-window .modal").modal('show');
+ </script>
+<% end %>
arvados_insecure_https: true
activation_contact_link: mailto:info@arvados.org
arvados_docsite: http://doc.arvados.org
+ arvados_wikisite: http://arvados.org
arvados_theme: default
show_user_agreement_inline: false
secret_token: ~
get "users/setup" => 'users#setup', :as => :setup_user
get "report_issue_popup" => 'actions#report_issue_popup', :as => :report_issue_popup
post "report_issue" => 'actions#report_issue', :as => :report_issue
+ get "getting_started_popup" => 'actions#getting_started_popup', :as => :getting_started_popup
resources :nodes
resources :humans
resources :traits