- $role = $this->role->newInstance($request->all());
- $role->name = str_replace(' ', '-', strtolower($request->get('display_name')));
- // Prevent duplicate names
- while ($this->role->where('name', '=', $role->name)->count() > 0) {
- $role->name .= strtolower(str_random(2));
- }
- $role->save();
-
- if ($request->has('permissions')) {
- $permissionsNames = array_keys($request->get('permissions'));
- $permissions = $this->permission->whereIn('name', $permissionsNames)->pluck('id')->toArray();
- $role->permissions()->sync($permissions);
- } else {
- $role->permissions()->sync([]);
- }
-
- session()->flash('success', 'Role successfully created');
+ $this->permissionsRepo->saveNewRole($request->all());
+ session()->flash('success', trans('settings.role_create_success'));