public function connect(Application $app) { $controller = $app['controllers_factory']; $controller->get('/', function (Application $app, Request $request) { return $app['twig']->render('admin/dashboard.html.twig'); })->bind('dashboard'); $controller->match('/settings', function (Application $app, Request $request) { $qb = $app['em']->createQueryBuilder(); $qb->select('s')->from('CMSilex\\Entities\\Setting', 's', 's.att'); $currentSettings = $qb->getQuery()->getResult(); $builder = $app->form($currentSettings); $form = $builder->add('about', TextareaType::class)->add('github', TextType::class)->add('Save', SubmitType::class)->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $allSettings = $form->getData(); foreach ($allSettings as $key => $value) { $newSetting = new Setting($key, $value); $app['em']->merge($newSetting); } $app['em']->flush(); return $app->redirect($app->url("settings")); } return $app['twig']->render('admin/settings.html.twig', ['form' => $form->createView()]); })->bind('settings')->method('POST|GET'); return $controller; }
public function resetPassword(Application $app, Request $request) { $form = $app->form(new PhraseaRenewPasswordForm()); if ('POST' === $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $data = $form->getData(); $user = $app['authentication']->getUser(); if ($app['auth.password-encoder']->isPasswordValid($user->getPassword(), $data['oldPassword'], $user->getNonce())) { $app['manipulator.user']->setPassword($user, $data['password']); $app->addFlash('success', $app->trans('login::notification: Mise a jour du mot de passe avec succes')); return $app->redirectPath('account'); } else { $app->addFlash('error', $app->trans('Invalid password provided')); } } } return $app['twig']->render('account/change-password.html.twig', array_merge(Login::getDefaultTemplateVariables($app), ['form' => $form->createView()])); }
public function registerAction(Application $app, Request $request) { $builder = $app->form(); $builder->add('email', EmailType::class)->add('password', RepeatedType::class, ['type' => PasswordType::class, 'first_options' => ['label' => 'Password'], 'second_options' => ['label' => 'Repeat Password']])->add('register', SubmitType::class); $form = $builder->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $userInfo = $form->getData(); $newUser = new User(); $password = $app->encodePassword($newUser, $userInfo['password']); $newUser->setUsername($userInfo['email']); $newUser->setPassword($password); $newUser->setEnabled(true); $newUser->setAccountNonExpired(true); $newUser->setAccountNonLocked(true); $newUser->setCredentialsNonExpired(true); $newUser->setRoles(['ROLE_USER']); $app['em']->persist($newUser); $app['em']->flush(); return $app->redirect($app->url('login')); } return $app->render('authentication/register.html.twig', ['form' => $form->createView()]); }
public function postSaveTask(Application $app, Request $request, Task $task) { if (!$this->doValidateXML($request->request->get('settings'))) { return $app->json(['success' => false, 'message' => sprintf('Unable to load XML %s', $request->request->get('xml'))]); } $form = $app->form(new TaskForm()); $form->setData($task); $form->bind($request); if ($form->isValid()) { $app['manipulator.task']->update($task); return $app->json(['success' => true]); } return $app->json(['success' => false, 'message' => implode("\n", $form->getErrors())]); }
/** * @see \Silex\Application\FormTrait::form */ public function form($data = null, array $options = [], $type = null) { return $this->app->form($data, $options, $type); }
public function postSaveTask(Application $app, Request $request, Task $task) { if (false === $app['phraseanet.configuration']['main']['task-manager']['enabled']) { throw new RuntimeException('The use of the task manager is disabled on this instance.'); } if (!$this->doValidateXML($request->request->get('settings'))) { return $app->json(['success' => false, 'message' => sprintf('Unable to load XML %s', $request->request->get('xml'))]); } $form = $app->form(new TaskForm()); $form->setData($task); $form->bind($request); if ($form->isValid()) { $app['manipulator.task']->update($task); return $app->json(['success' => true]); } return $app->json(['success' => false, 'message' => implode("\n", $form->getErrors())]); }