SubscriptionType   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 3
Bugs 0 Features 2
Metric Value
wmc 3
c 3
b 0
f 2
lcom 0
cbo 4
dl 0
loc 52
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
B buildForm() 0 40 2
A getName() 0 4 1
1
<?php
2
3
namespace Tahoe\Bundle\MultiTenancyBundle\Form\Type;
4
5
6
use Symfony\Component\Form\AbstractType;
7
use Symfony\Component\Form\FormBuilderInterface;
8
use Symfony\Component\Form\FormEvent;
9
use Symfony\Component\Form\FormEvents;
10
11
class SubscriptionType extends AbstractType
12
{
13
14
    /**
15
     * {@inheritdoc}
16
     */
17
    public function buildForm(FormBuilderInterface $builder, array $options)
18
    {
19
        $builder
20
            ->add('first_name', 'text')
21
            ->add('last_name', 'text')
22
        ;
23
        $builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event) {
24
            $data = $event->getData();
25
            $form = $event->getForm();
26
27
            $credit_card = null;
28
            $expiration_date = null;
29
            if (null !== $data) {
30
                $credit_card = sprintf("%s******%s", $data->first_six, $data->last_four);
31
                $expiration_date = sprintf("%s / %s", $data->month, $data->year);
32
            }
33
            $form
34
                ->add('credit_card_number', 'text', array(
35
                'data' => $credit_card
36
                ))
37
                ->add('expiration', 'text', array(
38
                    "data" => $expiration_date,
39
                    'attr' => array(
40
                        "placeholder" => "mm / yyyy"
41
                    )
42
                ))
43
                ->add('verification_value', 'text', array(
44
                    'label' => 'CVC'
45
                ))
46
            ;
47
        });
48
//            ->add('credit_card_number', 'text')
49
//            ->add('expiration', 'text', array(
50
//                'attr' => array(
51
//                    "placeholder" => "mm / yyyy"
52
//                )
53
//            ))
54
        ;
55
56
    }
57
58
    public function getName()
59
    {
60
        return 'tahoe_multitenancy_subscription';
61
    }
62
}