/** * 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(); }