<?php
/*
* Copyright (c) 2018 VeriTrans Inc., a Digital Garage company. All rights reserved.
* http://www.veritrans.co.jp/
*/
namespace Plugin\VeriTrans4G2\Controller\Admin;
use Plugin\VeriTrans4G2\Controller\AbstractVt4gController;
use Plugin\VeriTrans4G2\Exception\UsedMailException;
use Plugin\VeriTrans4G2\Form\Type\Admin\PluginConfigType;
use Plugin\VeriTrans4G2\Service\Admin\PluginConfigService;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
/**
* プラグイン設定画面コントローラー
*
*/
class PluginConfigController extends AbstractVt4gController
{
/**
* プラグイン設定画面アクセス時の処理
* @Route("/%eccube_admin_route%/veritrans4g2/config", name="veri_trans4_g2_admin_config")
* @param Request $request リクエストデータ
* @param PluginConfigService $configService プラグイン設定サービス
*/
public function index(Request $request, PluginConfigService $configService)
{
$subData = $configService->getSubData();
$form = $this->formFactory->createBuilder(PluginConfigType::class)->getForm();
$form->setData($subData);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$formData = $form->getData();
try {
$configService->savePaymentData($formData);
} catch (UsedMailException $e) {
return $this->redirectToRoute('veri_trans4_g2_admin_config');
}
// 3GPSMDK.propertiesの更新
$configService->setMdkProperties($formData) === true
? $this->addSuccess('vt4g_plugin.admin.config.save.complete', 'admin')
: $this->addWarning('vt4g_plugin.admin.config.save.warning', 'admin');
return $this->redirectToRoute('veri_trans4_g2_admin_config');
}
return $this->render(
'VeriTrans4G2/Resource/template/admin/Plugin/vt4g_config.twig',
[
'form' => $form->createView(),
'recv_url' => $this->generateUrl('vt4g_plugin_shopping_payment_recv',[],UrlGeneratorInterface::ABSOLUTE_URL),
'usedMail' => $configService->getUsedMailData(),
]
);
}
}