/**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function consulta(Request $request)
 {
     $proyecto_etapa = Project::where('projects.id', '=', $request->get('project_id'))->join('project_stage', 'project_stage.project_id', '=', 'projects.id')->join('stages', 'stages.id', '=', 'project_stage.stage_id')->where('stages.id', '=', $request->get('stage_id'))->get(['project_stage.id as id', 'stages.name as name']);
     $actividad_etapa = Activity_Stage::where('activity_id', '=', $request->get('activity_id'))->where('stage_project_id', '=', $proyecto_etapa->last()->id)->get();
     if (count($actividad_etapa) > 0) {
         $especificaciones = Spacification::where('activity_id', '=', $actividad_etapa->last()->id)->get();
     } else {
         $especificaciones = '';
     }
     $etapa = stage::where('id', '=', $request->get('stage_id'))->first();
     $proyecto = Project::where('id', '=', $request->get('project_id'))->first();
     $actividad = Activity::where('id', '=', $request->get('activity_id'))->first();
     return response()->json(['actividad_etapa' => $actividad_etapa, 'etapa' => $etapa->name, 'especificaciones' => $especificaciones, 'proyecto' => $proyecto->name, 'actividad' => $actividad->name, 'project_id' => $proyecto->id, 'stage_id' => $etapa->id, 'activity_id' => $actividad->id, 'project_stage_id' => $proyecto_etapa->first()->id]);
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function data()
 {
     $etapas = stage::orderBy('name', 'DESC')->get();
     $actividades = Activity::orderBy('name', 'DESC')->get();
     return response()->json(['etapas' => $etapas, 'actividades' => $actividades]);
 }
 public function nothingStage(Request $request)
 {
     $project = Project::find($request->get('proyecto_id'));
     $stages = stage::all();
     foreach ($stages as $s) {
         $project->stages()->detach($s->id);
     }
     return response()->json($project);
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $projects = Project::join('project_resident', 'project_resident.project_id', '=', 'projects.id')->join('residents', 'residents.id', '=', 'project_resident.resident_id')->where('residents.id', '=', Auth::user()->id)->get(['projects.*']);
     $etapas = stage::all();
     return view('residente.avance', compact('projects', 'etapas'));
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request)
 {
     if (empty($request->get('name'))) {
         return response()->json(['bad' => 'empty']);
     }
     $stage = stage::where('name', '=', $request->get('name'))->whereNotIn('id', [$request->get('id')])->first();
     $identificador = stage::where('identificador', '=', $request->get('identificador'))->whereNotIn('id', [$request->get('id')])->first();
     if ($stage == null) {
         if ($identificador == null) {
             $stage = stage::find($request->get('id'));
             $stage->fill($request->all());
             $stage->save();
             return response()->json(['good' => 'good', 'data' => $stage]);
         } else {
             return response()->json(['bad' => 'id']);
         }
     } else {
         return response()->json(['bad' => 'exists']);
     }
 }