function executeSavePermiso() { // borrar todo los permisos para un usuarios determinado $rolId = $this->getRequestParameter('id'); $aPermiso = $this->getRequest()->getParameterHolder()->get('rolPermisos'); $c = new Criteria(); $c->add(RolPermisoPeer::FK_ROL_ID, $rolId); RolPermisoPeer::doDelete($c); if (count($aPermiso) > 0) { // grabar todos los que vienen seleccionados // aqui se debe poder grabar haciendo un solo insert $c = new Criteria(); foreach ($aPermiso as $permisoId) { $p = new RolPermiso(); $p->setFkRolId($rolId); $p->setFkPermisoId($permisoId); $p->save(); unset($p); } } $this->getUser()->setFlash('notice', 'Los permisos para este Rol fueron actualizados correctamente.'); return $this->redirect('rol/editPermiso?id=' . $rolId); }
public static function addInstanceToPool(RolPermiso $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } self::$instances[$key] = $obj; } }