Commit c1ab27ca authored by Mat's avatar Mat

hop

parent c586d814
......@@ -21,6 +21,9 @@ class DefaultController extends MasterController
/**
* TEMPORAIRE une page de test
* envoie une infolettre manuellement lorsqu'on déclenche un submit
*
* @param Request $request
* @param Newsletter $newsletter
* @param LettreToken $lettreToken
......@@ -73,12 +76,19 @@ class DefaultController extends MasterController
/**
* La page today affiche le(s) offres disponibles pour un user
* identifié sur base du token passé dans le lien
*
* @param Request $request
* @param LettreToken $lettreToken
* @return \Symfony\Component\HttpFoundation\Response
*/
public function todayAction()
public function todayAction(Request $request, LettreToken $lettreToken)
{
$user = $this->getUser();
$user = $this->getUser();
$token = $request->query->get('token');
if ($user !== null)
{
// récupère l'id de l'utilisateur
......@@ -100,11 +110,20 @@ class DefaultController extends MasterController
}
} else {
} else if ($token !== null) {
$groupes = array();
$dataToken = $lettreToken->decodePotageAccess($token);
dump($dataToken);
} else {
return $this->redirectToRoute('fos_user_security_login');
}
return $this->render('@Potage/Default/today.html.twig', array(
'user' => $user,
'groupes' => $groupes
));
}
......
......@@ -22,7 +22,12 @@
<h1>{{ subject }}</h1>
<h2>Période du {{ body.lettre.start|date('d-m-Y') }} au {{ body.lettre.end|date('d-m-Y') }}</h2>
<h3>Bonjour {{ to.fullName }},</h3>
<h3>
Bonjour {{ to.fullName }}<br>
<a href="{{ absolute_url(path('potage_today', {token: to.token })) }}" target="_blank" rel="noreferrer">
<button>Commander des légumes</button>
</a>
</h3>
<p>{{ body.groupe.nom }}<br>
{{ body.depot.localisation }}</p>
......
......@@ -7,6 +7,18 @@ use PotageBundle\Entity\Lettre;
use PotageBundle\Entity\User;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Class LettreToken
*
* La classe LettreToken a 2 fonctions principales, l'une d'encodage, l'autre de décodage.
* encode: permet de générer un token à partir d'un utilisateur et d'une infolettre,
* decode: permet à partir d'un token, de retrouver quel utilisateur et quelle infolettre.
*
* L'algorithme s'appuie soit sur un champs dans la table user,
* soit sur une recette secrète qui permet de réaliser les 2 opérations.
*
* @package PotageBundle\Services
*/
class LettreToken
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment