public function CheckEditAction(Request $request, $id) { // Checks Edit villa form try { $AddVilf = new AddVilF(); $form = $this->createForm(new \WebVL\WebVillasBundle\Entity\Forms\EditVilFType(), $AddVilf); $form->handleRequest($request); if ($form->isValid()) { if ($id != -1 && preg_match('/^[0-9]+$/', $id)) { $em = $this->getDoctrine()->getManager(); $villas = $em->createQuery('SELECT r FROM WebVLWebVillasBundle:Villas r WHERE r.idVillas = :id')->setParameter(':id', $id)->getSingleResult(); $availeq = $em->createQuery('SELECT a FROM WebVLWebVillasBundle:AvailEquipment' . ' a WHERE a.villasVillas = :id')->setParameter(':id', $id)->getResult(); $rm = $this->getDoctrine()->getManager(); $query = $rm->createQuery('SELECT r.id, r.state FROM WebVLWebVillasBundle:States r')->getResult(); $villas->setAddress($AddVilf->getAddress()); $villas->setDetails($AddVilf->getDetails()); $villas->setGeox($AddVilf->getGeoX()); $villas->setGeoy($AddVilf->getGeoY()); $villas->setPrice($AddVilf->getPrice()); $villas->setRestrooms($AddVilf->getRestrooms()); $villas->setRooms($AddVilf->getRooms()); $villas->setSize($AddVilf->getSize()); $villas->setView($AddVilf->getView()); $state = new \WebVL\WebVillasBundle\Entity\States(); if ($request->request->get('_State') != null && $request->request->get('_State') != '' && preg_match("/^[0-9]+\$/", $request->request->get('_State'))) { $sta = $request->request->get('_State'); $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT r FROM WebVLWebVillasBundle:States r WHERE r.id = :id")->setParameter(':id', (int) $sta); $state = $query->getSingleResult(); $villas->setStates($state); } else { //state not valid $sta = $request->request->get('_State'); $er = $this->getDoctrine()->getManager(); $query = $er->createQuery('SELECT r.id, r.state FROM WebVLWebVillasBundle:States r')->getResult(); return $this->render('WebVLWebVillasBundle:Villas:EditVillas.html.twig', array('form' => $form->createView(), 'statere' => 'Please choose a state! ' . $sta, 'Query' => $query)); } if (count($availeq) > 0) { $i = count($availeq) - 1; $availeq[$i]->setGym($AddVilf->getGym()); $availeq[$i]->setParking($AddVilf->getParking()); $availeq[$i]->setPool($AddVilf->getPool()); $availeq[$i]->setSauna($AddVilf->getSauna()); } else { $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT count(r) FROM WebVLWebVillasBundle:AvailEquipment r "); $id = $query->getSingleResult(); $Avail = new \WebVL\WebVillasBundle\Entity\AvailEquipment($villas, $id[1] + 1); $Avail->setParking($AddVilf->getParking()); if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getGym())) { $Avail->setGym(true); } else { $Avail->setGym(false); } if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getPool())) { $Avail->setPool(true); } else { $Avail->setPool(false); } if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getSauna())) { $Avail->setSauna(true); } else { $Avail->setSauna(false); } $em->persist($Avail); } $em->flush(); return $this->redirect($this->generateUrl('_Villas', array('Success' => 'Your Villa have been Updated!'))); } else { $em = $this->getDoctrine()->getManager(); $villas = $em->createQuery('SELECT r FROM WebVLWebVillasBundle:Villas r WHERE r.users = :id')->setParameter(':id', $this->getUser())->getSingleResult(); $availeq = $em->createQuery('SELECT a FROM WebVLWebVillasBundle:AvailEquipment' . ' a WHERE a.villasVillas = :id')->setParameter(':id', $villas->getIdVillas())->getResult(); $villas->setAddress($AddVilf->getAddress()); $villas->setDetails($AddVilf->getDetails()); $villas->setGeox($AddVilf->getGeoX()); $villas->setGeoy($AddVilf->getGeoY()); $villas->setPrice($AddVilf->getPrice()); $villas->setRestrooms($AddVilf->getRestrooms()); $villas->setRooms($AddVilf->getRooms()); $villas->setSize($AddVilf->getSize()); $villas->setView($AddVilf->getView()); $state = new \WebVL\WebVillasBundle\Entity\States(); if ($request->request->get('_State') != null && $request->request->get('_State') != '' && preg_match("/^[0-9]+\$/", $request->request->get('_State'))) { $sta = $request->request->get('_State'); $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT r FROM WebVLWebVillasBundle:States r WHERE r.id = :id")->setParameter(':id', (int) $sta); $state = $query->getSingleResult(); $villas->setStates($state); } else { //state not valid $sta = $request->request->get('_State'); $er = $this->getDoctrine()->getManager(); $query = $er->createQuery('SELECT r.id, r.state FROM WebVLWebVillasBundle:States r')->getResult(); return $this->render('WebVLWebVillasBundle:Villas:EditVillas.html.twig', array('form' => $form->createView(), 'statere' => 'Please choose a state! ' . $sta, 'Query' => $query)); } if (count($availeq) > 0) { $i = count($availeq) - 1; $availeq[$i]->setGym($AddVilf->getGym()); $availeq[$i]->setParking($AddVilf->getParking()); $availeq[$i]->setPool($AddVilf->getPool()); $availeq[$i]->setSauna($AddVilf->getSauna()); } else { $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT count(r) FROM WebVLWebVillasBundle:AvailEquipment r "); $id = $query->getSingleResult(); $Avail = new \WebVL\WebVillasBundle\Entity\AvailEquipment($villas, $id[1] + 1); $Avail->setParking($AddVilf->getParking()); if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getGym())) { $Avail->setGym(true); } else { $Avail->setGym(false); } if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getPool())) { $Avail->setPool(true); } else { $Avail->setPool(false); } if (!preg_match("/^True|TRUE|true|1\$/", $AddVilf->getSauna())) { $Avail->setSauna(true); } else { $Avail->setSauna(false); } $em->persist($Avail); } $em->flush(); return $this->redirect($this->generateUrl('_Villas', array('Success' => 'Your Villa have been Updated!'))); } } else { return $this->render('WebVLWebVillasBundle:Villas:EditVillas.html.twig', array('form' => $form->createView())); } } catch (\PDOException $e) { return $this->render('WebVLWebVillasBundle:Default:Errors.html.twig', array('Errors' => array("Name" => "Database Error", "Message" => "We have some problem with our database!"))); } }
public function CreateTestAction() { //Creates The Admin User and some fake users as well Villa's try { $em = $this->getDoctrine()->getManager(); //<editor-fold defaultstate="collapsed" desc="Admin User"> $AdminUser = $em->createQuery("SELECT r FROM WebVLWebVillasBundle:Users r WHERE r.username = '******'")->getSingleResult(); if (count($AdminUser) == 0) { $admin = \WebVL\WebVillasBundle\Entity\Users(); $factory = $this->get('security.encoder_factory'); $admin->setUsername("Administrator"); $admin->setActivated(true); $admin->setEmail("*****@*****.**"); $ActiveCode = rand(1000000000, 9999999999.0); // var_dump( $ActiveCode); $admin->setActivationCode($ActiveCode); $encoder = $factory->getEncoder($admin); $password = $encoder->encodePassword('Adm1n1str@t0r', $admin->getSalt()); $admin->setPassword($password); $admin->setJoined(new \DateTime()); $AdminRole = $em->createQuery("SELECT r FROM WebVLWebVillasBundle:Roles r WHERE r.name = 'Admin'")->getSingleResult(); $admin->addRole($AdminRole); $em->persist($admin); $em->flush(); } //</editor-fold> $roleUser = $em->createQuery("SELECT r FROM WebVLWebVillasBundle:Roles r WHERE r.name = 'User'")->getSingleResult(); if (true == false) { //<editor-fold defaultstate="collapsed" desc="Users"> for ($i = 0; $i < 40; $i++) { $user = new \WebVL\WebVillasBundle\Entity\Users(); $factory = $this->get('security.encoder_factory'); $user->setUsername("User{$i}"); $user->setActivated(true); $user->setEmail("User{$i}@plus.gr"); $ActiveCode = rand(1000000000, 9999999999.0); // var_dump( $ActiveCode); $user->setActivationCode($ActiveCode); $encoder = $factory->getEncoder($user); $password = $encoder->encodePassword('0123456789AA', $user->getSalt()); $user->setPassword($password); $user->setJoined(new \DateTime()); $user->addRole($roleUser); $em->persist($user); } $em->flush(); //</editor-fold> } //<editor-fold defaultstate="collapsed" desc="Villas"> $rr = $this->getDoctrine()->getManager(); $roleOwner = $rr->createQuery("SELECT r FROM WebVLWebVillasBundle:Roles r WHERE r.name = 'Villas Owner'")->getSingleResult(); for ($i = 0; $i < 40; $i++) { $User = $rr->createQuery("SELECT u FROM WebVLWebVillasBundle:Users u WHERE u.username = '******'")->getSingleResult(); $User->removeRole($roleUser); $User->addRole($roleOwner); $villas = new \WebVL\WebVillasBundle\Entity\Villas(); $villas->setAddress("{$i} Paradise"); $villas->setDetails("Somethings {$i}"); $villas->setView("Views WhatEver {$i}"); $villas->setGeox(37.94130964422101 - $i); $villas->setGeoy(23.90991121530533 - $i); $villas->setPrice(20000 + $i * 2000); $villas->setRestrooms(rand(1, 10)); $villas->setRooms(rand(1, 15)); $villas->setSize(rand(1, 20)); $villas->setUsers($User); $state = new \WebVL\WebVillasBundle\Entity\States(); $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT r FROM WebVLWebVillasBundle:States r WHERE r.id = :id")->setParameter(':id', (int) rand(1, 15)); $state = $query->getSingleResult(); $villas->setStates($state); $em = $this->getDoctrine()->getManager(); $em->persist($villas); $em->flush(); $st = $this->getDoctrine()->getManager(); $query = $st->createQuery("SELECT count(r) FROM WebVLWebVillasBundle:AvailEquipment r "); $id = $query->getSingleResult(); $Avail = new \WebVL\WebVillasBundle\Entity\AvailEquipment($villas, $id[1] + 1); $Avail->setParking(rand(0, 5)); if ($i == 2 || $i == 5 || $i == 10 || $i == 18) { $Avail->setGym(true); } else { $Avail->setGym(false); } if ($i == 2 || $i == 4 || $i == 10 || $i == 14) { $Avail->setPool(true); } else { $Avail->setPool(false); } if ($i == 2 || $i == 3 || $i == 14 || $i == 18) { $Avail->setSauna(true); } else { $Avail->setSauna(false); } $em->persist($Avail); $em->flush(); } //</editor-fold> return new \Symfony\Component\HttpFoundation\Response('Test Vars Created!'); } catch (\PDOException $e) { return $this->render('WebVLWebVillasBundle:Default:Errors.html.twig', array('Errors' => array("Name" => "Database Error", "Message" => "We have some problem with our database!"))); } }