Eccube\Controller\Mypage\ChangeController::index PHP Method

index() public method

会員情報編集画面.
public index ( Application $app, Request $request ) : RedirectResponse | Response
$app Eccube\Application
$request Symfony\Component\HttpFoundation\Request
return Symfony\Component\HttpFoundation\RedirectResponse | Symfony\Component\HttpFoundation\Response
    public function index(Application $app, Request $request)
    {
        $Customer = $app->user();
        $LoginCustomer = clone $Customer;
        $app['orm.em']->detach($LoginCustomer);
        $previous_password = $Customer->getPassword();
        $Customer->setPassword($app['config']['default_password']);
        /* @var $builder \Symfony\Component\Form\FormBuilderInterface */
        $builder = $app['form.factory']->createBuilder('entry', $Customer);
        $event = new EventArgs(array('builder' => $builder, 'Customer' => $Customer), $request);
        $app['eccube.event.dispatcher']->dispatch(EccubeEvents::FRONT_MYPAGE_CHANGE_INDEX_INITIALIZE, $event);
        /* @var $form \Symfony\Component\Form\FormInterface */
        $form = $builder->getForm();
        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()) {
            log_info('会員編集開始');
            if ($Customer->getPassword() === $app['config']['default_password']) {
                $Customer->setPassword($previous_password);
            } else {
                if ($Customer->getSalt() === null) {
                    $Customer->setSalt($app['eccube.repository.customer']->createSalt(5));
                }
                $Customer->setPassword($app['eccube.repository.customer']->encryptPassword($app, $Customer));
            }
            $app['orm.em']->flush();
            log_info('会員編集完了');
            $event = new EventArgs(array('form' => $form, 'Customer' => $Customer), $request);
            $app['eccube.event.dispatcher']->dispatch(EccubeEvents::FRONT_MYPAGE_CHANGE_INDEX_COMPLETE, $event);
            return $app->redirect($app->url('mypage_change_complete'));
        }
        $app['security']->getToken()->setUser($LoginCustomer);
        return $app->render('Mypage/change.twig', array('form' => $form->createView()));
    }
ChangeController