Merge branch 'dev-master' of gitlab.deblan.org:deblan/defis48 into dev-master

This commit is contained in:
Dorian Lods 2016-01-13 23:10:57 +01:00
commit de2e0ea4b8
9 changed files with 80 additions and 14 deletions

1
.gitignore vendored
View file

@ -14,4 +14,3 @@
/web/bundles/ /web/bundles/
/tags /tags
*.swp *.swp
.mage

0
.mage/config/environment/.gitignore vendored Normal file
View file

View file

@ -0,0 +1,19 @@
deployment:
user: webdefis48
from: ./
to: /services/web/www/defis48.deblan.org/website/
excludes:
- .git
- var
- app/config/parameters.yml
releases:
enabled: false
hosts:
- deblan.org
tasks:
pre-deploy: []
on-deploy: []
verbose_logging: true

7
.mage/config/general.yml Normal file
View file

@ -0,0 +1,7 @@
# global settings
name:
email:
notifications: false
logging: true
maxlogs: 30
ssh_needs_tty: false

2
.mage/logs/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*
!.gitignore

0
.mage/tasks/.gitignore vendored Normal file
View file

View file

@ -1,5 +1,8 @@
Défis 48h
=========
Installation Installation
============ ------------
L'installation est standard à celle d'une application symfony classique. L'installation est standard à celle d'une application symfony classique.
Elle implique cependant la génération de la base de données qui se réalise en 2 étapes : Elle implique cependant la génération de la base de données qui se réalise en 2 étapes :
@ -18,7 +21,7 @@ $ bin/console doctrine:schema:update --force
``` ```
Mise à jour Mise à jour
=========== -----------
```bash ```bash
$ git pull origin master $ git pull origin master
@ -29,10 +32,20 @@ $ bin/console doctrine:schema:update --force
``` ```
Exécution Exécution
========= ---------
Serveur de développement : Serveur de développement :
``` ```
$ bin/console server:run & $ bin/console server:run &
``` ```
Déploiement
-----------
Utilisation de mate (`/.mate`)
```
$ vendor/bin/mage deploy to:production
```

View file

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

View file

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