public function postCalificar(Request $request, $id) { if (!in_array($request->user()->rol, ['profesor', 'administrador'])) { return redirect('dashboard/error')->with(['message' => 'Usted no es es profesor no puede realizar esta accion']); } $resolucion = Resolucion::findOrFail($id); $resolucion->calificacion = $request->input('calificacion'); $resolucion->estado = 'calificado'; $resolucion->save(); return redirect('resultados'); }
/** * Determina si una encuesta no expiro en su fecha de validez, luego determina si ya tiene una resolucion (en caso que no la crea) * ademas verifica que la resolcion no se le haya paso el tiempo de llenado * * @param Request $request * @param Encuesta $encuesta * * @return Resolucion */ private function getResolucion(Request $request, Encuesta $encuesta) { if ($encuesta->getFechaValidoHasta()->getTimestamp() < (new \DateTime(date('Y-m-d')))->getTimestamp()) { redirect()->to('resoluciones/error')->withInput(['message' => 'La encuesta que intentas llenar ya no esta disponible']); } $resolucion = Resolucion::findOrCreateForUser($encuesta, $request->user()); if ($resolucion->getFechaFin()->getTimestamp() < (new \DateTime())->getTimestamp()) { redirect()->to('resoluciones/error')->withInput(['message' => 'Ya expiro el tiempo de llenado para la encuesta solicitada']); } return $resolucion; }
/** * Determina si una encuesta no expiro en su fecha de validez, luego determina si ya tiene una resolucion (en caso que no la crea) * ademas verifica que la resolcion no se le haya paso el tiempo de llenado * * @param Request $request * @param Encuesta $encuesta * * @return Resolucion */ private function getResolucion(Request $request, Encuesta $encuesta) { $resolucion = Resolucion::findOrCreateForUser($encuesta, $request->user()); if (!in_array($resolucion->estado, ['pendiente'])) { return 'La encuesta ya la has resuelto, aguarda por tu calificacion'; } if ($encuesta->getFechaValidoHasta()->getTimestamp() < (new \DateTime(date('Y-m-d')))->getTimestamp()) { if ($resolucion->estado == 'pendiente') { $resolucion->estado = 'tiempo_agotado'; $resolucion->save(); } return 'La encuesta que intentas llenar ya no esta disponible'; } if ($resolucion->getFechaFin()->getTimestamp() < (new \DateTime())->getTimestamp()) { if ($resolucion->estado == 'pendiente') { $resolucion->estado = 'tiempo_agotado'; $resolucion->save(); } return 'Ya expiro el tiempo de llenado para la encuesta solicitada'; } return $resolucion; }