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/UserEditType.php
<?php

namespace App\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Entity\User;

//use App\Form\EventListener\AddAcademicUnitUserFieldSubscriber;

class UserEditType 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' => false,
                    'first_options' => array('label' => 'Slaptažodis'),
                    'second_options' => array('label' => 'Pakartokite Slaptažodį'),
        ]);
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => User::class
        ));
    }
}