Example #1
0
 /**
  * @param Request $request
  * @param Application $app
  * 
  * @return Response|JsonResponse
  */
 public function miCuenta(Request $request, Application $app)
 {
     if (is_array($app['user'])) {
         if ($request->isXmlHttpRequest() && $request->isMethod('POST')) {
             $nombre = $request->get('nombre');
             $correo = $request->get('correo');
             $alias = $request->get('alias');
             $clave = $request->get('clave');
             $usuarioModelo = new UsuarioModelo($app['db']);
             if ($clave) {
                 //$filasAfectadas = $usuarioModelo->modificar($app['user']['id'], $app['user']['id_perfil'], $nombre, $correo, $alias, $app['user']['clave']);
             } else {
                 $filasAfectadas = $usuarioModelo->modificar($app['user']['id'], $app['user']['id_perfil'], $nombre, $correo, $alias);
             }
             if ($filasAfectadas == 1) {
                 return new JsonResponse('Actualizada mi cuenta', 200);
             } else {
                 return new JsonResponse('Nada que actualizar', 202);
             }
         } elseif ($request->isXmlHttpRequest() && $request->isMethod('GET')) {
             return $app['twig']->render('frontend/usuario/micuenta.html.twig');
         }
     } else {
         return new Response('Forbiden', 403);
     }
 }
Example #2
0
 /**
  * @param Request $request
  * @param Application $app
  * @param int $id
  * 
  * @return mixed|RedirectResponse
  */
 public function editar(Request $request, Application $app, $id)
 {
     // Se adquiere el encoder
     $encoder = $app['security.encoder.digest'];
     // Se adquiere el token
     $token = $app['security']->getToken();
     // Se adquiere el usuario
     if (is_object($token)) {
         $user = $token->getUser();
     }
     $usuarioModelo = new UsuarioModelo($app['db']);
     $usuario = $usuarioModelo->getPorId($id);
     if (!empty($usuario)) {
         $perfilModelo = new Perfil($app['db']);
         $perfiles = $perfilModelo->getTodo();
         foreach ($perfiles as $perfil) {
             $options[$perfil['id']] = $perfil['nombre'];
         }
         $initial_data = array('nombre' => $usuario['nombre'], 'correo' => $usuario['correo'], 'alias' => $usuario['alias']);
         $form = $app['form.factory']->createBuilder('form', $initial_data);
         $form = $form->add('id_perfil', 'choice', array('choices' => $options, 'data' => $usuario['id_perfil'], 'required' => true));
         $form = $form->add('nombre', 'text', array('required' => true));
         $form = $form->add('correo', 'text', array('required' => true));
         $form = $form->add('alias', 'text', array('required' => true));
         $form = $form->add('nueva_clave', 'password', array('required' => false));
         $form = $form->getForm();
         if ("POST" == $request->getMethod()) {
             $form->handleRequest($request);
             if ($form->isValid()) {
                 $data = $form->getData();
                 if (!empty($data['nueva_clave'])) {
                     // codificar la clave
                     $nueva_clave = $encoder->encodePassword($data['nueva_clave'], $user->getSalt());
                     $filasAfectadas = $usuarioModelo->modificar($id, $data['id_perfil'], $data['nombre'], $data['correo'], $data['alias'], $nueva_clave);
                 } else {
                     $filasAfectadas = $usuarioModelo->modificar($id, $data['id_perfil'], $data['nombre'], $data['correo'], $data['alias']);
                 }
                 if ($filasAfectadas == 1) {
                     $app['session']->getFlashBag()->add('info', array('message' => '¡Usuario editado!'));
                 }
                 return $app->redirect($app['url_generator']->generate('usuario_edit', array("id" => $id)));
             }
         }
     } else {
         $app['session']->getFlashBag()->add('warning', array('message' => '¡Usuario no encontrado!'));
         return $app->redirect($app['url_generator']->generate('usuario_list'));
     }
     return $app['twig']->render('backend/usuario/edit.html.twig', array("form" => $form->createView(), "id" => $id));
 }