/**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     // Primero comprobaremos si estamos recibiendo todos los campos.
     if (!$request->input('titol') || !$request->input('dataHora') || !$request->input('lloc') || !$request->input('inscripcioOberta') || !$request->input('presencial')) {
         // Se devuelve un array errors con los errores encontrados y cabecera HTTP 422 Unprocessable Entity – [Entidad improcesable] Utilizada para errores de validación.
         // En code podríamos indicar un código de error personalizado de nuestra aplicación si lo deseamos.
         return response()->json(['errors' => array(['code' => 422, 'message' => 'Faltan datos necesarios para el proceso de alta.'])], 422);
     }
     // Insertamos una fila en Fabricante con create pasándole todos los datos recibidos.
     // En $request->all() tendremos todos los campos del formulario recibidos.
     //damos formato dateTime
     $formato = 'Y-m-d H:i:s';
     $fecha = DateTime::createFromFormat($formato, $request->input('dataHora'));
     $request->merge(array('dataHora' => $fecha));
     //control de los booleanos (v1, en la v2 ira fuera)
     if ($request->input('inscripcioOberta') == "true") {
         $request->merge(array('inscripcioOberta' => true));
     } else {
         $request->merge(array('inscripcioOberta' => false));
     }
     if ($request->input('presencial') == "true") {
         $request->merge(array('presencial' => true));
     } else {
         $request->merge(array('presencial' => false));
     }
     $nouEsdeveniment = Esdeveniment::create($request->all());
     // Más información sobre respuestas en http://jsonapi.org/format/
     // Devolvemos el código HTTP 201 Created – [Creada] Respuesta a un POST que resulta en una creación. Debería ser combinado con un encabezado Location, apuntando a la ubicación del nuevo recurso.
     $response = Response::make(json_encode(['data' => $nouEsdeveniment]), 201)->header('Location', 'http://www.dominio.local/esdeveniments/' . $nouEsdeveniment->id)->header('Content-Type', 'application/json');
     return $response;
 }
Example #2
0
 public function postEsdeveniment()
 {
     // Primero comprobaremos si estamos recibiendo todos los campos.
     if (!Request::input('name')) {
         print_r("falta name");
     } else {
         if (!Request::input('data')) {
             print_r("falta data");
         } else {
             $esdeveniment = Esdeveniment::where('titol', '=', Request::input('name'))->get();
             if ($esdeveniment != "[]") {
                 print_r("falta name");
             } else {
                 $esd = array('titol' => Request::input('name'));
                 $esd = array_add($esd, 'lloc', Request::input('lloc'));
                 $formato = 'Y-m-d H:i:s';
                 $fecha = DateTime::createFromFormat($formato, Request::input('data'));
                 if (!$fecha) {
                     print_r("falta data");
                     die;
                 }
                 $esd = array_add($esd, 'dataHora', $fecha);
                 if (Request::input('oberta') == "false") {
                     $esd = array_add($esd, 'inscripcioOberta', false);
                 } else {
                     $esd = array_add($esd, 'inscripcioOberta', true);
                 }
                 if (Request::input('lloc') == "") {
                     $esd = array_add($esd, 'presencial', true);
                 } else {
                     $esd = array_add($esd, 'presencial', false);
                 }
                 //print_r($esd);die;
                 $nouEsdeveniment = Esdeveniment::create($esd);
                 print_r($nouEsdeveniment->id);
             }
         }
     }
 }