Your IP : 216.73.217.79


Current Path : /var/www/v3.cesa.co.za/src/UserBundle/Form/Type/
Upload File :
Current File : /var/www/v3.cesa.co.za/src/UserBundle/Form/Type/UserMyDetailsType.php

<?php

namespace App\UserBundle\Form\Type;

use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\Length;
use App\UserBundle\Entity\UserGroup;
use App\UserBundle\Entity\UserList;
use App\UserBundle\Form\Type\UserRegisterType;

class UserMyDetailsType extends UserRegisterType {

    public function buildForm(FormBuilderInterface $builder, array $options) {

        $this->myDetails = true;
        parent::buildForm($builder, $options);

        $userListManager = $this->getServiceContainer()->get('user_list.manager');
        $userType = null;

        if (isset($options['user_list']) && is_object($options['user_list'])) {
            $userList = $options['user_list'];
        } elseif ($options['is_new']) {
            $userList = new UserList;
            $userList->setUserTypes($userType);
        } else {
            $userList = $userListManager->getLoggedInUser();
        }

        $canEdit = $userListManager->canEdit($userList, $userListManager->getLoggedInUser());

        $builder->add('id', HiddenType::class)
                ->remove('captcha');

//        echo $userList->getFirstNameString();
//        exit;

        if (!$canEdit) {
            $builder->remove('first_name_string')
                    ->add(
                            'first_name_string', TextType::class, array(
                        'constraints' => array(
                            new Length(array('min' => 0, 'max' => 255)),
                        ),
                        'label' => 'Name:',
                        'attr' => array('placeholder' => 'Name'),
                        'data' => $userList->getFirstNameString(),
                        'required' => false,
                        'disabled' => true,
                            )
            );
            $builder->remove('last_name_string')
                    ->add(
                            'last_name_string', TextType::class, array(
                        'constraints' => array(
                            new Length(array('min' => 0, 'max' => 255)),
                        ),
                        'label' => 'Surname:',
                        'attr' => array('placeholder' => 'Surname'),
                        'data' => $userList->getLastNameString(),
                        'required' => false,
                        'disabled' => true,
                            )
            );
            $builder->remove('user_tel_no_mobile')
                    ->remove('mobile_number')
                    ->add('user_tel_no_mobile', UserTelNoType::class, array(
                        'data' => $userList->getUserTelNoMobile(),
                        'is_mobile' => true,
                        'required' => false,
                        'label' => 'Mobile Number: *',
                        'can_edit' => $canEdit,
                        'disabled' => true,
            ));
            $builder->remove('e_mail_address_string')
                    ->add(
                            'e_mail_address_string', EmailType::class, array(
                        'constraints' => array(
                            new Length(array('min' => 0, 'max' => 255)),
                            new Email(),
                        ),
                        'label' => 'E-Mail: *',
                        'attr' => array('placeholder' => 'E-Mail'),
                        'data' => $userList->getUserEMailAddressString(),
                        'required' => true,
                        'disabled' => true,
                            )
            );
        }

        if (isset($options['user_list_edit']) && $options['user_list_edit']) {

            if (isset($options['owner']) && is_object($options['owner'])) {
                $groupsUser = $options['owner'];
            } else {
                $groupsUser = $userList;
            }

            $builder
                    ->add(
                            'is_active', CheckboxType::class, array(
                        'label' => 'Active:',
                        'data' => $userList->getIsActive(),
                        'required' => false,
                            )
                    )
            ;
        }
        $builder->remove('accept_conditions');
    }

    public function getName() {
        return 'user_my_details';
    }
}