public function makeDefault(Layout $layout) { $repo = $this->em->getRepository('DonateCoreBundle:Layout'); $defaultLayout = $repo->getDefaultLayout($layout->getLanguage()); if ($layout === $defaultLayout) { return []; } $defaultLayout->setIsDefault(false); $layout->setIsDefault(true); return [$defaultLayout, $layout]; }
/** * @Route("/cms/layout/{layout}/block/{block}/edit" , name="donate_admin_block_edit", requirements={"layout" = "\d+","block" = "\d+"}, defaults={"layout" = 0, "block" = 0}) * @Security("is_granted('ROLE_CMS')") */ public function editBlockAction(Request $request, Layout $layout, Block $block) { $form = $this->createForm(BlockType::class, $block); $form->handleRequest($request); if ($form->isValid()) { $entityMgr = $this->getDoctrine()->getManager(); $entityMgr->persist($block); $entityMgr->flush(); return $this->redirect($this->generateUrl('donate_admin_block_list', ['id' => $layout->getId()])); } return $this->render('DonateAdminBundle:Block:editBlock.html.twig', ['form' => $form->createView(), 'block' => $block]); }
public function showAction(Layout $layout, $cache = true) { $blocks = $layout->getBlocks(); //cache validation $response = new Response(); if ($cache) { // Définit la réponse comme publique. Sinon elle sera privée par défaut. $response->setPublic(); $response->setSharedMaxAge(600); } return $this->render('DonateFrontBundle::sidebar.html.twig', array('blocks' => $blocks), $response); }
/** * @Route("/cms/layout/{layout}/affectations/sort" , name="donate_admin_affectation_sort", requirements={"layout" = "\d+","methods" = "POST"}, defaults={"layout" = 0}) */ public function sortAction(Request $request, Layout $layout) { $post = $request->request->all(); $weight = 0; $affectations = $layout->getAffectations(); $idWeight = array(); foreach ($post['affectation'] as $id) { $idWeight[$id] = $weight; $weight += 10; } $em = $this->getDoctrine()->getManager(); foreach ($affectations as $a) { $a->setWeight($idWeight[$a->getId()]); $em->persist($a); } $em->flush(); return new JsonResponse(array('status' => 'ok')); }
protected function createLayout($lang) { $layout = new Layout($lang, "default-{$lang}"); $logoPath = $this->getContainer()->get('kernel')->getRootDir() . '/../web/bundles/donatefront/images/logo.png'; $bgPath = $this->getContainer()->get('kernel')->getRootDir() . '/../web/bundles/donatefront/images/fd-body.jpg'; $f = new File($logoPath); $logo = new UploadedFile($logoPath, 'ulogo.png', $f->getMimeType(), $f->getSize()); $f = new File($bgPath); $bg = new UploadedFile($bgPath, 'ubg.png', $f->getMimeType(), $f->getSize()); $layout->setLogo($logo); $layout->setBackground($bg); $em = $this->getContainer()->get('doctrine.orm.entity_manager'); $repo = $em->getRepository('DonateCoreBundle:Layout'); $defaultLayout = $repo->findDefaultLayout($lang); if (count($defaultLayout) == 0) { $layout->setIsDefault(true); } return $layout; }
/** * @Route("/cms/layout/{id}/preview" , name="donate_admin_layout_preview", requirements={"id" = "\d+"}, defaults={"id" = 0}) * @Security("is_granted('ROLE_CMS')") */ public function previewLayoutAction(Request $request, Layout $layout) { $request->setLocale($layout->getLanguage()); $form = $this->createForm(DonationType::class, new Customer(), array('civilities' => $this->getParameter('donate_front.form.civility'), 'equivalences' => $this->get('donate_core.equivalence.factory')->getAll(), 'payment_methods' => $this->get('donate_core.payment_method_discovery')->getEnabledMethods(), 'affectations' => $layout->getAffectations())); return $this->render('DonateAdminBundle:Block:previewLayout.html.twig', ['layout' => $layout, 'form' => $form->createView()]); }