Beispiel #1
0
 public function remove($object)
 {
     if (!$object) {
         return false;
     }
     return parent::remove($object);
 }
 /**
  * Delete role using string name
  */
 public function actionDelete($id)
 {
     $role = $this->findRole($id);
     /* @var $systemAlert Alert */
     $systemAlert = Yii::$app->systemAlert;
     try {
         $this->authManager->remove($role);
         $systemAlert->setMessage(Alert::SUCCESS, Yii::t('user', 'Role successfully deleted'));
     } catch (Exception $ex) {
         $systemAlert->setMessage(Alert::DANGER, Yii::t('app', 'System error: {message}', ['message' => $ex->getMessage()]));
     }
     return $this->redirect(['index']);
 }
 /**
  * Удаляет роль, привилегию или правило из системы
  * @param $type
  * @param $name
  * @return int
  * @throws ErrorException
  */
 public function actionDelete($type, $name)
 {
     $item = null;
     switch ($type) {
         case self::TYPE_ROLE:
             $item = $this->authManager->getRole($name);
             break;
         case self::TYPE_PERMISSION:
             $item = $this->authManager->getPermission($name);
             break;
         case self::TYPE_RULE:
             $item = $this->authManager->getRule($name);
             break;
         default:
             throw new InvalidParamException(self::invalidTypeMessage());
             break;
     }
     if (is_null($item)) {
         throw new ErrorException("{$type} '{$name}' не найдена.");
     }
     $this->authManager->remove($item);
     return Controller::EXIT_CODE_NORMAL;
 }
 public function remove($object)
 {
     if ($object->name == 'superuser') {
         return new Exception('Суперпользователя удалить невозможно!');
     }
     return parent::remove($object);
 }
Beispiel #5
0
 public function afterDelete()
 {
     $rbac = new DbManager();
     $rbac->init();
     $role = $rbac->createRole($this->name);
     $role->description = $this->title;
     $rbac->remove($role);
     $rbac->removeChildren($role);
     return parent::afterDelete();
 }