File: /var/www/dvpis2025/dvpis.kaunokolegija.lt/src/Form/UserType.php
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Entity\User;
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('username', null, ['label' => 'naudotojo Vardas'])
->add('email', null, ['label' => 'El. Paštas'])
// ->add('position', null, ['label' => 'Pareigybė'])
->add('isActive', null, ['label' => 'Aktyvus naudotojas'])
->add('role', ChoiceType::class, [
'label' => 'Pareigybė/Rolė',
// 'multiple' => false,
// 'expanded' => false,
'choices' => [
'Dėstytojas' => 'ROLE_LECTURER',
'Katedros administratorius' => 'ROLE_DEPARTMENT_ADMINISTRATOR',
'Katedros vedėjas/akademijos/centro/skyriaus vadovas' => 'ROLE_DEPARTMENT_HEAD',
'Akademinių padalinių prodekanai/studijų vedėjai' => 'ROLE_ACADEMIC_UNIT_PROHEAD',
'Akademinių padalinių prodekanai/studijų vedėjai/menui/mokslui' => 'ROLE_ACADEMIC_UNIT_PROHEAD_SCIENCE',
'Akademinių padalinių dekanai' => 'ROLE_ACADEMIC_UNIT_HEAD',
'Studijų skyriaus darbuotojai' => 'ROLE_STUDY_DEPARTMENT',
'Žmogiškųjų išteklių tarnybos darbuotojai' => 'ROLE_PERSONAL_DEPARTMENT',
'Ekonomikos skyriaus vedėjas' => 'ROLE_FINANCE_DEPARTMENT',
'Direktorius, pavaduotojai, strateginio planavimo ir studijų kokybės valdymo tarnybos vedėjas' => 'ROLE_DIRECTOR',
'Sistemos Administratorius' => 'ROLE_SUPER_ADMIN',
]
]);
// $builder->addEventSubscriber(new AddAcademicUnitUserFieldSubscriber());
// $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
// $role = $event->getData();
// $form = $event->getForm();
//
// if ($role == 'ROLE_ACADEMIC_UNIT_PROHEAD' || $role == 'ROLE_ACADEMIC_UNIT_HEAD') {
// $form->add('department', null, [
// 'label' => 'Katedra/akademija/centras/skyrius',
// 'attr' => [
// 'class' => 'select2'
// ],
// ]);
// }
// });
$builder->add('academicUnit', null, ['label' => 'Akademinis padalinys', 'attr' => ['class' => 'select2'],]);
$builder->add('department', null, [
'label' => 'Katedra/akademija/centras/skyrius',
'attr' => [
'class' => 'select2'
],
]);
$builder
->add('password', RepeatedType::class, [
'type' => PasswordType::class,
'invalid_message' => 'Slaptažodžiai turi sutapti.',
'options' => array('attr' => array('class' => 'password-field')),
'mapped' => false,
'required' => true,
'first_options' => array('label' => 'Slaptažodis', 'hash_property_path' => 'password'),
'second_options' => array('label' => 'Pakartokite Slaptažodį'),
]);
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => User::class
));
}
}