public function indexAction($action = null, $role_id = null, $user_id = null)
 {
     // Add a user to a mailing list
     if ($this->request->isPost()) {
         $user_id = $this->request->getPost("user_id");
         $role_id = $this->request->getPost("role_id");
         if (!empty($user_id)) {
             // If user and corresponding role already exist
             if ($mail = PMailList::findFirst("role_id={$role_id} AND user_id={$user_id}")) {
                 $this->flash->error("Получатель уже существует");
             } else {
                 $mail_list = new PMailList();
                 $mail_list->role_id = $role_id;
                 $mail_list->user_id = $user_id;
                 if ($mail_list->save()) {
                     $this->flash->success("Получатель добавлен");
                 }
             }
             return $this->response->redirect("mailer/index");
         }
     }
     // Delete a user from a mailing list
     if ($action == 'delete') {
         if ($mail = PMailList::findFirst("role_id={$role_id} AND user_id={$user_id}")) {
             if (!$mail->delete()) {
                 $this->flash->error("Произошла ошибка");
             } else {
                 $this->flash->success("Получатель удален");
             }
             return $this->response->redirect("mailer/index");
         }
     }
     // List of roles
     foreach ($this->roles as $alias) {
         $role = Roles::findFirst("alias='{$alias}'");
         $roles[$role->id] = $role->name;
     }
     $this->view->roles = $roles;
     // List of users subscribed
     $list = [];
     $all = PMailList::find();
     foreach ($all as $one) {
         $list[] = [$one->role_id => [$one->user_id => $one->Accounts->name]];
     }
     $this->view->list = $list;
 }
 public function get_all_permissions()
 {
     // $request = $this->get_request();
     // $id_user = $request->id;
     $id_user = 1;
     $role_acos = array();
     $user = Users::findFirst($id_user);
     foreach ($user->RolesUsers as $rol_usuario) {
         $roles = Roles::findFirst($rol_usuario->getIdRole());
         foreach ($roles->RolesPermissions as $rol_permission) {
             $role_acos[] = $rol_permission->Permissions->getIdAco();
         }
     }
     $user_acos = array();
     $user = Users::findFirst($id_user);
     foreach ($user->UsersPermissions as $user_permission) {
         $user_acos[] = $user_permission->Permissions->getIdAco();
     }
     $merge_permissions = array_merge($role_acos, $user_acos);
     $result = array_unique($merge_permissions);
     return $result;
 }