/** * delete * * @param UserGroup $group group * * @return bool */ public function delete($group) { if ($group->exists) { $group->users()->detach(); } return $group->delete(); }
/** * Get permission argument * * @param string $key permission key * @param array|string $abilities abilities * @param string $siteKey site key * @return array */ public function getPermArguments($key, $abilities, $siteKey = 'default') { $abilities = !is_array($abilities) ? [$abilities] : $abilities; $permission = app('xe.permission')->getOrNew($key, $siteKey); $mode = function ($action) use($permission) { return $permission->pure($action) ? 'manual' : 'inherit'; }; $groups = UserGroup::get(); $arguments = []; foreach ($abilities as $ability) { $arguments[$ability] = ['mode' => $mode($ability), 'grant' => $permission[$ability], 'title' => $ability, 'groups' => $groups]; } return $arguments; }