Class: Import::SourceUsers::CancelReassignmentService
- Inherits:
-
BaseService
- Object
- BaseService
- Import::SourceUsers::CancelReassignmentService
- Defined in:
- app/services/import/source_users/cancel_reassignment_service.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(import_source_user, current_user:) ⇒ CancelReassignmentService
constructor
A new instance of CancelReassignmentService.
Constructor Details
#initialize(import_source_user, current_user:) ⇒ CancelReassignmentService
Returns a new instance of CancelReassignmentService.
6 7 8 9 |
# File 'app/services/import/source_users/cancel_reassignment_service.rb', line 6 def initialize(import_source_user, current_user:) @import_source_user = import_source_user @current_user = current_user end |
Instance Method Details
#execute ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/services/import/source_users/cancel_reassignment_service.rb', line 11 def execute return unless current_user.can?(:admin_import_source_user, import_source_user) invalid_status = false cancel_successful = false import_source_user.with_lock do if import_source_user.cancelable_status? cancel_successful = cancel_reassignment else invalid_status = true end end return error_invalid_status if invalid_status if cancel_successful ServiceResponse.success(payload: import_source_user) else ServiceResponse.error(payload: import_source_user, message: import_source_user.errors.) end end |