1 <% if current_user.andand.is_active %>
3 <strong>Recent jobs</strong>
4 <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
5 <%= link_to raw("Show all jobs →"), jobs_path, class: 'pull-right' %>
6 <% if not current_user.andand.is_active or @my_jobs.empty? %>
9 <table class="table table-bordered table-condensed table-fixedlayout">
26 <% @my_jobs[0..6].each do |j| %>
30 <%= link_to j.script[0..31], job_path(j.uuid) %>
38 <a href="<%= collection_path(j.output) %>">
39 <% Collection.limit(1).where(uuid: j.output).each do |c| %>
40 <% c.files.each do |file| %>
41 <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %>
53 <% fixup = /([a-f0-9]{32}\+\d+)(\+?.*)/.match(j.log)%>
54 <% Collection.limit(1).where(uuid: fixup[1]).each do |c| %>
55 <% c.files.each do |file| %>
56 <a href="<%= collection_path(j.log) %>/<%= file[1] %>?disposition=inline&size=<%= file[2] %>">Log</a>
59 <% elsif j.respond_to? :log_buffer and j.log_buffer %>
60 <% buf = j.log_buffer.strip.split("\n").last %>
61 <span title="<%= buf %>"><%= buf %></span>
68 <%= raw(distance_of_time_in_words(j.created_at, Time.now).sub('about
69 ','~').sub(' ',' ')) if j.created_at %>
75 <span class="label label-success">finished</span>
76 <% elsif j.success == false %>
77 <span class="label label-danger">failed</span>
78 <% elsif j.finished_at %>
79 <span class="label">finished?</span>
80 <% elsif j.started_at %>
81 <span class="label label-info">running</span>
83 <span class="label">queued</span>
85 <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %>
86 <div class="inline-progress-container pull-right">
87 <div class="progress">
88 <span class="progress-bar progress-bar-success" style="width: <%= j.tasks_summary[:done] * percent_total_tasks rescue 0 %>%;">
90 <span class="progress-bar" style="width: <%= j.tasks_summary[:running] * percent_total_tasks rescue 0 %>%;">
92 <% if j.success == false %>
93 <span class="progress-bar progress-bar-danger" style="width: <%= tasks_summary[:failed] * percent_total_tasks rescue 0 %>%;">
107 <strong>Recent pipeline instances</strong>
108 <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
109 <%= link_to raw("Show all pipeline instances →"), pipeline_instances_path, class: 'pull-right' %>
110 <% if not current_user.andand.is_active or @my_pipelines.empty? %>
113 <table class="table table-bordered table-condensed table-fixedlayout">
128 <% @my_pipelines[0..6].each do |p| %>
132 <%= link_to_if_arvados_object p.uuid, friendly_name: true %>
138 <%= link_to_if_arvados_object p.pipeline_template_uuid, friendly_name: true %>
144 <%= raw(distance_of_time_in_words(p.created_at, Time.now).sub('about
145 ','~').sub(' ',' ')) if p.created_at %>
151 <span class="label label-success">finished</span>
152 <% elsif p.success == false %>
153 <span class="label label-danger">failed</span>
154 <% elsif p.active and p.modified_at < 30.minutes.ago %>
155 <span class="label label-info">stopped</span>
157 <span class="label label-info">running</span>
159 <span class="label">queued</span>
162 <% summary = pipeline_summary p %>
163 <div class="inline-progress-container pull-right">
164 <div class="progress">
165 <span class="progress-bar progress-bar-success" style="width: <%= summary[:percent_done] %>%;">
167 <% if p.success == false %>
168 <span class="progress-bar progress-bar-danger" style="width: <%= 100.0 - summary[:percent_done] %>%;">
171 <span class="progress-bar" style="width: <%= summary[:percent_running] %>%;">
173 <span class="progress-bar progress-bar-info" style="width: <%= summary[:percent_queued] %>%;">
175 <span class="progress-bar progress-bar-danger" style="width: <%= summary[:percent_failed] %>%;">
189 <strong>Recent collections</strong>
190 <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
191 <%= link_to raw("Show all collections →"), collections_path, class: 'pull-right' %>
192 <div class="pull-right" style="padding-right: 1em; width: 30%;">
193 <%= form_tag collections_path,
195 class: 'form-search small-form-margin' do %>
196 <div class="input-group input-group-sm">
197 <%= text_field_tag :search, params[:search], class: 'form-control', placeholder: 'Search' %>
198 <span class="input-group-btn">
199 <%= button_tag(class: 'btn btn-info') do %>
200 <span class="glyphicon glyphicon-search"></span>
206 <% if not current_user.andand.is_active or @my_collections.empty? %>
209 <table class="table table-bordered table-condensed table-fixedlayout">
222 <% @my_collections[0..6].each do |c| %>
226 <a href="<%= collection_path(c.uuid) %>">
227 <% c.files.each do |file| %>
228 <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %>
234 <% if @my_tag_links[c.uuid] %>
236 <%= @my_tag_links[c.uuid].collect(&:name).join(", ") %>
242 <%= raw(distance_of_time_in_words(c.created_at, Time.now).sub('about
243 ','~').sub(' ',' ')) if c.created_at %>
254 <div class="row-fluid">
255 <div class="col-sm-4">
256 <%= image_tag "dax.png", style: "max-width:100%" %>
258 <div class="col-sm-8">
259 <h2>Welcome to Arvados, <%= current_user.first_name %>!</h2>
262 Your account must be activated by an Arvados administrator. If this
263 is your first time accessing Arvados and would like to request
264 access, or you believe you are seeing the page in error, please
265 <%= link_to "contact us", Rails.configuration.activation_contact_link %>.
266 You should receive an email at the address you used to log in when
267 your account is activated. In the mean time, you can
268 <%= link_to "learn more about Arvados", "https://arvados.org/projects/arvados/wiki/Introduction_to_Arvados" %>,
269 and <%= link_to "read the Arvados user guide", "http://doc.arvados.org/user" %>.
271 <p style="padding-bottom: 1em">
272 <%= link_to raw('Contact us ✉'),
273 Rails.configuration.activation_contact_link, class: "pull-right btn btn-primary" %></p>
279 <% content_for :js do %>
280 setInterval(function(){$('a.refresh:eq(0)').click()}, 60000);