| Current Path : /var/www/v3.cesa.co.za/src/UserBundle/Form/Type/ |
| 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';
}
}