Exemplo n.º 1
0
 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];
 }
Exemplo n.º 2
0
 /**
  * @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]);
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 /**
  * @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'));
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
 /**
  * @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()]);
 }