*/
public function updateEntityPermissionsFromRequest($request, Entity $entity)
{
- $entity->restricted = $request->has('restricted') && $request->get('restricted') === 'true';
+ $entity->restricted = $request->get('restricted', '') === 'true';
$entity->permissions()->delete();
- if ($request->has('restrictions')) {
+
+ if ($request->filled('restrictions')) {
foreach ($request->get('restrictions') as $roleId => $restrictions) {
foreach ($restrictions as $action => $value) {
$entity->permissions()->create([
}
}
}
+
$entity->save();
$this->permissionService->buildJointPermissionsForEntity($entity);
}
*/
protected function nameToSlug($name)
{
- $slug = str_replace(' ', '-', strtolower($name));
- $slug = preg_replace('/[\+\/\\\?\@\}\{\.\,\=\[\]\#\&\!\*\'\;\:\$\%]/', '', $slug);
+ $slug = preg_replace('/[\+\/\\\?\@\}\{\.\,\=\[\]\#\&\!\*\'\;\:\$\%]/', '', mb_strtolower($name));
+ $slug = preg_replace('/\s{2,}/', ' ', $slug);
+ $slug = str_replace(' ', '-', $slug);
if ($slug === "") $slug = substr(md5(rand(1, 500)), 0, 5);
return $slug;
}