Merge branch '3.4' into 4.4
* 3.4: [FrameworkBundle] fix "samesite" in XSD Update UserPasswordEncoderCommand.php [HttpFoundation][FrameworkBundle] fix support for samesite in session cookies [DoctrineBridge] Fixed submitting ids with query limit or offset
This commit is contained in:
commit
df41ca5b71
@ -57,7 +57,7 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface
|
|||||||
$metadata = $this->queryBuilder->getEntityManager()->getClassMetadata(current($this->queryBuilder->getRootEntities()));
|
$metadata = $this->queryBuilder->getEntityManager()->getClassMetadata(current($this->queryBuilder->getRootEntities()));
|
||||||
|
|
||||||
foreach ($this->getEntities() as $entity) {
|
foreach ($this->getEntities() as $entity) {
|
||||||
if (\in_array(current($metadata->getIdentifierValues($entity)), $values, true)) {
|
if (\in_array((string) current($metadata->getIdentifierValues($entity)), $values, true)) {
|
||||||
$choices[] = $entity;
|
$choices[] = $entity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -953,7 +953,32 @@ class EntityTypeTest extends BaseTypeTest
|
|||||||
$this->assertNull($field->getData());
|
$this->assertNull($field->getData());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDisallowChoicesThatAreNotIncludedQueryBuilderSingleIdentifierWithLimit()
|
public function testSingleIdentifierWithLimit()
|
||||||
|
{
|
||||||
|
$entity1 = new SingleIntIdEntity(1, 'Foo');
|
||||||
|
$entity2 = new SingleIntIdEntity(2, 'Bar');
|
||||||
|
$entity3 = new SingleIntIdEntity(3, 'Baz');
|
||||||
|
|
||||||
|
$this->persist([$entity1, $entity2, $entity3]);
|
||||||
|
|
||||||
|
$repository = $this->em->getRepository(self::SINGLE_IDENT_CLASS);
|
||||||
|
|
||||||
|
$field = $this->factory->createNamed('name', static::TESTED_TYPE, null, [
|
||||||
|
'em' => 'default',
|
||||||
|
'class' => self::SINGLE_IDENT_CLASS,
|
||||||
|
'query_builder' => $repository->createQueryBuilder('e')
|
||||||
|
->where('e.id IN (1, 2, 3)')
|
||||||
|
->setMaxResults(1),
|
||||||
|
'choice_label' => 'name',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$field->submit('1');
|
||||||
|
|
||||||
|
$this->assertTrue($field->isSynchronized());
|
||||||
|
$this->assertSame($entity1, $field->getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDisallowChoicesThatAreNotIncludedByQueryBuilderSingleIdentifierWithLimit()
|
||||||
{
|
{
|
||||||
$entity1 = new SingleIntIdEntity(1, 'Foo');
|
$entity1 = new SingleIntIdEntity(1, 'Foo');
|
||||||
$entity2 = new SingleIntIdEntity(2, 'Bar');
|
$entity2 = new SingleIntIdEntity(2, 'Bar');
|
||||||
|
@ -375,6 +375,7 @@
|
|||||||
<xsd:simpleType name="cookie_samesite">
|
<xsd:simpleType name="cookie_samesite">
|
||||||
<xsd:restriction base="xsd:string">
|
<xsd:restriction base="xsd:string">
|
||||||
<xsd:enumeration value="" />
|
<xsd:enumeration value="" />
|
||||||
|
<xsd:enumeration value="none" />
|
||||||
<xsd:enumeration value="lax" />
|
<xsd:enumeration value="lax" />
|
||||||
<xsd:enumeration value="strict" />
|
<xsd:enumeration value="strict" />
|
||||||
</xsd:restriction>
|
</xsd:restriction>
|
||||||
|
@ -82,16 +82,16 @@ generated to encode the password:
|
|||||||
Pass the full user class path as the second argument to encode passwords for
|
Pass the full user class path as the second argument to encode passwords for
|
||||||
your own entities:
|
your own entities:
|
||||||
|
|
||||||
<info>php %command.full_name% --no-interaction [password] App\Entity\User</info>
|
<info>php %command.full_name% --no-interaction [password] 'App\Entity\User'</info>
|
||||||
|
|
||||||
Executing the command interactively allows you to generate a random salt for
|
Executing the command interactively allows you to generate a random salt for
|
||||||
encoding the password:
|
encoding the password:
|
||||||
|
|
||||||
<info>php %command.full_name% [password] App\Entity\User</info>
|
<info>php %command.full_name% [password] 'App\Entity\User'</info>
|
||||||
|
|
||||||
In case your encoder doesn't require a salt, add the <comment>empty-salt</comment> option:
|
In case your encoder doesn't require a salt, add the <comment>empty-salt</comment> option:
|
||||||
|
|
||||||
<info>php %command.full_name% --empty-salt [password] App\Entity\User</info>
|
<info>php %command.full_name% --empty-salt [password] 'App\Entity\User'</info>
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user