X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e4ef3bbeb9d89946ee88aa031204e76156bb9d57..88bef712f3c9fb6e7b7e5d1eb7b429da598f4eaf:/apps/workbench/app/views/users/_tables.html.erb diff --git a/apps/workbench/app/views/users/_tables.html.erb b/apps/workbench/app/views/users/_tables.html.erb index 3bf5023c4c..ebb52019a9 100644 --- a/apps/workbench/app/views/users/_tables.html.erb +++ b/apps/workbench/app/views/users/_tables.html.erb @@ -1,84 +1,108 @@ <% if current_user.andand.is_active %>
Recent jobs + <%= link_to '(refresh)', {format: :js}, {class: 'refresh', remote: true, method: 'get'} %> <%= link_to raw("Show all jobs →"), jobs_path, class: 'pull-right' %> <% if not current_user.andand.is_active or @my_jobs.empty? %>

(None)

<% else %> - - - - - - - + + + + + + + + - - - - - - + + + + + + + + + <%# Preload collections, logs, and pipeline instance objects %> + <% + collection_uuids = [] + log_uuids = [] + @my_jobs[0..6].each do |j| + collection_uuids << j.output + log_uuids << j.log + end + + @my_collections[0..6].each do |c| + collection_uuids << c.uuid + end + + preload_collections_for_objects collection_uuids + preload_log_collections_for_objects log_uuids + + pi_uuids = [] + @my_pipelines[0..6].each do |p| + pi_uuids << p.uuid + end + resource_class = resource_class_for_uuid(pi_uuids.first, friendly_name: true) + preload_objects_for_dataclass resource_class, pi_uuids + %> <% @my_jobs[0..6].each do |j| %> - + - + + @@ -89,52 +113,57 @@
Recent pipeline instances + <%= link_to '(refresh)', {format: :js}, {class: 'refresh', remote: true, method: 'get'} %> <%= link_to raw("Show all pipeline instances →"), pipeline_instances_path, class: 'pull-right' %> <% if not current_user.andand.is_active or @my_pipelines.empty? %>

(None)

<% else %>
ScriptOutputLogAgeStatus
ScriptOutputLogCreated atStatusProgress
- <%= link_to j.script[0..31], job_path(j.uuid) %> + <%= link_to((j.script.andand[0..31] || j.uuid), job_path(j.uuid)) %> - - <% if j.success %> - - - <% Collection.limit(1).where(uuid: j.output).each do |c| %> - <% c.files.each do |file| %> - <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %> - <% end %> - <% end %> - - - <% end %> - - + + <% if j.success and j.output %> + + <% collections = collections_for_object(j.output) %> + <% if collections && !collections.empty? %> + <% c = collections.first %> + <% c.files.each do |file| %> + <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %> + <% end %> + <% end %> + + <% end %> + + <% if j.log %> - <% Collection.limit(1).where(uuid: j.log).each do |c| %> + <% log_collections = log_collections_for_object(j.log) %> + <% if log_collections && !log_collections.empty? %> + <% c = log_collections.first %> <% c.files.each do |file| %> Log <% end %> <% end %> + <% elsif j.respond_to? :log_buffer and j.log_buffer.is_a? String %> + <% buf = j.log_buffer.strip.split("\n").last %> + <%= buf %> <% end %> - <%= raw(distance_of_time_in_words(j.created_at, Time.now).sub('about -','~').sub(' ',' ')) if j.created_at %> + <%= j.created_at.to_s if j.created_at %> - <% if j.success %> - finished - <% elsif j.success == false %> - failed - <% elsif j.running and j.started_at and not j.finished_at %> - <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %> -
-
-
-
- <% else %> - queued - <% end %> + <%= render partial: 'job_status_label', locals: {:j => j} %> +
+
+ <%= render partial: 'job_progress', locals: {:j => j} %> +
- - - + + + + + - - - + + + + + <% @my_pipelines[0..6].each do |p| %> - + + + + <% end %>
Pipeline templateAgeStatusInstanceTemplateCreated atStatusProgress
- <% PipelineTemplate.limit(1).where(uuid: p.pipeline_template_uuid).each do |i| %> - <%= link_to i.name, pipeline_instance_path(p.uuid) %> - <% end %> + <%= link_to_if_arvados_object p.uuid, friendly_name: true %> - <%= raw(distance_of_time_in_words(p.created_at, Time.now).sub('about -','~').sub(' ',' ')) if p.created_at %> + <%= link_to_if_arvados_object p.pipeline_template_uuid, friendly_name: true %> - <% if p.success %> - finished - <% elsif p.success == false %> - failed - <% elsif p.active %> - running - <% else %> - queued - <% end %> + + <%= (p.created_at.to_s) if p.created_at %> + + + <%= render partial: 'pipeline_status_label', locals: {:p => p} %> +
+ <%= render partial: 'pipeline_progress', locals: {:p => p} %> +
+
@@ -143,15 +172,20 @@
Recent collections + <%= link_to '(refresh)', {format: :js}, {class: 'refresh', remote: true, method: 'get'} %> <%= link_to raw("Show all collections →"), collections_path, class: 'pull-right' %> -
+
<%= form_tag collections_path, method: 'get', class: 'form-search small-form-margin' do %> -
- <%= text_field_tag :search, params[:search], class: 'search-query search-mini' %> - <%= submit_tag "Search", name: nil, class: 'btn btn-mini btn-info' %> -
+
+ <%= text_field_tag :search, params[:search], class: 'form-control', placeholder: 'Search' %> + + <%= button_tag(class: 'btn btn-info') do %> + + <% end %> + +
<% end %>
<% if not current_user.andand.is_active or @my_collections.empty? %> @@ -160,25 +194,27 @@ - - + + + - - - + + + + <% @my_collections[0..6].each do |c| %> - + + <% end %>
ContentsTagsAgeContentsTagsAgeStorage
- - <% c.files.each do |file| %> - <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %> - <% end %> - + + <% c.files.each do |file| %> + <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %> + <% end %> + @@ -190,10 +226,12 @@ - <%= raw(distance_of_time_in_words(c.created_at, Time.now).sub('about -','~').sub(' ',' ')) if c.created_at %> + <%= c.created_at.to_s if c.created_at %> + <%= render partial: 'collections/toggle_persist', locals: { uuid: c.uuid, current_state: @persist_state[c.uuid] } %> +
@@ -201,5 +239,32 @@
<% else %> - <%= image_tag "dax.png", style: "max-width=40%" %> + +
+
+ <%= image_tag "dax.png", style: "max-width:100%" %> +
+
+

Welcome to Arvados, <%= current_user.first_name %>!

+
+

+ Your account must be activated by an Arvados administrator. If this + is your first time accessing Arvados and would like to request + access, or you believe you are seeing the page in error, please + <%= link_to "contact us", Rails.configuration.activation_contact_link %>. + You should receive an email at the address you used to log in when + your account is activated. In the mean time, you can + <%= link_to "learn more about Arvados", "https://arvados.org/projects/arvados/wiki/Introduction_to_Arvados" %>, + and <%= link_to "read the Arvados user guide", "http://doc.arvados.org/user" %>. +

+

+ <%= link_to raw('Contact us ✉'), + Rails.configuration.activation_contact_link, class: "pull-right btn btn-primary" %>

+
+
+
+<% end %> + +<% content_for :js do %> +setInterval(function(){$('a.refresh:eq(0)').click()}, 60000); <% end %>