Revize 70a3df53
Přidáno uživatelem Jakub Vašta před téměř 5 roky(ů)
website/src/Controller/HeatmapController.php | ||
---|---|---|
11 | 11 |
|
12 | 12 |
class HeatmapController extends AbstractController { |
13 | 13 |
/** |
14 |
* Map page controller. |
|
15 |
* |
|
16 |
* @param IOpenDataManager $manager connection to database autowired |
|
17 |
* |
|
14 | 18 |
* @Route("/heatmap", name="heatmap") |
15 | 19 |
*/ |
16 | 20 |
public function index(Request $request, IOpenDataManager $manager) { |
... | ... | |
22 | 26 |
$isSubmitted = $form->isSubmitted(); |
23 | 27 |
if ($isSubmitted) { |
24 | 28 |
$dataSet = $form->getData(); |
29 |
// Chceck whether the data is valid i.e. such a collection exists |
|
25 | 30 |
if (false == $manager->isCollectionAvailable($dataSet->getType(), $dataSet->getDate())) { |
31 |
// Not? Populate form with empty data |
|
26 | 32 |
$dataSet = new DataSet(); |
27 | 33 |
} |
28 | 34 |
$form = $this->createForm(DataSetType::class, $dataSet); |
... | ... | |
39 | 45 |
} |
40 | 46 |
|
41 | 47 |
/** |
48 |
* Provides specific dataset information i.e. position, number and other informations depending on data type. |
|
49 |
* |
|
50 |
* @param IOpenDataManager $manager connection to database autowired |
|
51 |
* @param string $name dataset name |
|
52 |
* @param string $date dataset date in format YYYY-mm-dd |
|
53 |
* @param string $time dataset time, number between 0 - 23 |
|
54 |
* |
|
55 |
* @return json with dataset information |
|
56 |
* |
|
42 | 57 |
* @Route("heatmap/opendata/{name}/{date}/{time}", name="opendata") |
43 | 58 |
*/ |
44 | 59 |
public function opendata(IOpenDataManager $manager, $name = 'NONE', $date = '2020-01-01', $time = '1') { |
... | ... | |
49 | 64 |
} |
50 | 65 |
|
51 | 66 |
/** |
67 |
* Provides available datasets in given date. |
|
68 |
* |
|
69 |
* @param IOpenDataManager $manager connection to database autowired |
|
70 |
* @param string $date dataset date in format YYYY-mm-dd |
|
71 |
* |
|
72 |
* @return json with available datasets names |
|
73 |
* |
|
52 | 74 |
* @Route("heatmap/available/{date}", name="available") |
53 | 75 |
*/ |
54 | 76 |
public function availableDatasets(IOpenDataManager $manager, $date = '2020-01-01') { |
... | ... | |
56 | 78 |
} |
57 | 79 |
|
58 | 80 |
/** |
81 |
* Provides dates with at least one available dataset. |
|
82 |
* |
|
83 |
* @param IOpenDataManager $manager connection to database |
|
84 |
* |
|
85 |
* @return json with dates with at least one available dataset in format YYYY-mm-dd |
|
86 |
* |
|
59 | 87 |
* @Route("heatmap/dates", name="dates") |
60 | 88 |
*/ |
61 | 89 |
public function datesWithAvailableDatasets(IOpenDataManager $manager) { |
... | ... | |
63 | 91 |
} |
64 | 92 |
|
65 | 93 |
/** |
94 |
* Provides for dataset with given name all locations. |
|
95 |
* |
|
96 |
* @param IOpenDataManager $manager connection to database autowired |
|
97 |
* @param string $name dataset name |
|
98 |
* |
|
99 |
* @return json with all locations for dataset with given name as [x => lat, y => lng] |
|
100 |
* |
|
66 | 101 |
* @Route("heatmap/positions/{name}", name="positions") |
67 | 102 |
*/ |
68 | 103 |
public function dataSourcePoistions(IOpenDataManager $manager, $name = 'NONE') { |
... | ... | |
70 | 105 |
} |
71 | 106 |
|
72 | 107 |
/** |
108 |
* Provides last available date for each available dataset type. |
|
109 |
* |
|
110 |
* @param IOpenDataManager $manager connection to database autowired |
|
111 |
* |
|
112 |
* @return json with last available date for each available dataset type as [collection-type-name => YYYY-mm-dd] |
|
113 |
* |
|
73 | 114 |
* @Route("heatmap/last", name="last") |
74 | 115 |
*/ |
75 | 116 |
public function lastAvailableCollections(IOpenDataManager $manager) { |
Také k dispozici: Unified diff
+ Re #8086
+ php refactoring and comments