public function deleteRoleById($id) { $role = $this->roleDao->findById($id); $eventBefore = new OW_Event(self::ON_BEFORE_ROLE_DELETE, array('roleId' => $role->getId())); OW::getEventManager()->trigger($eventBefore); $languageService = BOL_LanguageService::getInstance(); $key = $languageService->findKey('base', "authorization_role_{$role->getName()}"); if (!empty($key)) { $languageService->deleteKey($key->getId()); } $this->userRoleDao->onDeleteRole($role->getId(), $this->getDefaultRole()->getId()); $this->roleDao->deleteById($role->getId()); //TODO delete from Permission $eventAfter = new OW_Event(self::ON_AFTER_ROLE_DELETE, array('roleId' => $role->getId())); OW::getEventManager()->trigger($eventAfter); }