+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class PipelineInstancesController < ApplicationController
- skip_before_filter :find_object_by_uuid, only: :compare
- before_filter :find_objects_by_uuid, only: :compare
- skip_around_filter :require_thread_api_token, if: proc { |ctrl|
+ skip_before_action :find_object_by_uuid, only: :compare
+ before_action :find_objects_by_uuid, only: :compare
+ skip_around_action :require_thread_api_token, if: proc { |ctrl|
Rails.configuration.anonymous_user_token and
'show' == ctrl.action_name
}
end
@object.state = 'New'
- # set owner_uuid to that of source, provided it is a project and wriable by current user
+ # set owner_uuid to that of source, provided it is a project and writable by current user
current_project = Group.find(source.owner_uuid) rescue nil
if (current_project && current_project.writable_by.andand.include?(current_user.uuid))
@object.owner_uuid = source.owner_uuid
end
def update
- @updates ||= params[@object.class.to_s.underscore.singularize.to_sym]
+ @updates ||= params.to_unsafe_hash[@object.class.to_s.underscore.singularize.to_sym]
if (components = @updates[:components])
components.each do |cname, component|
if component[:script_parameters]
if provenance
@prov_svg = ProvenanceHelper::create_provenance_graph provenance, "provenance_svg", {
:request => request,
+ :direction => :top_down,
:all_script_parameters => true,
:combine_jobs => :script_and_version,
:pips => pips,
value = tv[:value]
elsif tv[:default]
value = tv[:default]
+ else
+ value = ''
end
- if value
+ if value.present?
split = value.split '/'
if CollectionsHelper.match(split[0])
input_pdhs << split[0]
- elsif CollectionsHelper.match_uuid_with_optional_filepath(split[0])
+ else
input_uuids << split[0]
end
end
@unreadable_inputs_present
end
+ def cancel
+ @object.cancel
+ if params[:return_to]
+ redirect_to params[:return_to]
+ else
+ redirect_to @object
+ end
+ end
+
protected
def for_comparison v
if v.is_a? Hash or v.is_a? Array