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 %>
253 <%= image_tag "dax.png", style: "max-width=40%" %>
256 <% content_for :js do %>
257 setInterval(function(){$('a.refresh:eq(0)').click()}, 60000);