fix validation person resource

This commit is contained in:
Julie Lenaerts 2022-03-25 11:07:12 +01:00
parent cba6394823
commit 259cdd34c4
4 changed files with 5 additions and 21 deletions

View File

@ -145,30 +145,16 @@ final class PersonResourceController extends AbstractController
public function newAction(Request $request, $person_id)
{
$personOwner = $this->personRepository->find($person_id);
$personResource = new PersonResource();
$personResource->setPersonOwner($personOwner);
$form = $this->createForm(PersonResourceType::class);
$form = $this->createForm(PersonResourceType::class, $personResource);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->denyAccessUnlessGranted(PersonVoter::CREATE, $personOwner);
$personResource = new PersonResource();
$person = $form['person']->getData();
$thirdparty = $form['thirdparty']->getData();
$freetext = $form['freetext']->getData();
$comment = $form['comment']->getData();
$kind = $form['kind']->getData();
$personResource->setKind($kind);
$personResource->setPerson($person);
$personResource->setThirdParty($thirdparty);
$personResource->setFreeText($freetext);
$personResource->setComment($comment);
$personResource->setPersonOwner($personOwner);
$this->em->persist($personResource);
$this->em->flush();

View File

@ -232,6 +232,7 @@ class PersonResource implements TrackCreationInterface, TrackUpdateInterface
}
if (null !== $this->person && $this->person === $this->personOwner) {
$context->buildViolation('You cannot associate a resource with the same person')
->addViolation();
}

View File

@ -29,12 +29,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
final class PersonResourceType extends AbstractType
{
private PersonRenderInterface $personRender;
private ResourceKindRender $resourceKindRender;
private ThirdPartyRender $thirdPartyRender;
private TranslatorInterface $translator;
public function __construct(ResourceKindRender $resourceKindRender, PersonRenderInterface $personRender, ThirdPartyRender $thirdPartyRender, TranslatorInterface $translator)

View File

@ -57,3 +57,4 @@ Only the referrer can change the confidentiality of a parcours: 'Seul le référ
# resource
You must associate at least one entity: Associez un usager, un tiers ou indiquez une description libre
You cannot associate a resource with the same person: Vous ne pouvez pas ajouter la personne elle-même en tant que ressource.