removed active flag in user preferences form for own profile (#696)
This commit is contained in:
committed by
Kevin Papst
parent
0d6b8486c4
commit
136df3724f
@@ -320,7 +320,8 @@ class ProfileController extends AbstractController
|
|||||||
$user,
|
$user,
|
||||||
[
|
[
|
||||||
'action' => $this->generateUrl('user_profile_edit', ['username' => $user->getUsername()]),
|
'action' => $this->generateUrl('user_profile_edit', ['username' => $user->getUsername()]),
|
||||||
'method' => 'POST'
|
'method' => 'POST',
|
||||||
|
'include_active_flag' => ($user->getId() !== $this->getUser()->getId())
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,7 +189,8 @@ class UserController extends AbstractController
|
|||||||
{
|
{
|
||||||
return $this->createForm(UserCreateType::class, $user, [
|
return $this->createForm(UserCreateType::class, $user, [
|
||||||
'action' => $this->generateUrl('admin_user_create'),
|
'action' => $this->generateUrl('admin_user_create'),
|
||||||
'method' => 'POST'
|
'method' => 'POST',
|
||||||
|
'include_active_flag' => true
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,14 @@ use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the form used to edit the profile of a User.
|
* Defines the form used to edit the profile of a User.
|
||||||
*/
|
*/
|
||||||
class UserEditType extends AbstractType
|
class UserEditType extends AbstractType
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
@@ -43,10 +45,15 @@ class UserEditType extends AbstractType
|
|||||||
->add('email', EmailType::class, [
|
->add('email', EmailType::class, [
|
||||||
'label' => 'label.email',
|
'label' => 'label.email',
|
||||||
])
|
])
|
||||||
->add('enabled', YesNoType::class, [
|
|
||||||
'label' => 'label.active',
|
|
||||||
])
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
if ($options['include_active_flag']) {
|
||||||
|
$builder
|
||||||
|
->add('enabled', YesNoType::class, [
|
||||||
|
'label' => 'label.active',
|
||||||
|
])
|
||||||
|
;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,6 +66,7 @@ class UserEditType extends AbstractType
|
|||||||
'csrf_protection' => true,
|
'csrf_protection' => true,
|
||||||
'csrf_field_name' => '_token',
|
'csrf_field_name' => '_token',
|
||||||
'csrf_token_id' => 'edit_user_profile',
|
'csrf_token_id' => 'edit_user_profile',
|
||||||
|
'include_active_flag' => false,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,38 @@ class ProfileControllerTest extends ControllerBaseTest
|
|||||||
$this->assertEquals('john_user@example.com', $user->getEmail());
|
$this->assertEquals('john_user@example.com', $user->getEmail());
|
||||||
$this->assertTrue($user->isEnabled());
|
$this->assertTrue($user->isEnabled());
|
||||||
|
|
||||||
|
$form = $client->getCrawler()->filter('form[name=user_edit]')->form();
|
||||||
|
$client->submit($form, [
|
||||||
|
'user_edit' => [
|
||||||
|
'alias' => 'Johnny',
|
||||||
|
'title' => 'Code Monkey',
|
||||||
|
'avatar' => '/fake/image.jpg',
|
||||||
|
'email' => 'updated@example.com',
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->assertIsRedirect($client, $this->createUrl('/profile/' . urlencode(UserFixtures::USERNAME_USER) . '/edit'));
|
||||||
|
$client->followRedirect();
|
||||||
|
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||||
|
|
||||||
|
$this->assertHasFlashSuccess($client);
|
||||||
|
|
||||||
|
$em = $client->getContainer()->get('doctrine.orm.entity_manager');
|
||||||
|
$user = $this->getUserByRole($em, User::ROLE_USER);
|
||||||
|
|
||||||
|
$this->assertEquals(UserFixtures::USERNAME_USER, $user->getUsername());
|
||||||
|
$this->assertEquals('Johnny', $user->getAlias());
|
||||||
|
$this->assertEquals('Code Monkey', $user->getTitle());
|
||||||
|
$this->assertEquals('/fake/image.jpg', $user->getAvatar());
|
||||||
|
$this->assertEquals('updated@example.com', $user->getEmail());
|
||||||
|
$this->assertTrue($user->isEnabled());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testEditActionWithActiveFlag()
|
||||||
|
{
|
||||||
|
$client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN);
|
||||||
|
$this->request($client, '/profile/' . UserFixtures::USERNAME_USER . '/edit');
|
||||||
|
|
||||||
$form = $client->getCrawler()->filter('form[name=user_edit]')->form();
|
$form = $client->getCrawler()->filter('form[name=user_edit]')->form();
|
||||||
$client->submit($form, [
|
$client->submit($form, [
|
||||||
'user_edit' => [
|
'user_edit' => [
|
||||||
|
|||||||
Reference in New Issue
Block a user