Class: LesliShield::RolesController
- Inherits:
-
ApplicationController
- Object
- Lesli::ApplicationLesliController
- ApplicationController
- LesliShield::RolesController
- Defined in:
- app/controllers/lesli_shield/roles_controller.rb
Instance Method Summary collapse
-
#create ⇒ Json
Json that contains wheter the creation of the role was successful or not.
- #deploy ⇒ Object
-
#destroy ⇒ Json
Json that contains wheter the role was successfully deleted or not.
-
#edit ⇒ HTML
HTML view for editing the role.
- #index ⇒ Object
-
#new ⇒ HTML
HTML view for creating a new role.
- #options ⇒ JSON
- #show ⇒ Object
-
#update ⇒ Json
Json that contains wheter the role was successfully updated or not.
Instance Method Details
#create ⇒ Json
Returns Json that contains wheter the creation of the role was successful or not. If it is not successful, it returns an error message.
80 81 82 83 84 85 86 87 88 89 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 80 def create role = RoleService.new(current_user).create(role_params) if role.successful? respond_with_successful(role.result) else respond_with_error(role.errors_as_sentence) end end |
#deploy ⇒ Object
37 38 39 40 41 42 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 37 def deploy RolePrivilegeService.new.synchronize(@role.result) respond_with_lesli( :turbo => stream_notification_success("success") ) end |
#destroy ⇒ Json
Returns Json that contains wheter the role was successfully deleted or not. If it it not successful, it returns an error message.
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 118 def destroy return respond_with_not_found unless @role.found? # Validation: check if the role has still associated users if @role.has_users? return respond_with_error(I18n.t("core.roles.messages_danger_users_assigned_validation")) end @role.destroy # Check if the deletion went ok unless @role.successful? return respond_with_error(@role.errors) end respond_with_successful end |
#edit ⇒ HTML
Returns HTML view for editing the role.
66 67 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 66 def edit end |
#index ⇒ Object
44 45 46 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 44 def index @roles = respond_with_pagination(Lesli::RoleService.new(current_user, query).index) end |
#new ⇒ HTML
Returns HTML view for creating a new role.
57 58 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 57 def new end |
#options ⇒ JSON
138 139 140 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 138 def respond_with_successful(RoleService.new(current_user).) end |
#show ⇒ Object
48 49 50 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 48 def show @role = @role.show end |
#update ⇒ Json
Returns Json that contains wheter the role was successfully updated or not. If it it not successful, it returns an error message.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'app/controllers/lesli_shield/roles_controller.rb', line 95 def update # Respond with 404 if role was not found return respond_with_not_found unless @role.found? # check if current user can work with role # unless current_user.can_work_with_role?(@role.resource) # return respond_with_error(I18n.t("core.roles.messages_danger_updating_role_object_level_permission_too_high")) # end # Update role information @role.update(role_params) # check if the update went OK if @role.successful? respond_with_lesli(:turbo => stream_notification_success("Role updated successfully!")) else respond_with_lesli(:turbo => stream_notification_danger(@role.errors_as_sentence)) end end |