src/Controller/DonationController.php line 41
<?phpnamespace App\Controller;use App\Balance\BalanceService;use App\DonationService;use App\Form\BalanceRefillAmountType;use App\Form\DonationLevelType;use App\LotteryService;use App\UserService;use App\Util\Formatter;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\JsonResponse;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;#[Route('/joenation')]class DonationController extends AbstractController{public function __construct(private BalanceService $balanceService){}#[Route('/', name: 'app_donation_create', methods: 'POST')]public function create(DonationService $donationService): Response{$this->balanceService->makeDonation();$template = $donationService->getSuccessTemplate();$data = $donationService->getSuccessData();$html = $this->renderView($template, ['data' => $data,]);return new JsonResponse($html);}#[Route('/edit', name: 'app_donation_update', methods: ['GET', 'POST'])]public function update(Request $request,UserService $userService,): Response{$form = $this->createForm(DonationLevelType::class);$form->handleRequest($request);if($form->isSubmitted() && $form->isValid()) {$donationAmount = (int)$form->get('donationAmount')->getData();$userService->updateDonationLevel($donationAmount);return $this->redirectToRoute('app_home');}$balance = $this->balanceService->getBalance();$level = $userService->getUser()->getTransactionDefaultAmount();$data = ['balance' => Formatter::formatMoney($balance),'level' => Formatter::formatMoney($level),];return $this->render('donation/update.html.twig', ['form' => $form,'data' => $data,]);}}