public function load(ObjectManager $manager) { //Estos valores sólo se volcarán en el entorno de test if ($this->container->get('kernel')->getEnvironment() == 'test') { $emailLayout = new EmailLayout(); $emailLayout->setCreationDate(Util::getCurrentDate()); $emailLayout->setHeader('Test Header'); $emailLayout->setFooter('Test Footer'); $emailLayout->setName('Layout Test 1'); $manager->persist($emailLayout, $manager); } $manager->flush(); }
/** * Permite validar y almacenar la informacion de un layout * @author Cesar Giraldo - Kijho Technologies <*****@*****.**> 10/11/2015 * @param Request $request datos de la solicitud * @return Response en caso de exito redirecciona al listado de layouts, * en caso de error despliega nuevamente el formulario de creacion de layouts */ public function saveAction(Request $request) { $em = $this->getDoctrine()->getManager(); $layoutStorage = $this->container->getParameter('kijho_mailer.storage')['layout']; $layout = new $layoutStorage(); $form = $this->createForm(new EmailLayoutType($this->container), $layout); $form->handleRequest($request); if ($form->isValid()) { $layout->setCreationDate(Util::getCurrentDate()); $em->persist($layout); $em->flush(); $this->get('session')->getFlashBag()->add('messageSuccessLayout', $this->get('translator')->trans('kijho_mailer.layout.creation_success_message')); return $this->redirect($this->generateUrl('kijho_mailer_layout')); } return $this->render('KijhoMailerBundle:Layout:new.html.twig', array('layout' => $layout, 'form' => $form->createView(), 'menu' => 'layouts')); }
/** * Permite validar y almacenar la informacion de un template * @author Cesar Giraldo - Kijho Technologies <*****@*****.**> 11/11/2015 * @param Request $request datos de la solicitud * @return Response en caso de exito redirecciona al listado de templates, * en caso de error despliega nuevamente el formulario de creacion de templates */ public function saveAction(Request $request) { $em = $this->getDoctrine()->getManager(); $templateStorage = $this->container->getParameter('kijho_mailer.storage')['template']; $template = new $templateStorage(); $entities = $this->getReflectedProjectEntities(); $form = $this->createForm(new EmailTemplateType($this->container, $entities['instances']), $template); $form->handleRequest($request); if ($form->isValid()) { $template->setCreationDate(Util::getCurrentDate()); $em->persist($template); $em->flush(); $this->get('session')->getFlashBag()->add('messageSuccessTemplate', $this->get('translator')->trans('kijho_mailer.template.creation_success_message')); return $this->redirect($this->generateUrl('kijho_mailer_template')); } return $this->render('KijhoMailerBundle:Template:new.html.twig', array('template' => $template, 'form' => $form->createView(), 'entities' => $entities, 'menu' => 'templates')); }
/** * Permite validar y almacenar la informacion de un template group * @author Cesar Giraldo - Kijho Technologies <*****@*****.**> 12/11/2015 * @param Request $request datos de la solicitud * @return Response en caso de exito redirecciona al listado de template groups, * en caso de error despliega nuevamente el formulario de creacion de template groups */ public function saveAction(Request $request) { $em = $this->getDoctrine()->getManager(); $templateGroupStorage = $this->container->getParameter('kijho_mailer.storage')['template_group']; $templateGroup = new $templateGroupStorage(); $form = $this->createForm(new EmailTemplateGroupType($this->container), $templateGroup); $form->handleRequest($request); if ($form->isValid()) { $templateGroup->setCreationDate(Util::getCurrentDate()); $em->persist($templateGroup); $em->flush(); //Seteamos el slug del grupo $slug = trim(strtolower(str_replace(' ', '_', $templateGroup->getName()))) . "_" . $templateGroup->getId(); $templateGroup->setSlug($slug); $em->persist($templateGroup); $em->flush(); $this->get('session')->getFlashBag()->add('messageSuccessTemplateGroup', $this->get('translator')->trans('kijho_mailer.template_group.creation_success_message')); return $this->redirect($this->generateUrl('kijho_mailer_template_group')); } return $this->render('KijhoMailerBundle:TemplateGroup:new.html.twig', array('templateGroup' => $templateGroup, 'form' => $form->createView(), 'menu' => 'templateGroups')); }
/** * Esta funcion permite inicializar los datos de un correo electronico * @author Cesar Giraldo <*****@*****.**> 23/11/2015 * @param Template $template instancia del template medianete el cual se envia el correo * @param string $emailAddress direcion(es) de correo electronico * @return \Kijho\MailerBundle\Model\Email */ public function composeEmail(Template $template, $emailAddress) { $emailStorage = $this->container->getParameter('kijho_mailer.storage')['email']; $email = new $emailStorage(); $email->setTemplate($template); $email->setContent($template->getContentMessage()); $email->setFromName($template->getFromName()); $email->setGeneratedDate(Util::getCurrentDate()); $email->setMailCopyTo($template->getCopyTo()); $email->setMailFrom($template->getFromMail()); //filtramos la direccion de correo para saber si vienen varias direcciones en una $emailAddress = $this->buildArrayEmails($emailAddress); $email->setMailTo(json_encode($emailAddress)); $email->setStatus(Email::STATUS_PENDING); $email->setSubject($template->getSubject()); return $email; }