コード例 #1
0
 public function executeAsignarNuevos(sfWebRequest $request)
 {
     $this->tipos = Doctrine_Core::getTable('Discipulo')->getTipos();
     $this->forwardUnless($cadena_ids = $request->getParameter('cadena_ids'), 'asignacion', 'index');
     $cadena_ids = explode('|', $cadena_ids);
     $id_lider = $cadena_ids[0];
     $lista_nuevos = $cadena_ids[1];
     $lista_nuevos = explode('-', $lista_nuevos);
     for ($i = 0; $i < count($lista_nuevos); $i++) {
         $asignacion = new Asignacion();
         $lider = Doctrine_Core::getTable('Discipulo')->find($id_lider);
         $discipulo = Doctrine_Core::getTable('Discipulo')->find($lista_nuevos[$i]);
         if (Doctrine_Core::getTable('Asignacion')->estaAsginado($discipulo->getId(), $lider->getId()) == 0) {
             $actualizacion = $discipulo->actualizaTipo(1);
             if (sfConfig::get('app_envia_mails')) {
                 $mensaje = Swift_Message::newInstance()->setFrom(sfConfig::get('app_correo_cuenta_salida'), sfConfig::get('app_correo_nombre_salida'))->setTo($discipulo->getEmailAddress())->setSubject(sfConfig::get('app_correo_subject_asignacion'))->setBody($this->getPartial('correoAsignacionDiscipulo', array('discipulo' => $discipulo, 'lider' => $lider)));
                 $correo = $this->getMailer()->send($mensaje);
                 $mensaje = Swift_Message::newInstance()->setFrom(sfConfig::get('app_correo_cuenta_salida'), sfConfig::get('app_correo_nombre_salida'))->setTo($lider->getEmailAddress())->setSubject(sfConfig::get('app_correo_subject_lider'))->setBody($this->getPartial('correoAsignacionLider', array('discipulo' => $discipulo, 'lider' => $lider)));
                 $correo = $this->getMailer()->send($mensaje);
                 $valida = $this->validaAsignacion($lider, $discipulo, $actualizacion, $correo);
             } else {
                 $valida = $this->validaAsignacion($lider, $discipulo, $actualizacion);
             }
             if ($valida == 'ok') {
                 $asignado = $asignacion->asignarNuevos($id_lider, $lista_nuevos[$i]);
                 if ($asignado == 'ok') {
                     $flash_tipo = 'notice';
                     $flash_msg = 'Se han asignado los discipulos de forma correcta';
                 } else {
                     $flash_tipo = 'error';
                     $flash_msg = 'Ha ocurrido un error al asignar: ' . $asignado;
                 }
             } else {
                 $flash_tipo = 'error';
                 $flash_msg = $valida;
             }
         } else {
             $flash_tipo = 'error';
             $flash_msg = 'Ha ocurrido un error al asignar: El discípulo ' . $discipulo . ' ya ha sido asignado al lìder ' . $lider . '.';
         }
     }
     $this->getUser()->setFlash($flash_tipo, $flash_msg, false);
     $this->forward('asignacion', 'index');
 }