<?php
    Route::get('/', ['uses' => 'Auth\LoginController@getLogin']);
    Route::post('login', 'Auth\LoginController@login')->name('login.post');
    Route::get('logout', 'Auth\LoginController@logout')->name('login.logout');

    Route::get('password/email', [ 'as' => 'password.request','uses' => 'Auth\ForgotPasswordController@showLinkRequestForm' ]);
    Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm');
    Route::post('password/email',  ['as' => 'password.email','uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail' ]);
    Route::post('password/reset/{token}', 'Auth\ResetPasswordController@reset')->name('password.reset');



Route::group(['middleware' => ['role:Administrador']],function() {
    //PrestamoConfiguracion
    Route::get('prestamos/configuracion', 'PrestamoController@configuracionIndex');//{RolID}
    Route::post('prestamos/configuracionrol/{id}', 'PrestamoController@configuracionPrestamoRol')->name('prestamo.rol');

});

Route::group(['middleware' => ['role:Administrador|Bibliotecario|Alumno|Profesor']],function() {
    //Historial Prestamp
    Route::get('historialprestamos', 'HistorialPrestamoController@getIndex');
    Route::get('prestamos/estado', 'HistorialPrestamoController@getPrestamoEstado');
    Route::get('prestamos/estados', 'HistorialPrestamoController@getPrestamosEstados');
    Route::get('reservar', 'ReservaController@getIndex');
    Route::get('detalle/bibliografia/{id}', 'ReservaController@getDetalle');
    Route::post('post/reserva', 'ReservaController@postReserva');
    Route::get('datos/reservar', 'ReservaController@getData')->name('datatable.reservas');
    Route::post('detalle/post/reserva', 'ReservaController@postReservaDetalle');
    Route::get('inicio', 'MainController@getIndex')->name('home');
    Route::get('bibliografia/descargar/{id}', 'BibliografiaController@descargar');
});

Route::group(['middleware' => ['role:Bibliotecario']],function() {
    Route::get('prestamos/validarbusquedaprestamo', 'PrestamoController@registrarPrestamo');
    Route::get('prestamos/validarbusquedaprestamo/{UsuarioID}', 'PrestamoController@registrosPrestamos');
    Route::post('prestamos/validarbusquedaprestamo', 'PrestamoController@validarBusquedaPrestamo')->name('busquedaprestamo');
    Route::get('prestamos/registrarprestamo/{ReservaID}', 'PrestamoController@registro');
    Route::post('prestamos/crear', 'PrestamoController@crearprestamo')->name('prestamos.registro');
});

