You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 line
2.6KB

  1. <?php
  2. namespace App\Controllers;
  3. use App\Models\DepartamentoModel;
  4. use App\Models\EscuelaModel;
  5. use App\Models\HorasModel;
  6. use App\Models\PrestadorModel;
  7. use App\Models\PrestadorSolicitudModel;
  8. use App\Models\UserModel;
  9. use PHPUnit\Framework\MockObject\Stub\ReturnReference;
  10. class Prestador extends BaseController
  11. {
  12. public function index()
  13. {
  14. $horasModel = model(HorasModel::class);
  15. $segundosDiarios = model(HorasModel::class)->getHoras(user()->idprestador);
  16. $segundosMensuales = $horasModel->getSegundosMensuales(user()->idprestador);
  17. $segundosTotal = array_reduce($segundosMensuales, function ($carry, $item) {
  18. return $carry + $item['segundos'];
  19. }, 0);
  20. $data = [
  21. 'segundosMensuales' => $segundosMensuales,
  22. 'horasTotales' => $segundosTotal / 3600,
  23. 'segundosDiarios' => $segundosDiarios,
  24. ];
  25. return view('Prestador/index', $data);
  26. }
  27. public function horas()
  28. {
  29. $data = [
  30. 'horas' => model(HorasModel::class)->getHoras(user()->idprestador),
  31. ];
  32. return view('Prestador/table', $data);
  33. }
  34. public function formulario()
  35. {
  36. $prestadorModel = new PrestadorSolicitudModel();
  37. // Guardar/actualizar registro
  38. if ($this->request->getMethod() === 'post') {
  39. $data = $this->request->getPost();
  40. // En caso de que se actualice el registro, se tiene que agregar el id
  41. if (user()->rh_prestador_solicitud_id) {
  42. $data['id'] = user()->rh_prestador_solicitud_id;
  43. }
  44. // Validar datos
  45. if (!$prestadorModel->save($data)) {
  46. return redirect()->back()->withInput()->with('errors', $prestadorModel->errors());
  47. }
  48. // Guardar id de prestador_solicitud en el registro del usuario (solo para nuevos registros, no actualizaciones)
  49. if (!user()->rh_prestador_solicitud_id) {
  50. $userModel = new UserModel();
  51. $userModel->update(user_id(), [
  52. 'rh_prestador_solicitud_id' => $prestadorModel->getInsertID()
  53. ]);
  54. }
  55. return view('Prestador/success');
  56. }
  57. $data = [
  58. 'email' => user()->email,
  59. 'escuelas' => model(EscuelaModel::class)->getEscuelas(),
  60. 'departamentos' => model(DepartamentoModel::class)->getDepartamentos(),
  61. 'datos' => $prestadorModel->getPrestadorSolicitud(user()->rh_prestador_solicitud_id),
  62. ];
  63. return view('Prestador/formulario_inicial', $data);
  64. }
  65. }