Class: Isaca::Rails::Platform::ClaimsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Isaca::Rails::Platform::ClaimsController
- Defined in:
- app/controllers/isaca/rails/platform/claims_controller.rb
Instance Method Summary collapse
Methods included from Authorization
#authorize_isaca_user, #claim_symbols, #user_has_privilege?
Methods included from Authentication
#authenticate, #authenticate_isaca_user, #current_isaca_user, #isaca_requires_consent?, #isaca_sign_out, #redirect_after_sign_in_or, #redirect_for_consent?, #user_signed_in?
Instance Method Details
#create ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/isaca/rails/platform/claims_controller.rb', line 5 def create @administrator = Isaca::Rails.configuration.user_model.find(params[:administrator_id]) # Destroy claims that exist but need to be removed @administrator.claims.where(privilege: claim_symbols(claim_params, :destroyable)).destroy_all # Create claims that do not exist but need to be created claim_symbols(claim_params, :creatable).each do |claim| @administrator.claims.create(privilege: claim) unless user_has_privilege?(@administrator, claim) end @administrator.reload respond_to do |format| format.js format.html do redirect_to administrator_path(@administrator), notice: t('isaca.rails.claims.updated') end end end |