Пример #1
0
 /**
  * Funcion para enviar invitaciones a usuarios
  * 
  * Envio de invitaciones para evaluacion 360
  * 
  * @param array $emails arreglo de correos
  * @param integer $usuarioId id de usuario que envia la invitacion
  */
 private function enviarInvitaciones($emails, $usuarioId)
 {
     $form_id = $this->get('formularios')->getFormId('evaluacion360');
     $em = $this->getDoctrine()->getManager();
     $usuario = $em->getRepository("vocationetBundle:Usuarios")->findOneById($usuarioId);
     $usuarioNombre = $usuario->getUsuarioNombre() . ' ' . $usuario->getUsuarioApellido();
     // Envio de email
     $subject = $this->get('translator')->trans("%usu%.invito.contestar.evaluacion.360", array('%usu%' => $usuarioNombre), 'mail');
     $body = $this->get('translator')->trans("%usu%.invito.contestar.evaluacion.360.body", array('%usu%' => $usuarioNombre), 'mail');
     $link = $this->get('request')->getSchemeAndHttpHost() . $this->get('router')->generate('evaluacion360_evaluacion', array("id" => $usuarioId));
     $dataRender = array('title' => $subject, 'body' => $body, 'link' => $link, 'link_text' => $this->get('translator')->trans("participar.evaluacion", array(), 'mail'));
     $this->get('mail')->sendMail($emails, $subject, $dataRender, 'bcc');
     // Registro de invitaciones en la db
     foreach ($emails as $email) {
         // Validar que no exista la invitacion
         $participacion = $em->getRepository("vocationetBundle:Participaciones")->findOneBy(array("formulario" => $form_id, "usuarioEvaluado" => $usuarioId, "correoInvitacion" => $email));
         if (!$participacion) {
             // Registrar invitacion
             $participacion = new \AT\vocationetBundle\Entity\Participaciones();
             $participacion->setFecha(new \DateTime());
             $participacion->setFormulario($form_id);
             $participacion->setUsuarioEvaluado($usuarioId);
             $participacion->setCorreoInvitacion($email);
             $participacion->setEstado(0);
             $em->persist($participacion);
         }
     }
     $em->flush();
 }