src/Controller/Agents/AgentRatesController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Agents;
  3. use App\Application\AgentRatesService;
  4. use App\Domain\Repositories\AgentRepository;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. class AgentRatesController extends AbstractController
  9. {
  10.     public function __construct(
  11.         private AgentRatesService $agentRatesService,
  12.         private AgentRepository $agentRepository,
  13.     ) {}
  14.     public function index(int $idRequest $request): Response
  15.     {
  16.         $agent $this->agentRepository->agentOfIdentify($id);
  17.         if (!$agent) {
  18.             return $this->redirectToRoute('agents.index');
  19.         }
  20.         if ($request->isMethod('POST')) {
  21.             $section $request->request->get('_section');
  22.             if ($section === 'agent') {
  23.                 $newLevel $request->request->get('newagentlevel');
  24.                 $newDate  $request->request->get('newagentratedate');
  25.                 $this->agentRatesService->saveAgentRates(
  26.                     $id,
  27.                     $request->request->all('agentdelete'),
  28.                     is_string($newLevel) ? $newLevel null,
  29.                     is_string($newDate) ? $newDate null,
  30.                 );
  31.                 $this->addFlash('success''Agent rates updated successfully.');
  32.             }
  33.             if ($section === 'manager') {
  34.                 $newLevel $request->request->get('newmanagerlevel');
  35.                 $newDate  $request->request->get('newmanagerratedate');
  36.                 $this->agentRatesService->saveManagerRates(
  37.                     $id,
  38.                     $request->request->all('mgrdelete'),
  39.                     is_string($newLevel) ? $newLevel null,
  40.                     is_string($newDate) ? $newDate null,
  41.                 );
  42.                 $this->addFlash('success''Manager rates updated successfully.');
  43.             }
  44.             return $this->redirectToRoute('agents.agent-rates.index', ['id' => $id]);
  45.         }
  46.         return $this->render('agents/agent-rates/index.html.twig'array_merge(
  47.             ['agent' => $agent],
  48.             $this->agentRatesService->formData($id),
  49.         ));
  50.     }
  51. }