public function CarrerasPorJefe2()
 {
     $Curso = CarreraPorUsuarioUnitec::model()->findAllByAttributes(array('UsuarioUnitec_IdUsuarioUnitec' => Yii::app()->user->getId(), 'TipoUsuarioUnitec_IdTipoUsuarioUnitec' => 2, 'Activo' => 1));
     $arrayConIds = "";
     $contador = 0;
     foreach ($Curso as $cursito) {
         $arrayConIds[$contador] = $cursito->Carrera_IdCarrera;
         $contador = $contador + 1;
     }
     //  Cuando los usuarios no son jefes de ninguna carrera y por alguna razon entran, asi no da error(addInCondition tiene que recibir un array)
     if (empty($arrayConIds)) {
         $arrayConIds[0] = "";
     }
     $criteria = new CDbCriteria();
     $criteria->addInCondition('IdCarrera', $arrayConIds);
     $criteria->order = 'NombreCarrera ASC';
     return $arrayConIds;
 }
 /**
  * Authenticates a user.
  * The example implementation makes sure if the username and password
  * are both 'demo'.
  * In practical applications, this should be changed to authenticate
  * against some persistent user identity storage (e.g. database).
  * @return boolean whether authentication succeeds.
  */
 public function authenticate()
 {
     $user = UsuarioUnitec::model()->findByAttributes(array('Usuario' => $this->username));
     //$user = UsuarioUnitec::model()->find("LOWER(username)=?",array(strtolower($this->username)));
     if ($user === null) {
         $this->errorCode = self::ERROR_USERNAME_INVALID;
     } elseif ($this->password !== $user->Contrasena) {
         $this->errorCode = self::ERROR_PASSWORD_INVALID;
     } else {
         $VerificaAsesor = $Curso = CarreraPorUsuarioUnitec::model()->findAllByAttributes(array('UsuarioUnitec_IdUsuarioUnitec' => $user->IdUsuarioUnitec, 'TipoUsuarioUnitec_IdTipoUsuarioUnitec' => 2, 'Activo' => 1));
         if (!empty($VerificaAsesor)) {
             $this->setState('EsJefeAcademico', true);
         } else {
             $this->setState('EsJefeAcademico', false);
         }
         $this->_id = $user->IdUsuarioUnitec;
         $this->errorCode = self::ERROR_NONE;
     }
     return !$this->errorCode;
 }
 public function borrarRegistro($id)
 {
     $temp = CarreraPorUsuarioUnitec::model()->findbyPk($id);
     $temp->delete();
 }
 public function actionAsesoresPorCarrera2()
 {
     if (isset($_POST['Carreras2'])) {
         $criteria = new CDbCriteria();
         $criteria->addInCondition('Carrera_IdCarrera', $_POST['Carreras2']);
         $criteria->group = 'UsuarioUnitec_IdUsuarioUnitec';
         $list = CarreraPorUsuarioUnitec::model()->findAll($criteria);
         $cantidadAseosres = count($list);
         // eso es por que filtramos por grupo y solamente pasa los asesores que tienen esos codigos de carrera
         $cantidadCarreras = count($_POST['Carreras2']);
         // echo "<option value=\"{$cantidadAseosres}\"> {Cantidad  de Asesores $cantidadAseosres}</option>";
         // echo "<option value=\"{$cantidadCarreras}\"> {Cantidad  de Carreras $cantidadCarreras}</option>";
         // accediendo a las usuarios que cumplen con al menos una de las carreras
         foreach ($list as $asesor) {
             // echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {Codigo de Asesor:  $asesor->UsuarioUnitec_IdUsuarioUnitec}</option>";
             $criteria2 = new CDbCriteria();
             $criteria2->compare('UsuarioUnitec_IdUsuarioUnitec', $asesor->UsuarioUnitec_IdUsuarioUnitec, false);
             $criteria2->compare('Activo', 1, false);
             $FilasAsesorActual = CarreraPorUsuarioUnitec::model()->findAll($criteria2);
             //$FilasAsesorActual = CarreraPorUsuarioUnitec::model()->findAll("UsuarioUnitec_IdUsuarioUnitec=?",array($asesor->UsuarioUnitec_IdUsuarioUnitec));	 esta la quite para poder poner la excepcion
             // de caundo la carrera por usuario unitec esta pendiente
             $check = 0;
             for ($i = 0; $i < $cantidadCarreras; $i++) {
                 foreach ($FilasAsesorActual as $fila) {
                     $temp = $_POST['Carreras2'][$i];
                     // echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {Cod Asesor : $asesor->UsuarioUnitec_IdUsuarioUnitec Comparando Carrera : $temp  con  $fila->Carrera_IdCarrera }</option>";
                     if ($temp == $fila->Carrera_IdCarrera) {
                         $check++;
                         // echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {Encontro uno  valor de check es $check}</option>";
                     }
                     // carreras por asesor
                     // echo "<option value=\"{$fila->UsuarioUnitec_IdUsuarioUnitec}\"> {Carrera de Asesor: $fila->UsuarioUnitec_IdUsuarioUnitec es :   $fila->Carrera_IdCarrera}</option>";
                 }
             }
             if (intval($check) == intval($cantidadCarreras)) {
                 $usuarioTemp = $asesor->userUnitec->Nombre;
                 echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {$asesor->userUnitec->PrimerNombrePrimerApellido}</option>";
             }
             /*$tempDeCantidadCarrera =  $cantidadCarrera +1;
             		 echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> { hahah}</option>";
             		if($check == $tempDeCantidadCarrera){
             			 echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {Se Agrego a este usuario: $asesor->UsuarioUnitec_IdUsuarioUnitec}</option>";
             			}*/
         }
         // echo "<option value=\"{$asesor->UsuarioUnitec_IdUsuarioUnitec}\"> {$tamanio}</option>";
     }
 }