src/Controller/RewardAdminController.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\Entity\Reward;
  5. use App\Logic\MailLogic;
  6. use App\Logic\PrepaidCardManager;
  7. use App\Logic\RewardService;
  8. use App\Repository\RewardRepository;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Sonata\AdminBundle\Controller\CRUDController;
  11. use Symfony\Component\HttpFoundation\RedirectResponse;
  12. use Symfony\Component\HttpFoundation\Request;
  13. final class RewardAdminController extends CRUDController
  14. {
  15.     public function payAction(RewardRepository $rewardRepositoryRequest $requestEntityManagerInterface $entityManagerRewardService $rewardService)
  16.     {
  17.         $rewardsAll $rewardRepository->findRewards();
  18.         $rewards = [];
  19.         foreach ($rewardsAll as $reward){
  20.             $rewardItem = isset($reward[0]) ? $reward[0] : null;
  21.             if($reward['total_price'] >= 250 || ($rewardItem && $rewardItem->getSkipAmountCheck() === true)){
  22.                 $reward[0]->totalSum $reward['total_price'];
  23.                 $rewards[] = $reward[0];
  24.             }
  25.         }
  26.         $form $this->createFormBuilder()->getForm();
  27.         $form->handleRequest($request);
  28.         if ($form->isSubmitted() && $form->isValid()) {
  29.             foreach ($rewards as $reward) {
  30.                 $rewardService->payReward($rewardfalse);
  31.             }
  32.             $entityManager->flush();
  33.             return $this->redirect($this->admin->generateUrl('pay'));
  34.         }
  35.         return $this->renderWithExtraParams('admin/rewards/pay_list.html.twig', [
  36.             'rewards' => $rewards,
  37.             'form' => $form->createView()
  38.         ]);
  39.     }
  40.     public function payRewardAction(Reward $rewardRequest $requestRewardService $rewardService)
  41.     {
  42.         if($reward->getStatus() === Reward::STATUS_PAID){
  43.             $this->addFlash('danger''Reward is already Paid');
  44.         }
  45.         $rewardService->payReward($reward);
  46.         return new RedirectResponse($request->headers->get('referer'));
  47.     }
  48. }