app/Plugin/VeriTrans4G2/Controller/Admin/PluginConfigController.php line 30

Open in your IDE?
  1. <?php
  2. /*
  3.  * Copyright (c) 2018 VeriTrans Inc., a Digital Garage company. All rights reserved.
  4.  * http://www.veritrans.co.jp/
  5.  */
  6. namespace Plugin\VeriTrans4G2\Controller\Admin;
  7. use Plugin\VeriTrans4G2\Controller\AbstractVt4gController;
  8. use Plugin\VeriTrans4G2\Exception\UsedMailException;
  9. use Plugin\VeriTrans4G2\Form\Type\Admin\PluginConfigType;
  10. use Plugin\VeriTrans4G2\Service\Admin\PluginConfigService;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  14. /**
  15.  * プラグイン設定画面コントローラー
  16.  *
  17.  */
  18. class PluginConfigController extends AbstractVt4gController
  19. {
  20.     /**
  21.      * プラグイン設定画面アクセス時の処理
  22.      * @Route("/%eccube_admin_route%/veritrans4g2/config", name="veri_trans4_g2_admin_config")
  23.      * @param  Request             $request       リクエストデータ
  24.      * @param  PluginConfigService $configService プラグイン設定サービス
  25.      */
  26.     public function index(Request $requestPluginConfigService $configService)
  27.     {
  28.         $subData $configService->getSubData();
  29.         $form $this->formFactory->createBuilder(PluginConfigType::class)->getForm();
  30.         $form->setData($subData);
  31.         $form->handleRequest($request);
  32.         if ($form->isSubmitted() && $form->isValid()) {
  33.             $formData $form->getData();
  34.             try {
  35.                 $configService->savePaymentData($formData);
  36.             } catch (UsedMailException $e) {
  37.                 return $this->redirectToRoute('veri_trans4_g2_admin_config');
  38.             }
  39.             // 3GPSMDK.propertiesの更新
  40.             $configService->setMdkProperties($formData) === true
  41.             $this->addSuccess('vt4g_plugin.admin.config.save.complete''admin')
  42.             : $this->addWarning('vt4g_plugin.admin.config.save.warning''admin');
  43.             return $this->redirectToRoute('veri_trans4_g2_admin_config');
  44.         }
  45.         return $this->render(
  46.             'VeriTrans4G2/Resource/template/admin/Plugin/vt4g_config.twig',
  47.             [
  48.                 'form' => $form->createView(),
  49.                 'recv_url' => $this->generateUrl('vt4g_plugin_shopping_payment_recv',[],UrlGeneratorInterface::ABSOLUTE_URL),
  50.                 'usedMail' => $configService->getUsedMailData(),
  51.             ]
  52.         );
  53.     }
  54. }