Merge branch 'dev-master' of gitlab.deblan.org:deblan/defis48 into dev-master
This commit is contained in:
commit
de2e0ea4b8
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -14,4 +14,3 @@
|
|||
/web/bundles/
|
||||
/tags
|
||||
*.swp
|
||||
.mage
|
||||
|
|
0
.mage/config/environment/.gitignore
vendored
Normal file
0
.mage/config/environment/.gitignore
vendored
Normal file
19
.mage/config/environment/production.yml
Normal file
19
.mage/config/environment/production.yml
Normal 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
7
.mage/config/general.yml
Normal 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
2
.mage/logs/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*
|
||||
!.gitignore
|
0
.mage/tasks/.gitignore
vendored
Normal file
0
.mage/tasks/.gitignore
vendored
Normal file
19
README.md
19
README.md
|
@ -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
|
||||
```
|
||||
|
||||
|
|
|
@ -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,8 +115,18 @@ 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 [
|
||||
|
@ -119,6 +135,15 @@ class DefaultController extends Controller
|
|||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/enigma/ok", name="enigma_ok")
|
||||
* @Template()
|
||||
*/
|
||||
public function okAction()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/enigma/oklm", name="enigma_too_late")
|
||||
* @Template()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Enregistré !
|
Loading…
Reference in a new issue