1 class JobsController < ApplicationController
2 if Rails.configuration.anonymous_user_token
3 skip_around_filter :require_thread_api_token, only: :show
8 def generate_provenance(jobs)
9 return if params['tab_pane'] != "Provenance"
17 ProvenanceHelper::find_collections(j[:script_parameters]) do |hash, uuid|
18 collections << uuid if uuid
19 hashes << hash if hash
21 nodes[j[:script_version]] = {:uuid => j[:script_version]}
24 Collection.where(uuid: collections).each do |c|
25 nodes[c[:portable_data_hash]] = c
28 Collection.where(portable_data_hash: hashes).each do |c|
29 nodes[c[:portable_data_hash]] = c
32 @svg = ProvenanceHelper::create_provenance_graph nodes, "provenance_svg", {
34 :all_script_parameters => true,
35 :script_version_nodes => true}
41 @objects = Job.where(uuid: params[:uuid])
42 generate_provenance(@objects)
53 redirect_to params[:return_to]
60 generate_provenance([@object])
65 @logs = Log.select(%w(event_type object_uuid event_at properties))
66 .order('event_at DESC')
67 .filter([["event_type", "=", "stderr"],
68 ["object_uuid", "in", [@object.uuid]]])
72 .map{ |e| e.serializable_hash.merge({ 'prepend' => true }) }
73 respond_to do |format|
74 format.json { render json: @logs }
87 panes = %w(Status Log Details Provenance Advanced)
88 panes.delete 'Log' if !current_user