check in controller if form was submited in this session

This commit is contained in:
Bachir Soussi Chiadmi 2021-09-07 00:52:59 +02:00
parent 4ea79bca79
commit e6f0cbb190
1 changed files with 23 additions and 17 deletions

View File

@ -20,26 +20,32 @@ class QRController extends ControllerBase {
public function getfile($ref) { public function getfile($ref) {
//? https://drupal.stackexchange.com/questions/255216/how-to-do-a-redirectresponse-with-a-destination-query-parameter //? https://drupal.stackexchange.com/questions/255216/how-to-do-a-redirectresponse-with-a-destination-query-parameter
//* get node from ref //* check if email cookie is present (form submitted)
$entity_storage = \Drupal::entityTypeManager()->getStorage('node'); $session = \Drupal::request()->getSession();
$query = $entity_storage->getQuery() $alreadysetemail = $session->get('materio_expo_email');
->condition('type', 'materiau') if($alreadysetemail){
->condition('status', '1') //* get node from ref
->condition('field_reference', $ref); $entity_storage = \Drupal::entityTypeManager()->getStorage('node');
$results = $query->execute(); $query = $entity_storage->getQuery()
$nid = array_pop($results); ->condition('type', 'materiau')
$node = $entity_storage->load($nid); ->condition('status', '1')
->condition('field_reference', $ref);
$results = $query->execute();
$nid = array_pop($results);
$node = $entity_storage->load($nid);
//* get file from node //* get file from node
$file = $node->get('field_fiche_expo')->referencedEntities()[0]; $file = $node->get('field_fiche_expo')->referencedEntities()[0];
//* redirect to file //* redirect to file
return new RedirectResponse($file->createFileUrl()); return new RedirectResponse($file->createFileUrl());
// return [ } else {
// '#type' => 'markup', return [
// '#markup' => $this->t("Implement method: getfile with parameter(s): $ref"), '#type' => 'markup',
// ]; '#markup' => $this->t("Error, email not provided"),
];
}
} }
} }