/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $rel_interna = RelInterna::findOrFail($id); $grupos = Grupo::where('tipo', 'LIKE', 'Finanzas%')->orWhere('tipo', 'LIKE', 'Suministros%')->with(['users' => function ($query) { $query->addSelect(['users.id', 'nombre']); $query->where('users.id', '!=', \Auth::user()->id); $query->orderBy('nombre'); }])->get(); $grupos_colectivo = $grupos->filter(function ($grupo) { return $grupo->tipo == 'Finanzas Colectivo'; }); $grupos_colectivo = $grupos_colectivo->pluck('grupo', 'id'); $arr_grupos = $grupos_colectivo->toArray(); $grupos_usuarios = $grupos->filter(function ($grupo) { return $grupo->tipo == 'Finanzas Individual'; }); $grupos_usuarios = $grupos_usuarios->pluck('users', 'grupo'); $grupos_usuarios = $grupos_usuarios->map(function ($grupo) { return $grupo->pluck('nombre', 'id'); }); $arr_usuarios = $grupos_usuarios->toArray(); //Carga documentos de la relación interna para mostrarlos $rel_interna->load('relInternaDocs'); $documentos = []; foreach ($rel_interna->relInternaDocs as $doc) { $documentos[] = RelInternaDoc::find($doc->id)->docable; } $accion = 'consulta'; return view('relint.infoRelInterna', compact('rel_interna', 'arr_grupos', 'arr_usuarios', 'accion', 'documentos')); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, Request $request) { $rel_interna = RelInterna::findOrFail($id); $rel_interna->fecha_revision = Carbon::today()->toDateString(); $rel_interna->recibe = \Auth::user()->id; $rel_interna->estatus = 'Recibida'; $rel_interna->save(); foreach ($request->input('docs') as $doc_id) { if ($rel_interna->tipo_documentos == 'Egresos') { $documento = Egreso::find($doc_id); } if ($rel_interna->tipo_documentos == 'Solicitudes') { $documento = Solicitud::find($doc_id); } $documento->user_id = \Auth::user()->id; $documento->save(); $documento_rel_interna = $documento->relacionInternaDocs()->where('rel_interna_id', $id)->first(); $documento_rel_interna->validacion = 'Aceptada'; $documento_rel_interna->save(); } $rel_interna->load('relInternaDocs'); foreach ($rel_interna->relInternaDocs as $doc) { if (empty($doc->validacion)) { RelInternaDoc::find($doc->id)->update(['validacion' => 'Rechazada']); } } $message = 'Relación ' . $rel_interna->id . ' recibida con éxito'; return redirect()->action('RelacionInternaController@index')->with(['message' => $message]); }