HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
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
        ));
    }
}