public function destroy($id)
{
Laralum::permissionToAccess('laralum.roles.access');
# Check permissions
Laralum::permissionToAccess('laralum.roles.delete');
# Select Role
$role = Laralum::role('id', $id);
if (!$role->allow_editing and !Laralum::loggedInuser()->su) {
abort(403, trans('laralum.error_editing_disabled'));
}
# Check if it's su
if ($role->su) {
return abort(403, trans('laralum.error_security_reasons'));
}
# Check if it's the default role
if ($role->id == Laralum::defaultRole()->id) {
abort(403, trans('laralum.error_security_reasons_default_role'));
}
# Delete all relationships
# Permission Relation
$rels = Permission_Role::where('role_id', $id)->get();
foreach ($rels as $rel) {
$rel->delete();
}
# Users Relation
$rels = Role_User::where('role_id', $id)->get();
foreach ($rels as $rel) {
$rel->delete();
}
# Delete Role
$role->delete();
# Redirect the admin
return redirect()->route('Laralum::roles')->with('success', trans('laralum.msg_role_deleted'));
}