/** * Remove piecejointe * * @param \Acme\ProsalesBundle\Entity\Piecesjointes $piecejointe */ public function removePiecejointe(\Acme\ProsalesBundle\Entity\Piecesjointes $piecejointe) { $this->piecejointe->removeElement($piecejointe); }
public function envoyerdevisAction(Request $request, $id) { $message = new Message(); $niveau = $request->get("niveau"); $sortie = array("erreur" => true, "action" => "envoyer", "type" => "devis", "typezone" => "dialogue", "message" => "Le Devis n'a pas été envoyé"); $form = $this->createMessageForm($message, $niveau, $id); $form->handleRequest($request); //echo $form->get('listefile')->getData(); // echo $request->get("listepiecejointes"); if (strlen($request->get("listepiecejointes")) > 0) { $lespiecesjointes = explode(",", $request->get("listepiecejointes")); foreach ($lespiecesjointes as $piecejointe) { $lienfichier = $this->getUploadRootDir() . '/' . $piecejointe; $message->addFichierjoints(new UploadedFile($this->getUploadRootDir() . '/' . $piecejointe, $piecejointe)); } } // echo count($message->getFichierjoints()); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $devis = $em->getRepository('AcmeProsalesBundle:Devis')->find($id); $action = new Actions(); $messageaenvoyer = \Swift_Message::newInstance(); $to = array(); if (strlen($form->get('a')->getData()) > 0) { $listedestinataire = explode(";", str_replace(array("<", ">"), "{", $form->get('a')->getData())); foreach ($listedestinataire as $destinataire) { $ledestinataire = explode("{", $destinataire); $to[$ledestinataire[1]] = $ledestinataire[0]; } } $bcc = array(); if (strlen($form->get('bcc')->getData()) > 0) { $listedestinatairebcc = explode(";", $form->get('bcc')->getData()); if (count($listedestinatairebcc) > 0) { foreach ($listedestinatairebcc as $destinatairebcc) { $bcc[] = $destinatairebcc; } } } if (count($to) > 0) { // $signweb = $message->embed(\Swift_Image::fromPath($this->generateUrl({_welcome_prosales',array(),true)."../uploads/documents/signatureweb_".$entity->getReferent()->getId().".".$entity->getReferent()->getExtweb())); // $signweb = $entity->getReferent()->getSignatureWeb()?utf8_encode(stream_get_contents($entity->getReferent()->getSignatureWeb())):null; // $signweb = $message->embed(\Swift_Image::newInstance($img_data, 'image.jpg', 'image/jpeg')); $messageaenvoyer->setContentType("text/html")->setSubject($form->get('objet')->getData())->setFrom($devis->getReferent()->getEmail())->setTo($to)->setBody($form->get('description')->getData()); if (count($bcc) > 0) { $messageaenvoyer->setBcc($bcc); } if (count($message->getFichierjoints()) > 0) { foreach ($message->getFichierjoints() as $fichierjoint) { $messageaenvoyer->attach(\Swift_Attachment::fromPath($this->getUploadRootDir() . '/' . $fichierjoint->getClientOriginalName())); } } $this->get('mailer')->send($messageaenvoyer); $devis->setEnvoimail(true); $em->persist($devis); $em->flush(); } $action->setA($form->get('a')->getData()); $action->setCci($form->get('bcc')->getData()); $action->setReferent($this->getUser()); $action->setOrganisation($devis->getOrganisation()); $action->setTypeaction($em->getRepository('AcmeProsalesBundle:Typesaction')->find(2)); $action->setSujet($form->get('objet')->getData()); $action->setCci($form->get('bcc')->getData()); $action->setContact($devis->getContact()); $action->setDescription($form->get('description')->getData()); $action->setPj(count($message->getFichierjoints()) > 0); if (count($message->getFichierjoints()) > 0) { foreach ($message->getFichierjoints() as $fichierjoint) { $pjointe = new Piecesjointes(); $pjointe->setDocument($fichierjoint->getClientOriginalName()); $pjointe->setAction($action); $action->addPiecejointe($pjointe); } } $em->persist($action); $em->flush(); $sortie = array("erreur" => false, "action" => "new", "type" => "message", "idonglet" => "new_message_" . $id, "typezone" => "dialogue", "message" => "Le Devis a été envoyé"); $sortie["resultat"] = array('id' => $devis->getId(), 'cat' => 'devis', 'reference' => $devis->getReference(), 'dossier' => $devis->getDossier(), 'idorg' => $devis->getOrganisation()->getId(), 'organisation' => $devis->getOrganisation()->__toString(), 'datedevis' => date_format($devis->getCreatedAt(), "d-m-Y"), 'contact' => $devis->getContact() ? $devis->getContact()->__toString() : null, 'referent' => $devis->getReferent()->__toString(), 'totalht' => $devis->getTotalht(), 'totaltva' => $devis->getTotaltva(), 'totalttc' => $devis->getTotalttc(), 'fraisport' => $devis->getFraisport(), 'tauxtva' => $devis->getTauxTva(), 'mail' => $devis->getEnvoimail() ? "@" : " ", 'devisparent' => $devis->getParent() == null ? null : $devis->getParent()->getReference(), 'listeproduits' => $devis->getListeproduits()); $sortie["action"] = array('id' => $action->getId(), 'cat' => 'action', 'sujet' => $action->getSujet(), 'createdAt' => date_format($action->getCreatedAt(), "d-m-Y à H:i"), 'contact' => $action->getContact() ? $action->getContact()->__toString() : null); } $response = new JsonResponse(); $response->setData($sortie); return $response; }