Refactored transfer_service #execute action

This commit is contained in:
Jose Ivan Vargas 2017-05-22 16:04:21 -05:00
parent acd573f1e6
commit ad80238507
1 changed files with 6 additions and 10 deletions

View File

@ -12,17 +12,13 @@ module Projects
TransferError = Class.new(StandardError)
def execute(new_namespace)
if !new_namespace.blank? && allowed_transfer?(current_user, project, new_namespace)
transfer(project, new_namespace)
else
error_message = if new_namespace.blank?
'Please select a new namespace for your project.'
else
'Transfer failed, please contact an admin.'
end
project.errors.add(:new_namespace, error_message)
false
if new_namespace.blank?
raise TransferError, 'Please select a new namespace for your project.'
end
unless allowed_transfer?(current_user, project, new_namespace)
raise TransferError, 'Transfer failed, please contact an admin.'
end
transfer(project, new_namespace)
rescue Projects::TransferService::TransferError => ex
project.reload
project.errors.add(:new_namespace, ex.message)