diff --git a/src/Bundle/ChillThirdPartyBundle/Controller/ThirdpartyDuplicateController.php b/src/Bundle/ChillThirdPartyBundle/Controller/ThirdpartyDuplicateController.php index 0c0671aaf..23238cd22 100644 --- a/src/Bundle/ChillThirdPartyBundle/Controller/ThirdpartyDuplicateController.php +++ b/src/Bundle/ChillThirdPartyBundle/Controller/ThirdpartyDuplicateController.php @@ -12,28 +12,25 @@ declare(strict_types=1); namespace Chill\ThirdPartyBundle\Controller; use Chill\PersonBundle\Form\PersonConfimDuplicateType; +use Chill\ThirdPartyBundle\Entity\ThirdParty; use Chill\ThirdPartyBundle\Form\ThirdpartyFindDuplicateType; use Chill\ThirdPartyBundle\Repository\ThirdPartyRepository; use Chill\ThirdPartyBundle\Service\ThirdpartyMergeService; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; +use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; class ThirdpartyDuplicateController extends AbstractController { public function __construct(private readonly ThirdPartyRepository $thirdPartyRepository, private readonly ThirdpartyMergeService $thirdPartyMergeService) {} + /** + * @ParamConverter("thirdparty", options={"id": "thirdparty_id"}) + */ #[Route(path: '/{_locale}/3party/{thirdparty_id}/find-manually', name: 'chill_thirdparty_find_duplicate')] - public function findManuallyDuplicateAction(mixed $thirdparty_id, Request $request) + public function findManuallyDuplicateAction(ThirdParty $thirdparty, Request $request) { - $thirdparty = $this->thirdPartyRepository->find($thirdparty_id); - dump($thirdparty_id); - dump($thirdparty); - - if (null === $thirdparty) { - throw $this->createNotFoundException("Thirdparty with id {$thirdparty_id} not".' found on this server'); - } - $form = $this->createForm(ThirdpartyFindDuplicateType::class); $form->handleRequest($request); @@ -64,24 +61,17 @@ class ThirdpartyDuplicateController extends AbstractController ]); } + /** + * @ParamConverter("thirdparty1", options={"id": "thirdparty1_id"}) + * @ParamConverter("thirdparty2", options={"id": "thirdparty2_id"}) + */ #[Route(path: '/{_locale}/3party/{thirdparty1_id}/duplicate/{thirdparty2_id}/confirm', name: 'chill_thirdparty_duplicate_confirm')] - public function confirmAction(mixed $thirdparty1_id, mixed $thirdparty2_id, Request $request) + public function confirmAction(ThirdParty $thirdparty1, ThirdParty $thirdparty2, Request $request) { - if ($thirdparty1_id === $thirdparty2_id) { + if ($thirdparty1 === $thirdparty2) { throw new \InvalidArgumentException('Can not merge same thirdparty'); } - $thirdparty1 = $this->thirdPartyRepository->find($thirdparty1_id); - $thirdparty2 = $this->thirdPartyRepository->find($thirdparty2_id); - - if (null === $thirdparty1) { - throw $this->createNotFoundException("Thirdparty with id {$thirdparty1_id} not".' found on this server'); - } - - if (null === $thirdparty2) { - throw $this->createNotFoundException("Person with id {$thirdparty2_id} not".' found on this server'); - } - $form = $this->createForm(PersonConfimDuplicateType::class); $form->handleRequest($request); diff --git a/src/Bundle/ChillThirdPartyBundle/Form/ThirdpartyFindDuplicateType.php b/src/Bundle/ChillThirdPartyBundle/Form/ThirdpartyFindDuplicateType.php index e16cddf54..db1b99481 100644 --- a/src/Bundle/ChillThirdPartyBundle/Form/ThirdpartyFindDuplicateType.php +++ b/src/Bundle/ChillThirdPartyBundle/Form/ThirdpartyFindDuplicateType.php @@ -29,12 +29,4 @@ class ThirdpartyFindDuplicateType extends AbstractType 'data' => 'starting', ]); } - - /** - * @return string - */ - public function getBlockPrefix() - { - return 'chill_thirdpartybundle_thirdparty_find_manually_duplicate'; - } } diff --git a/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdPartyDuplicate/_details.html.twig b/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdPartyDuplicate/_details.html.twig index 8896c8deb..ae751b8c9 100644 --- a/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdPartyDuplicate/_details.html.twig +++ b/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdPartyDuplicate/_details.html.twig @@ -25,15 +25,3 @@ {{ thirdparty.contactDataAnonymous }} {% endmacro %} - -{#{%- macro links(thirdparty, options) -%}#} -{#