public function revoke($items)
{
$manager = Configs::authManager();
$success = 0;
foreach ($items as $name) {
try {
$item = $manager->getRole($name);
$item = $item ?: $manager->getPermission($name);
$manager->revoke($item, $this->id);
$success++;
} catch (\Exception $exc) {
Yii::error($exc->getMessage(), __METHOD__);
}
}
Helper::invalidate();
return $success;
}
/** * Assign items * @param string $id * @return array */ public function actionRevoke($id) { $items = Yii::$app->getRequest()->post('items', []); $model = new Assignment($id); $success = $model->revoke($items); Yii::$app->getResponse()->format = 'json'; return array_merge($model->getItems(), ['success' => $success]); }