ScheduleType::getBlockPrefix()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Setono\SyliusSchedulerPlugin\Form\Type;
6
7
use Sylius\Bundle\ResourceBundle\Form\EventSubscriber\AddCodeFormSubscriber;
8
use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType;
9
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
10
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
11
use Symfony\Component\Form\Extension\Core\Type\TextType;
12
use Symfony\Component\Form\FormBuilderInterface;
13
14
final class ScheduleType extends AbstractResourceType
15
{
16
    /**
17
     * {@inheritdoc}
18
     */
19
    public function buildForm(FormBuilderInterface $builder, array $options): void
20
    {
21
        $builder
22
            ->addEventSubscriber(new AddCodeFormSubscriber())
23
            ->add('name', TextType::class, [
24
                'label' => 'setono_sylius_scheduler.form.schedule.name',
25
                'required' => false,
26
            ])
27
            ->add('command', TextType::class, [
28
                'label' => 'setono_sylius_scheduler.form.schedule.command',
29
            ])
30
            ->add('args', CollectionType::class, [
31
                'label' => 'setono_sylius_scheduler.form.schedule.args.label',
32
                'entry_type' => TextType::class,
33
                'allow_add' => true,
34
                'allow_delete' => true,
35
                'by_reference' => false,
36
                'button_add_label' => 'setono_sylius_scheduler.form.schedule.args.add_arg',
37
                'button_delete_label' => 'setono_sylius_scheduler.form.schedule.args.delete_arg',
38
                'required' => false,
39
            ])
40
            ->add('queue', TextType::class, [
41
                'label' => 'setono_sylius_scheduler.form.schedule.queue',
42
            ])
43
            ->add('priority', IntegerType::class, [
44
                'label' => 'setono_sylius_scheduler.form.schedule.priority',
45
            ])
46
            ->add('cronExpression', TextType::class, [
47
                'label' => 'setono_sylius_scheduler.form.schedule.cron_expression',
48
            ])
49
        ;
50
    }
51
52
    /**
53
     * {@inheritdoc}
54
     */
55
    public function getBlockPrefix(): string
56
    {
57
        return 'setono_sylius_scheduler_schedule';
58
    }
59
}
60