Remove dumps and inject thirdparty directly into controller action

This commit is contained in:
2025-02-25 16:35:30 +01:00
parent 5b1b0f7fb1
commit ea7ccdc205
4 changed files with 13 additions and 43 deletions

View File

@@ -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);