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/
/tags
*.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
============
------------
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 :
@ -18,7 +21,7 @@ $ bin/console doctrine:schema:update --force
```
Mise à jour
===========
-----------
```bash
$ git pull origin master
@ -29,10 +32,20 @@ $ bin/console doctrine:schema:update --force
```
Exécution
=========
---------
Serveur de développement :
```
$ 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 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é !