Revize 2f227a6c
Přidáno uživatelem Tomáš Ballák před více než 4 roky(ů)
website/src/Controller/HeatmapController.php | ||
---|---|---|
2 | 2 |
|
3 | 3 |
namespace App\Controller; |
4 | 4 |
|
5 |
use App\Utils\Utils; |
|
5 | 6 |
use App\Entity\DataSet; |
6 |
use App\Form\DataSetType;
|
|
7 |
use App\Form\DatasetFormBuilder;
|
|
7 | 8 |
use App\Repository\IOpenDataManager; |
8 | 9 |
use Symfony\Component\HttpFoundation\Request; |
9 | 10 |
use Symfony\Component\Routing\Annotation\Route; |
... | ... | |
19 | 20 |
*/ |
20 | 21 |
public function index(Request $request, IOpenDataManager $manager) { |
21 | 22 |
$dataSet = new DataSet(); |
23 |
$datasetFormBuilder = new DatasetFormBuilder($manager); |
|
24 |
$formBuilder = $datasetFormBuilder->getBuilder(); |
|
22 | 25 |
|
23 |
$form = $this->createForm(DataSetType::class, $dataSet); |
|
24 |
$form->handleRequest($request); |
|
25 |
|
|
26 |
$form = $formBuilder->getForm(); |
|
27 |
$form->submit($request->query->all()); |
|
26 | 28 |
$isSubmitted = $form->isSubmitted(); |
27 | 29 |
if ($isSubmitted) { |
28 | 30 |
$dataSet = $form->getData(); |
29 |
// Chceck whether the data is valid i.e. such a collection exists |
|
30 |
if (false == $manager->isCollectionAvailable($dataSet->getType(), $dataSet->getDate())) { |
|
31 |
//check availability |
|
32 |
$notExist = false; |
|
33 |
if ($dataSet->getType() && count($dataSet->getType()) > 0) { |
|
34 |
foreach ($dataSet->getType() as $value) { |
|
35 |
if (!$manager->isCollectionAvailable($value, $dataSet->getDate())) { |
|
36 |
$notExist = true; |
|
37 |
break; |
|
38 |
} |
|
39 |
} |
|
40 |
} else { |
|
41 |
$notExist = true; |
|
42 |
} |
|
43 |
if ($notExist) { |
|
31 | 44 |
// Not? Populate form with empty data |
32 |
$dataSet = new DataSet(); |
|
45 |
$formBuilder = $datasetFormBuilder->getBuilder(); |
|
46 |
$form = $formBuilder->getForm(); |
|
33 | 47 |
} |
34 |
$form = $this->createForm(DataSetType::class, $dataSet); |
|
35 | 48 |
} |
49 |
//ziskej barvy o datasetech a namapuj je na jejich jmena |
|
36 | 50 |
|
37 | 51 |
return $this->render( |
38 | 52 |
'heatmap.html.twig', |
... | ... | |
40 | 54 |
'form' => $form->createView(), |
41 | 55 |
'submitted' => $isSubmitted, |
42 | 56 |
'data_to_display' => $dataSet, |
57 |
'dataset_colors' => Utils::prepareDatasetsColors($manager->getAvailableCollections()), |
|
43 | 58 |
] |
44 | 59 |
); |
45 | 60 |
} |
Také k dispozici: Unified diff
Feature Re #8156 show all datasets