Skip to content

Commit

Permalink
improve error handling for create valkyrie collections
Browse files Browse the repository at this point in the history
  • Loading branch information
elrayle committed Apr 15, 2022
1 parent c6153e7 commit d9c8c14
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions app/controllers/hyrax/dashboard/collections_controller.rb
Expand Up @@ -210,19 +210,18 @@ def create_active_fedora_collection
end

def create_valkyrie_collection
form.validate(collection_params) &&
@collection = transactions['change_set.create_collection']
.with_step_args(
'change_set.set_user_as_depositor' => { user: current_user },
'change_set.add_to_collections' => { collection_ids: Array(params[:parent_id]) },
'collection_resource.apply_collection_type_permissions' => { user: current_user }
)
.call(form)
.value_or { return after_create_errors("FAILED") }
return after_create_error(form_err_msg(form)) unless form.validate(collection_params)

after_create
add_members_to_collection unless batch.empty?
@collection
result =
transactions['change_set.create_collection']
.with_step_args(
'change_set.set_user_as_depositor' => { user: current_user },
'change_set.add_to_collections' => { collection_ids: Array(params[:parent_id]) },
'collection_resource.apply_collection_type_permissions' => { user: current_user }
)
.call(form)
@collection = result.value_or { return after_create_errors(result.failure.first) }
after_create_response
end

def valkyrie_update
Expand All @@ -241,6 +240,10 @@ def valkyrie_destroy
end
end

def form_err_msg(form)
form.errors.messages.values.flatten.to_sentence
end

def default_collection_type
Hyrax::CollectionType.find_or_create_default_collection_type
end
Expand Down

0 comments on commit d9c8c14

Please sign in to comment.