Eccube\Controller\Admin\Setting\Shop\TaxRuleController::editParameter PHP Метод

editParameter() публичный Метод

軽減税率の有効/無効設定
public editParameter ( Application $app, Request $request ) : RedirectResponse
$app Eccube\Application
$request Symfony\Component\HttpFoundation\Request
Результат Symfony\Component\HttpFoundation\RedirectResponse
    public function editParameter(Application $app, Request $request)
    {
        $builder = $app['form.factory']->createBuilder('tax_rule');
        $event = new EventArgs(array('builder' => $builder), $request);
        $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_SETTING_SHOP_TAX_RULE_EDIT_PARAMETER_INITIALIZE, $event);
        $form = $builder->getForm();
        if ('POST' === $request->getMethod()) {
            $form->handleRequest($request);
            // 軽減税率設定の項目のみ処理する
            $optionForm = $form->get('option_product_tax_rule');
            if ($optionForm->isValid()) {
                /** @var  $BaseInfo \Eccube\Entity\BaseInfo */
                $BaseInfo = $app['eccube.repository.base_info']->get();
                $BaseInfo->setOptionProductTaxRule($optionForm->getData());
                $app['orm.em']->flush();
                $event = new EventArgs(array('form' => $form, 'BaseInfo' => $BaseInfo), $request);
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_SETTING_SHOP_TAX_RULE_EDIT_PARAMETER_COMPLETE, $event);
                $app->addSuccess('admin.shop.tax.save.complete', 'admin');
            }
        }
        return $app->redirect($app->url('admin_setting_shop_tax'));
    }