cycle complet de jeu

This commit is contained in:
Simon Vieille 2016-01-13 22:55:59 +01:00
parent 0c79a9deb9
commit 88ccba0cf9
2 changed files with 36 additions and 10 deletions

View File

@ -12,6 +12,8 @@ use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use DateTime;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Validator\Constraints\NotBlank;
use Mmi\Bundle\EnigmaBundle\Entity\Timer;
use Mmi\Bundle\EnigmaBundle\Entity\Awnser;
class DefaultController extends Controller
{
@ -64,14 +66,15 @@ class DefaultController extends Controller
}
$timer = $this
->getDoctrine()
->getRepository('MmiEnigmaBundle:Timer')
->findOneBy([
'team_id' => $this->getUser()->getId(),
'enigma_id' => $enigma->getId(),
'team' => $this->getUser(),
'enigma' => $enigma,
]);
if ($timer !== null) {
if (time() - $timer->getDate()->getTimestamp() < 60 * 30) {
if (time() - $timer->getDate()->getTimestamp() >= 60 * 30) {
return $this->redirectToRoute('enigma_too_late');
}
} else {
@ -79,23 +82,26 @@ class DefaultController extends Controller
$timer
->setTeam($this->getUser())
->setEnigma($enigma)
->setDate(new DateTime('now'))
->save();
->setDate(new DateTime('now'));
$em = $this->getDoctrine()->getManager();
$em->merge($timer);
$em->flush();
}
$answer = $this
->getDoctrine()
->getRepository('MmiEnigmaBundle:Awnser')
->findOneBy([
'team_id' => $this->getUser()->getId(),
'enigma_id' => $enigma->getId(),
'team' => $this->getUser(),
'enigma' => $enigma,
]);
if ($answer !== null) {
return $this->redirectToRoute('enigma_answered');
}
$form = $this->createFormBuilder()
$form = $this->createFormBuilder($answer = new Awnser())
->add('content', TextareaType::class, [
'required' => true,
'constraints' => [
@ -109,16 +115,35 @@ class DefaultController extends Controller
$form->handleRequest($request);
if ($form->isValid()) {
$form->getData()->save();
// $answer = $form->getData();
$answer
->setTeam($this->getUser())
->setDate(new DateTime('now'))
->setEnigma($enigma);
$em = $this->getDoctrine()->getManager();
$em->merge($answer);
$em->flush();
}
return $this->redirectToRoute('enigma_ok');
}
return [
'form' => $form->createView(),
'enigma' => $enigma,
];
}
/**
* @Route("/enigma/ok", name="enigma_ok")
* @Template()
*/
public function okAction()
{
return [];
}
/**
* @Route("/enigma/oklm", name="enigma_too_late")
* @Template()

View File

@ -0,0 +1 @@
Enregistré !