Skip to content

Commit

Permalink
Pass user class to profile & registration form
Browse files Browse the repository at this point in the history
  • Loading branch information
core23 committed Dec 29, 2021
1 parent fe522a0 commit a82091d
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
15 changes: 14 additions & 1 deletion src/Form/Type/ProfileFormType.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,19 @@

final class ProfileFormType extends AbstractType
{
/**
* @phpstan-var class-string<UserInterface>
*/
private string $class;

/**
* @phpstan-param class-string<UserInterface> $class The User class name
*/
public function __construct(string $class)
{
$this->class = $class;
}

/**
* @param array<mixed> $options
*/
Expand All @@ -40,7 +53,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => UserInterface::class,
'data_class' => $this->class,
'csrf_token_id' => 'profile',
'translation_domain' => 'NucleosProfileBundle',
]);
Expand Down
15 changes: 14 additions & 1 deletion src/Form/Type/RegistrationFormType.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@

final class RegistrationFormType extends AbstractType
{
/**
* @phpstan-var class-string<UserInterface>
*/
private string $class;

/**
* @phpstan-param class-string<UserInterface> $class The User class name
*/
public function __construct(string $class)
{
$this->class = $class;
}

/**
* @param array<mixed> $options
*
Expand Down Expand Up @@ -93,7 +106,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => UserInterface::class,
'data_class' => $this->class,
'csrf_token_id' => 'registration',
'translation_domain' => 'NucleosProfileBundle',
'validation_groups' => [],
Expand Down
4 changes: 4 additions & 0 deletions src/Resources/config/profile.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@
use Nucleos\ProfileBundle\Action\EditProfileAction;
use Nucleos\ProfileBundle\Action\ShowProfileAction;
use Nucleos\ProfileBundle\Form\Type\ProfileFormType;
use Symfony\Component\DependencyInjection\Parameter;
use Symfony\Component\DependencyInjection\Reference;

return static function (ContainerConfigurator $container): void {
$container->services()

->set(ProfileFormType::class)
->tag('form.type')
->args([
new Parameter('nucleos_user.model.user.class'),
])

->set(EditProfileAction::class)
->public()
Expand Down
4 changes: 4 additions & 0 deletions src/Resources/config/registration.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,17 @@
use Nucleos\ProfileBundle\Action\RegistrationAction;
use Nucleos\ProfileBundle\Action\RegistrationConfirmedAction;
use Nucleos\ProfileBundle\Form\Type\RegistrationFormType;
use Symfony\Component\DependencyInjection\Parameter;
use Symfony\Component\DependencyInjection\Reference;

return static function (ContainerConfigurator $container): void {
$container->services()

->set(RegistrationFormType::class)
->tag('form.type')
->args([
new Parameter('nucleos_user.model.user.class'),
])

->set(RegistrationAction::class)
->public()
Expand Down

0 comments on commit a82091d

Please sign in to comment.