Projekt

Obecné

Profil

Stáhnout (2.21 KB) Statistiky
| Větev: | Revize:
1
<?php
2

    
3
namespace App\Form;
4

    
5
use App\Utils\Utils;
6
use App\Entity\DataSet;
7
use Symfony\Component\Form\Forms;
8
use App\Repository\IOpenDataManager;
9
use Symfony\Component\Form\Extension\Core\Type\FormType;
10
use Symfony\Component\Form\Extension\Core\Type\TextType;
11
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
12
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
13

    
14
class DatasetFormBuilder {
15
    /**
16
     * @var IOpenDataManager autowired connection to database
17
     */
18
    private $manager;
19

    
20
    /**
21
     * @param IOpenDataManager autowired connection to database
22
     */
23
    public function __construct(IOpenDataManager $manager) {
24
        $this->manager = $manager;
25
    }
26

    
27
    public function getBuilder() {
28
        $dataSet = new DataSet();
29

    
30
        return Forms::createFormFactoryBuilder()->getFormFactory()->createNamedBuilder('', FormType::class, $dataSet)
31
            ->add('date', TextType::class)
32
            ->add('time', ChoiceType::class, [
33
                'choices' => [
34
                    '0:00-1:00' => 0,
35
                    '1:00-2:00' => 1,
36
                    '2:00-3:00' => 2,
37
                    '3:00-4:00' => 3,
38
                    '4:00-5:00' => 4,
39
                    '5:00-6:00' => 5,
40
                    '6:00-7:00' => 6,
41
                    '7:00-8:00' => 7,
42
                    '8:00-9:00' => 8,
43
                    '9:00-10:00' => 9,
44
                    '10:00-11:00' => 10,
45
                    '11:00-12:00' => 11,
46
                    '12:00-13:00' => 12,
47
                    '13:00-14:00' => 13,
48
                    '14:00-15:00' => 14,
49
                    '15:00-16:00' => 15,
50
                    '16:00-17:00' => 16,
51
                    '17:00-18:00' => 17,
52
                    '18:00-19:00' => 18,
53
                    '19:00-20:00' => 19,
54
                    '20:00-21:00' => 20,
55
                    '21:00-22:00' => 21,
56
                    '22:00-23:00' => 22,
57
                    '23:00-0:00' => 23,
58
                ],
59
            ])->add('type', ChoiceType::class, [
60
                'choices' => Utils::prepareDatasetsNames($this->manager->getAvailableCollections()),
61
                'multiple' => true,
62
                'expanded' => true,
63
            ])
64
            ->add('submit', SubmitType::class);
65
    }
66
}
(2-2/2)