/** * 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; }