DiscountType::getName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * @author Rafał Muszyński <[email protected]>
5
 * @copyright 2015 Sourcefabric z.ú.
6
 * @license http://www.gnu.org/licenses/gpl-3.0.txt
7
 */
8
9
namespace Newscoop\PaywallBundle\Form\Type;
10
11
use Symfony\Component\Form\AbstractType;
12
use Symfony\Component\Form\FormBuilderInterface;
13
use Symfony\Component\Validator\Constraints as Assert;
14
15
/**
16
 * Discount form type.
17
 */
18
class DiscountType extends AbstractType
19
{
20
    /**
21
     * {@inheritdoc}
22
     */
23
    public function buildForm(FormBuilderInterface $builder, array $options)
24
    {
25
        $builder
26
            ->add('name', 'text', array(
27
                'label' => 'paywall.manage.label.name',
28
                'constraints' => array(
29
                    new Assert\NotBlank(),
30
                    new Assert\Length(array(
31
                        'max' => 255,
32
                        'min' => 1,
33
                    )),
34
                ),
35
            ))
36
            ->add('description', 'text', array(
37
                'label' => 'paywall.manage.label.description',
38
                'constraints' => array(
39
                    new Assert\NotBlank(),
40
                    new Assert\Length(array(
41
                        'max' => 255,
42
                        'min' => 1,
43
                    )),
44
                ),
45
            ))
46
            ->add('type', 'choice', array(
47
                'label' => 'paywall.label.discounttype',
48
                'choices' => array(
49
                    'percentage_discount' => 'Percentage discount',
50
                ),
51
            ))
52
            ->add('countBased', 'checkbox', array(
53
                'label' => 'paywall.label.countbased',
54
                'required' => false,
55
            ))
56
            ->add('value', 'percent', array(
57
                'label' => 'Value',
58
                'constraints' => array(
59
                    new Assert\NotBlank(),
60
                    new Assert\Type(array('type' => 'numeric')),
61
                ),
62
            ));
63
    }
64
65
    /**
66
     * {@inheritdoc}
67
     */
68
    public function getName()
69
    {
70
        return 'paywall_discount';
71
    }
72
}
73