/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(CreatePersonaRequest $request) { $calle = new Calle(); $calle->nombre = $request->get('nombre_calle'); $calle->fill($request->all()); $calle->save(); $domicilio = new Domicilio(); $domicilio->fill($request->all()); $domicilio->calle_id = $calle->id; $domicilio->save(); $persona = new Persona(); $persona->fill($request->all()); $persona->nombre = $request->get('nombre_persona'); $persona->domicilio_id = $domicilio->id; $persona->save(); return \Redirect::route('people.personas.index'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $existe = false; //inicializo $existe en false $docUsuario = DB::table('personas')->join('categoria_persona', 'personas.id', '=', 'categoria_persona.persona_id')->join('categorias', 'categoria_persona.categoria_id', '=', 'categorias.id')->join('eventos', 'categoria_persona.evento_id', '=', 'eventos.id')->select('documento')->where('eventos.id', '=', 2)->get(); foreach ($docUsuario as $doc) { $documentos[] = $doc->documento; } if (!empty($documentos)) { $existe = array_search($request->documento, $documentos, false); } $urlparse = parse_url($_SERVER['HTTP_REFERER']); //Guardo en urlparse de donde viene para poder hacer el return donde corresponda //si viene del congreso la mando a la url del congreso. $options = Config::get('categorias.types'); //traigo los valores del archivo categorias.php dentro de la carpeta config $tipoDoc = Config::get('tipoDoc.types'); //traigo los valores del archivo tipoDoc.php dentro de la carpeta config $pais = Config::get('pais.types'); //traigo los valores del archivo pais.php dentro de la carpeta config $evento_id = $request->evento_id; if ($existe === false) { $persona = new Persona(); /* LLAMAR FUNCION GENERAR CLAVE*/ $data = Input::all(); $data['clave'] = $this->generaclave(); $persona->fill($data); $persona['nombre'] = Persona::getNombreNormalizado($data['nombre']); $persona['apellidos'] = Persona::getNombreNormalizado($data['apellidos']); $persona->save(); //Guardo las categorias $array = $request->options; //en caso de que las categorias esten en null, le seteo por defecto el 4 (Otros) if (emptyArray($array)) { $array[] = 4; } foreach ($array as $key => $value) { $resultado[] = $value; } foreach ($resultado as $idC) { DB::table('categoria_persona')->insert(['categoria_id' => $idC, 'evento_id' => $request->evento_id, 'persona_id' => $persona->id]); } //guardo evento_persona DB::table('evento_persona')->insert(['evento_id' => $request->evento_id, 'persona_id' => $persona->id]); $this->enviar_correo($request->apellidos, $request->nombre, $request->email, $request->documento, $data['clave']); //TODO : Hay que programar esto para que tome la url desde la BD para que no este harcodeado // Como esta hecho ahora, si se necesita agregar una nueva jornada o congreso, hay que hacerlo mediante el codigo if ($urlparse['path'] == '/persona') { //si es persona va al home de jornadas.app return redirect()->route("home"); } Session::flash('mensaje_correo_ok', 'Su consulta fue enviada correctamente'); Session::flash('mensaje_correo_ok1', 'Si no recibe el correo de confirmación, revise su casilla de correo no deseado.'); return redirect()->route("congresoOk"); //return view('congreso', compact('evento_id','tipoDoc','options','pais')); } else { Session::flash('message_congreso', 'Ya existe una persona inscripta con el documento ingresado Congreso '); Session::flash('alert-class', 'alert-danger'); if ($urlparse['path'] == '/persona') { //si es persona va al home de jornadas.app return redirect()->back(); } else { //return redirect('congreso')->with('message', 'Profile updated!'); //return view('congreso', compact('evento_id','tipoDoc','options','pais')); return redirect()->back(); } } }