Route::group(['middleware' => ['role:Administrador|Bibliotecario']],function(){
    //Gestión de registro de bibliografia
    Route::get('actualizarprestamo/{PrestamoID}', 'PrestamoController@actualizacionPrestamo');
    Route::get('prestamos/devolucion', 'PrestamoController@devolucionIndex');
    Route::post('validarbusqueda', 'PrestamoController@validarBusqueda')->name('busqueda');
    Route::get('registrodeDevolucion/{UsuarioID}', 'PrestamoController@devolucionLibro');


    Route::get('bibliografia', 'BibliografiaController@getIndex');
    Route::get('bibliografia/_detalle/{$BibliografiaId}', 'BibliografiaController@Detalle');
    Route::get('bibliografia/detalle/{BibliografiaId}', 'BibliografiaController@getDetalle');
    Route::get('bibliografia/crear', 'BibliografiaController@getCrearBilbiografia');
    Route::get('bibliografia/editar/{id}', 'BibliografiaController@getEditarBibliografia');
    Route::get('bibliografia/getautores', 'BibliografiaController@getAutores')->name('getautores');
    Route::get('ejemplar/crear', 'BibliografiaController@getCrearEjemplar');
    Route::get('ejemplar/editar', 'BibliografiaController@getEditarEjemplar');
    Route::post('bibliografia/crearbibliografia', 'BibliografiaController@CrearBibliografia')->name('bibliografia.crear');
    Route::post('bibliografia/editarbibliografia', 'BibliografiaController@EditarBibliografia')->name('bibliografia.editar');
    Route::post('bibliografia/eliminar', 'BibliografiaController@Eliminar')->name('bibliografia.eliminar');
    Route::post('bibliografia/CutterSanborn', 'BibliografiaController@postCutterSanborn');
    Route::post('ejemplar/eliminar', 'BibliografiaController@EliminarEjemplar');
    Route::post('ejemplar/crear', 'BibliografiaController@CrearEjemplar')->name('ejemplar.crear');
    Route::post('ejemplar/editar', 'BibliografiaController@EditarEjemplar')->name('ejemplar.editar');

    //Autores
    Route::get('autor', 'AutorController@getIndex');
    Route::get('autor/crear', 'AutorController@getCrear');
    Route::get('autor/editar', 'AutorController@getEditar');
    Route::post('autor/eliminar', 'AutorController@Eliminar');
    Route::post('autor/crear', 'AutorController@Crear')->name('autor.crear');
    Route::post('autor/editar', 'AutorController@Editar')->name('autor.editar');

    //CampoInvestigacion
    Route::get('campoinvestigacion', 'CampoInvestigacionController@Index');
    Route::get('campoinvestigacion/detalle/{CampoID}', 'CampoInvestigacionController@Detalle');
    Route::get('campoinvestigacion/eliminar/{CampoID}', 'CampoInvestigacionController@Eliminar');
    Route::post('campoinvestigacion/crear', 'CampoInvestigacionController@crearCampoInvestigacion')->name('campoinvestigacion.crear');
    Route::post('campoinvestigacion/actualizar', 'CampoInvestigacionController@Actualizar')->name('campoinvestigacion.actualizar');

    //Investigaciones
    Route::get('investigaciones', 'InvestigacionController@Index');
    Route::post('investigaciones/crear', 'InvestigacionController@crearInvestigacion')->name('investigacion.crear');
    Route::get('investigaciones/detalle/{InvestigacionID}', 'InvestigacionController@Detalle');
    Route::post('investigaciones/actualizar', 'InvestigacionController@Actualizar')->name('investigacion.actualizar');
    Route::get('investigaciones/eliminar/{InvestigacionID}', 'InvestigacionController@Eliminar');
    Route::get('investigaciones/pdf/{InvestigacionID}', 'InvestigacionController@enlacepdf')->name('investigacion.pdf');

    // Perdidas
    Route::get('perdidas', 'PerdidasController@perdidasIndex');
    Route::get('getcodcibliografia/{CodLibro}', 'PerdidasController@getCodLibro');

    Route::get('perdidas/cambiarestado/{perdidaID}', 'PerdidasController@cambiarEstado');

    Route::post('perdidas/crear', 'PerdidasController@crearPerdida')->name('perdida.crear');

    //DNI
    Route::get('getdniusuario/{dniUsuario}', 'PrestamoController@getDniUsuario');

    //Reportes
    Route::get('reporte/estadisticas', 'ReporteController@GetEstadisticasIndex');
    Route::get('reporte/bibliografiasciclomes', 'ReporteController@bibliografiasMasPrestadasCicloMes');
    Route::get('reporte/bibliografiascarrera', 'ReporteController@bibliografiasMasPrestadasPorCarrera');
    Route::get('reporte/reservasporpersona', 'ReporteController@Top10personasReservas');
    Route::get('reporte/prestamosxmesxanio', 'ReporteController@prestamosporanio');
    Route::get('reporte/reporteprestamosporaniomes', 'ReporteController@reporteprestamosporaniomes');
    Route::get('reporte/prestamos', 'ReporteController@getIndexReporte');
    Route::get('reporte/prestamosusuarios/{cicloAcademico}', 'ReporteController@prestamoUsuario');
    Route::get('reporte/prestamosbibliografia/{cicloAcademico}', 'ReporteController@prestamoBibliografia');
    Route::get('prestamobibliografia/detalle/{Cod_libro}', 'ReporteController@detallePrestamoBibliografia');
    Route::get('prestamousuario/detalle/{DNI}', 'ReporteController@detallePrestamoUsuario');
    Route::get('reporte/reservasprestamos', 'ReporteController@reservasvsprestamos');
    Route::get('reporte/reportedescargasporbibliografias', 'ReporteController@reportedescargasporbibliografias');
    Route::get('reporte/reportedescargasporinvestigaciones', 'ReporteController@reportedescargasporinvestigaciones');

});


