@@ 606-623 (lines=18) @@ | ||
603 | ||
604 | $this->addSuccess('admin.common.save_complete', 'admin'); |
|
605 | ||
606 | if ($returnLink = $form->get('return_link')->getData()) { |
|
607 | try { |
|
608 | // $returnLinkはpathの形式で渡される. pathが存在するかをルータでチェックする. |
|
609 | $pattern = '/^'.preg_quote($request->getBasePath(), '/').'/'; |
|
610 | $returnLink = preg_replace($pattern, '', $returnLink); |
|
611 | $result = $router->match($returnLink); |
|
612 | // パラメータのみ抽出 |
|
613 | $params = array_filter($result, function ($key) { |
|
614 | return 0 !== \strpos($key, '_'); |
|
615 | }, ARRAY_FILTER_USE_KEY); |
|
616 | ||
617 | // pathからurlを再構築してリダイレクト. |
|
618 | return $this->redirectToRoute($result['_route'], $params); |
|
619 | } catch (\Exception $e) { |
|
620 | // マッチしない場合はログ出力してスキップ. |
|
621 | log_warning('URLの形式が不正です。'); |
|
622 | } |
|
623 | } |
|
624 | ||
625 | $cacheUtil->clearDoctrineCache(); |
|
626 |
@@ 320-337 (lines=18) @@ | ||
317 | ||
318 | log_info('受注登録完了', [$TargetOrder->getId()]); |
|
319 | ||
320 | if ($returnLink = $form->get('return_link')->getData()) { |
|
321 | try { |
|
322 | // $returnLinkはpathの形式で渡される. pathが存在するかをルータでチェックする. |
|
323 | $pattern = '/^'.preg_quote($request->getBasePath(), '/').'/'; |
|
324 | $returnLink = preg_replace($pattern, '', $returnLink); |
|
325 | $result = $router->match($returnLink); |
|
326 | // パラメータのみ抽出 |
|
327 | $params = array_filter($result, function ($key) { |
|
328 | return 0 !== \strpos($key, '_'); |
|
329 | }, ARRAY_FILTER_USE_KEY); |
|
330 | ||
331 | // pathからurlを再構築してリダイレクト. |
|
332 | return $this->redirectToRoute($result['_route'], $params); |
|
333 | } catch (\Exception $e) { |
|
334 | // マッチしない場合はログ出力してスキップ. |
|
335 | log_warning('URLの形式が不正です。'); |
|
336 | } |
|
337 | } |
|
338 | ||
339 | return $this->redirectToRoute('admin_order_edit', ['id' => $TargetOrder->getId()]); |
|
340 | } |