Skip to main content

Overview

This document provides a comprehensive reference of all web routes in the Sistema de Abogados application. Routes are organized by feature area and include authentication, role-based access control, and resource management.
All routes require authentication via the auth middleware unless otherwise specified. Many routes also implement role-based access control using the role middleware.

Dashboard Routes

Prefix: /dashboard
Middleware: auth, verified
Route Name Prefix: dashboard
MethodURIRoute NameControllerDescription
GET/dashboarddashboardindexController@dashboardMain dashboard view
GET/dashboarddashboardindexController@dashCalendarDashboard calendar view
Route::middleware(['auth', 'verified'])->name('dashboard')->prefix('dashboard')->group(function() {
    Route::get('/', [indexController::class, 'dashboard']);
    Route::get('/', [indexController::class, 'dashCalendar']);
});

Admin Routes

Prefix: /admin
Middleware: auth, role:admin
Route Name Prefix: admin.
All admin routes are restricted to users with the admin role. Unauthorized access will be denied.
MethodURIRoute NameControllerDescription
GET/adminadmin.indexIndexController@indexAdmin panel homepage
MethodURIRoute NameControllerDescription
GET/admin/rolesadmin.roles.indexRoleController@indexList all roles
GET/admin/roles/createadmin.roles.createRoleController@createCreate role form
POST/admin/rolesadmin.roles.storeRoleController@storeStore new role
GET/admin/roles/{role}admin.roles.showRoleController@showShow role details
GET/admin/roles/{role}/editadmin.roles.editRoleController@editEdit role form
PUT/PATCH/admin/roles/{role}admin.roles.updateRoleController@updateUpdate role
DELETE/admin/roles/{role}admin.roles.destroyRoleController@destroyDelete role
POST/admin/roles/{role}/permissionsadmin.roles.permissionsRoleController@givePermissionAssign permission to role
DELETE/admin/roles/{role}/permissions/{permission}admin.roles.permissions.revokeRoleController@revokePermissionRevoke permission from role
Route::resource('/roles', RoleController::class);
Route::post('/roles/{role}/permissions', [RoleController::class, 'givePermission'])->name('roles.permissions');
Route::delete('/roles/{role}/permissions/{permission}', [RoleController::class, 'revokePermission'])->name('roles.permissions.revoke');
MethodURIRoute NameControllerDescription
GET/admin/permissionsadmin.permissions.indexPermissionController@indexList all permissions
GET/admin/permissions/createadmin.permissions.createPermissionController@createCreate permission form
POST/admin/permissionsadmin.permissions.storePermissionController@storeStore new permission
GET/admin/permissions/{permission}admin.permissions.showPermissionController@showShow permission details
GET/admin/permissions/{permission}/editadmin.permissions.editPermissionController@editEdit permission form
PUT/PATCH/admin/permissions/{permission}admin.permissions.updatePermissionController@updateUpdate permission
DELETE/admin/permissions/{permission}admin.permissions.destroyPermissionController@destroyDelete permission
POST/admin/permissions/{permission}/rolesadmin.permissions.rolesPermissionController@assignRoleAssign role to permission
DELETE/admin/permissions/{permission}/roles/{role}admin.permissions.roles.removePermissionController@removeRoleRemove role from permission
Route::resource('/permissions', PermissionController::class);
Route::post('/permissions/{permission}/roles', [PermissionController::class, 'assignRole'])->name('permissions.roles');
Route::delete('/permissions/{permission}/roles/{role}', [PermissionController::class, 'removeRole'])->name('permissions.roles.remove');
MethodURIRoute NameControllerDescription
GET/admin/usersadmin.users.indexUserController@indexList all users
GET/admin/users/createadmin.users.createUserController@createCreate user form
POST/admin/usersadmin.users.storeUserController@storeStore new user
GET/admin/users/{user}admin.users.showUserController@showShow user details
GET/admin/users/{user}/editadmin.users.editUserController@editEdit user form
PUT/PATCH/admin/users/{user}admin.users.updateUserController@updateUpdate user
DELETE/admin/users/{user}admin.users.destroyUserController@destroyDelete user
POST/admin/users/{user}/rolesadmin.users.rolesUserController@assignRoleAssign role to user
DELETE/admin/users/{user}/roles/{role}admin.users.roles.removeUserController@removeRoleRemove role from user
POST/admin/users/{user}/permissionsadmin.users.permissionsUserController@givePermissionGive permission to user
DELETE/admin/users/{user}/permissions/{permission}admin.users.permissions.revokeUserController@revokePermissionRevoke permission from user
Route::resource('/users', UserController::class);
Route::post('/users/{user}/roles', [UserController::class, 'assignRole'])->name('users.roles');
Route::delete('/users/{user}/roles/{role}', [UserController::class, 'removeRole'])->name('users.roles.remove');
Route::post('/users/{user}/permissions', [UserController::class, 'givePermission'])->name('users.permissions');
Route::delete('/users/{user}/permissions/{permission}', [UserController::class, 'revokePermission'])->name('users.permissions.revoke');

Cliente Routes

Prefix: /clientes
Middleware: auth, role:encargado|admin|asistente|abogado
Route Name Prefix: clientes.
Restricted to users with roles: encargado, admin, asistente, or abogado
MethodURIRoute NameControllerDescription
GET/clientesclientes.indexClienteController@indexList all clients
GET/clientes/createclientes.createClienteController@createCreate client form
POST/clientesclientes.storeClienteController@storeStore new client
GET/clientes/{cliente}clientes.clientes.showClienteController@showShow client details
GET/clientes/{cliente}/editclientes.clientes.editClienteController@editEdit client form
PUT/PATCH/clientes/{cliente}clientes.clientes.updateClienteController@updateUpdate client
DELETE/clientes/{cliente}clientes.clientes.destroyClienteController@destroyDelete client
GET/clientes/searchclientes.searchClienteController@searchSearch clients
Route::middleware(['auth', 'role:encargado|admin|asistente|abogado'])->name('clientes.')->prefix('clientes')->group(function() {
    Route::resource('/', ClienteController::class);
    Route::get('/search', [ClienteController::class, 'search'])->name('search');
});

Conciliacion Routes

Prefix: /conciliacion
Middleware: auth, role:encargado|admin|asistente
Route Name Prefix: conciliacion.
Restricted to users with roles: encargado, admin, or asistente
MethodURIRoute NameControllerDescription
GET/conciliacion/submateriasconciliacion.submaterias.indexSubmateriaController@indexList all submaterias
GET/conciliacion/submaterias/createconciliacion.submaterias.createSubmateriaController@createCreate submateria form
POST/conciliacion/submateriasconciliacion.submaterias.storeSubmateriaController@storeStore new submateria
GET/conciliacion/submaterias/{submateria}conciliacion.submaterias.showSubmateriaController@showShow submateria details
GET/conciliacion/submaterias/{submateria}/editconciliacion.submaterias.editSubmateriaController@editEdit submateria form
PUT/PATCH/conciliacion/submaterias/{submateria}conciliacion.submaterias.updateSubmateriaController@updateUpdate submateria
DELETE/conciliacion/submaterias/{submateria}conciliacion.submaterias.destroySubmateriaController@destroyDelete submateria
MethodURIRoute NameControllerDescription
GET/conciliacion/invitadoconciliacion.invitado.indexInvitadoConciliacionController@indexList all invitados
GET/conciliacion/invitado/createconciliacion.invitado.createInvitadoConciliacionController@createCreate invitado form
POST/conciliacion/invitadoconciliacion.invitado.storeInvitadoConciliacionController@storeStore new invitado
GET/conciliacion/invitado/{invitado}conciliacion.invitado.showInvitadoConciliacionController@showShow invitado details
GET/conciliacion/invitado/{invitado}/editconciliacion.invitado.editInvitadoConciliacionController@editEdit invitado form
PUT/PATCH/conciliacion/invitado/{invitado}conciliacion.invitado.updateInvitadoConciliacionController@updateUpdate invitado
DELETE/conciliacion/invitado/{invitado}conciliacion.invitado.destroyInvitadoConciliacionController@destroyDelete invitado
MethodURIRoute NameControllerDescription
GET/conciliacion/conciliadorconciliacion.conciliador.indexConciliadorController@indexList all conciliadores
GET/conciliacion/conciliador/createconciliacion.conciliador.createConciliadorController@createCreate conciliador form
POST/conciliacion/conciliadorconciliacion.conciliador.storeConciliadorController@storeStore new conciliador
GET/conciliacion/conciliador/{conciliador}conciliacion.conciliador.showConciliadorController@showShow conciliador details
GET/conciliacion/conciliador/{conciliador}/editconciliacion.conciliador.editConciliadorController@editEdit conciliador form
PUT/PATCH/conciliacion/conciliador/{conciliador}conciliacion.conciliador.updateConciliadorController@updateUpdate conciliador
DELETE/conciliacion/conciliador/{conciliador}conciliacion.conciliador.destroyConciliadorController@destroyDelete conciliador
Route::resource('/conciliador', ConciliadorController::class);
MethodURIRoute NameControllerDescription
GET/conciliacion/expedienteconciliacion.expediente.indexExpedienteController@indexList all expedientes
GET/conciliacion/expediente/createconciliacion.expediente.createExpedienteController@createCreate expediente form
POST/conciliacion/expedienteconciliacion.expediente.storeExpedienteController@storeStore new expediente
GET/conciliacion/expediente/{expediente}conciliacion.expediente.showExpedienteController@showShow expediente details
GET/conciliacion/expediente/{expediente}/editconciliacion.expediente.editExpedienteController@editEdit expediente form
PUT/PATCH/conciliacion/expediente/{expediente}conciliacion.expediente.updateExpedienteController@updateUpdate expediente
DELETE/conciliacion/expediente/{expediente}conciliacion.expediente.destroyExpedienteController@destroyDelete expediente
Submateria Assignment:
MethodURIRoute NameControllerDescription
POST/conciliacion/expediente/{expediente}/submateriasconciliacion.expediente.submateriasExpedienteController@assignSubmateriaAssign submateria to expediente
DELETE/conciliacion/expediente/submaterias/{ex_submateria}conciliacion.expediente.submaterias.removeExpedienteController@removeSubmateriaRemove submateria from expediente
Invitado Assignment:
MethodURIRoute NameControllerDescription
POST/conciliacion/expediente/{expediente}/invitadosconciliacion.expediente.invitadosExpedienteController@assignInvitadoAssign invitado to expediente
DELETE/conciliacion/expediente/invitados/{ex_invitado}conciliacion.expediente.invitados.removeExpedienteController@removeInvitadoRemove invitado from expediente
Conciliador Assignment:
MethodURIRoute NameControllerDescription
POST/conciliacion/expediente/{expediente}/conciliadoresconciliacion.expediente.conciliadoresExpedienteController@assignConciliadorAssign conciliador to expediente
DELETE/conciliacion/expediente/conciliadores/{ex_conciliador}conciliacion.expediente.conciliadores.removeExpedienteController@removeConciliadorRemove conciliador from expediente
MethodURIRoute NameControllerDescription
GET/conciliacion/expediente/{expediente}/fileconciliacion.expediente.file.createExpedienteDocumentosController@createCreate document form
POST/conciliacion/expediente/{expediente}conciliacion.expediente.file.storeExpedienteDocumentosController@storeUpload document
GET/conciliacion/expediente/file/{file}/editconciliacion.expediente.file.editExpedienteDocumentosController@editEdit document form
PUT/PATCH/conciliacion/expediente/{file}/fileconciliacion.expediente.file.updateExpedienteDocumentosController@updateUpdate document
DELETE/conciliacion/expediente/{expediente}/fileconciliacion.expediente.file.destroyExpedienteDocumentosController@destroyDelete document
GET/conciliacion/expediente/file/download/{file}conciliacion.expediente.file.downloadExpedienteDocumentosController@downloadDownload document
GET/conciliacion/expediente/file/{file}conciliacion.expediente.file.viewExpedienteDocumentosController@viewView document
Route::get('/expediente/{expediente}/file', [ExpedienteDocumentosController::class, 'create'])->name('expediente.file.create');
Route::post('/expediente/{expediente}', [ExpedienteDocumentosController::class, 'store'])->name('expediente.file.store');
Route::delete('/expediente/{expediente}/file', [ExpedienteDocumentosController::class, 'destroy'])->name('expediente.file.destroy');
Route::get('/expediente/file/download/{file}', [ExpedienteDocumentosController::class, 'download'])->name('expediente.file.download');

Caso Routes

Prefix: /caso
Middleware: auth, role:encargado|admin|abogado
Route Name Prefix: caso.
Restricted to users with roles: encargado, admin, or abogado
MethodURIRoute NameControllerDescription
GET/caso/casocaso.caso.indexCasosController@indexList all casos
GET/caso/caso/createcaso.caso.createCasosController@createCreate caso form
POST/caso/casocaso.caso.storeCasosController@storeStore new caso
GET/caso/caso/{caso}caso.caso.showCasosController@showShow caso details
GET/caso/caso/{caso}/editcaso.caso.editCasosController@editEdit caso form
PUT/PATCH/caso/caso/{caso}caso.caso.updateCasosController@updateUpdate caso
DELETE/caso/caso/{caso}caso.caso.destroyCasosController@destroyDelete caso
Proceso Assignment:
MethodURIRoute NameControllerDescription
POST/caso/caso/{caso}/procesoscaso.caso.procesoCasosController@assignProcesoAssign proceso to caso
DELETE/caso/caso/procesos/{cas_proceso}caso.caso.proceso.removeCasosController@removeProcesoRemove proceso from caso
Parte Contraria Assignment:
MethodURIRoute NameControllerDescription
POST/caso/caso/{caso}/p_contrariascaso.caso.p_contrariasCasosController@assignPContrariaAssign parte contraria to caso
DELETE/caso/caso/p_contrarias/{cas_contraria}caso.caso.p_contrarias.removeCasosController@removePContrariaRemove parte contraria from caso
Route::resource('/caso', CasosController::class);
Route::post('/caso/{caso}/procesos', [CasosController::class, 'assignProceso'])->name('caso.proceso');
Route::post('/caso/{caso}/p_contrarias', [CasosController::class, 'assignPContraria'])->name('caso.p_contrarias');
MethodURIRoute NameControllerDescription
GET/caso/caso/{caso}/filecaso.caso.file.createCasoDocumentoController@createCreate document form
POST/caso/caso/{caso}caso.caso.file.storeCasoDocumentoController@storeUpload document
GET/caso/caso/file/{file}/editcaso.caso.file.editCasoDocumentoController@editEdit document form
PUT/PATCH/caso/caso/{file}/filecaso.caso.file.updateCasoDocumentoController@updateUpdate document
DELETE/caso/caso/{caso}/filecaso.caso.file.destroyCasoDocumentoController@destroyDelete document
GET/caso/caso/file/download/{file}caso.caso.file.downloadCasoDocumentoController@downloadDownload document
GET/caso/caso/file/{file}caso.caso.file.viewCasoDocumentoController@viewView document
MethodURIRoute NameControllerDescription
GET/caso/tipoProcesocaso.tipoProceso.indexTipoProcesoController@indexList all tipo procesos
GET/caso/tipoProceso/createcaso.tipoProceso.createTipoProcesoController@createCreate tipo proceso form
POST/caso/tipoProcesocaso.tipoProceso.storeTipoProcesoController@storeStore new tipo proceso
GET/caso/tipoProceso/{tipoProceso}caso.tipoProceso.showTipoProcesoController@showShow tipo proceso details
GET/caso/tipoProceso/{tipoProceso}/editcaso.tipoProceso.editTipoProcesoController@editEdit tipo proceso form
PUT/PATCH/caso/tipoProceso/{tipoProceso}caso.tipoProceso.updateTipoProcesoController@updateUpdate tipo proceso
DELETE/caso/tipoProceso/{tipoProceso}caso.tipoProceso.destroyTipoProcesoController@destroyDelete tipo proceso
MethodURIRoute NameControllerDescription
GET/caso/parteContrariacaso.parteContraria.indexParteContrariaController@indexList all partes contrarias
GET/caso/parteContraria/createcaso.parteContraria.createParteContrariaController@createCreate parte contraria form
POST/caso/parteContrariacaso.parteContraria.storeParteContrariaController@storeStore new parte contraria
GET/caso/parteContraria/{parteContraria}caso.parteContraria.showParteContrariaController@showShow parte contraria details
GET/caso/parteContraria/{parteContraria}/editcaso.parteContraria.editParteContrariaController@editEdit parte contraria form
PUT/PATCH/caso/parteContraria/{parteContraria}caso.parteContraria.updateParteContrariaController@updateUpdate parte contraria
DELETE/caso/parteContraria/{parteContraria}caso.parteContraria.destroyParteContrariaController@destroyDelete parte contraria

Agenda Routes

Prefix: /agenda
Route Name Prefix: agenda.
Middleware: auth, verified
MethodURIRoute NameControllerDescription
GET/agenda/calendaragenda.calendar.indexCalendarController@indexCalendar view
Route::middleware(['auth', 'verified'])->name('agenda.')->prefix('agenda')->group(function() {
    Route::get('/calendar', [CalendarController::class, 'index'])->name('calendar.index');
});
Middleware: auth, verified
MethodURIRoute NameControllerDescription
GET/agenda/actividadagenda.actividad.indexActividadController@indexList all activities
GET/agenda/actividad/createagenda.actividad.createActividadController@createCreate activity form
POST/agenda/actividadagenda.actividad.storeActividadController@storeStore new activity
GET/agenda/actividad/{actividades}agenda.actividad.showActividadController@showShow activity details
GET/agenda/actividad/{actividades}/editagenda.agenda.actividad.editActividadController@editEdit activity form
PUT/PATCH/agenda/actividad/{actividades}agenda.agenda.actividad.updateActividadController@updateUpdate activity
DELETE/agenda/actividad/{actividades}agenda.agenda.actividad.destroyActividadController@destroyDelete activity
Middleware: auth, role:encargado|admin|asistente
Restricted to users with roles: encargado, admin, or asistente
MethodURIRoute NameControllerDescription
GET/agenda/actividadConciliacionagenda.actividadConciliacion.indexActividadConciliacionController@indexList conciliacion activities
GET/agenda/actividadConciliacion/createagenda.actividadConciliacion.createActividadConciliacionController@createCreate conciliacion activity form
POST/agenda/actividadConciliacionagenda.actividadConciliacion.storeActividadConciliacionController@storeStore new conciliacion activity
GET/agenda/actividadConciliacion/{con_actividad}agenda.actividadConciliacion.showActividadConciliacionController@showShow conciliacion activity
GET/agenda/actividadConciliacion/{con_actividad}/editagenda.agenda.actividadConciliacion.editActividadConciliacionController@editEdit conciliacion activity form
PUT/PATCH/agenda/actividadConciliacion/{con_actividad}agenda.agenda.actividadConciliacion.updateActividadConciliacionController@updateUpdate conciliacion activity
DELETE/agenda/actividadConciliacion/{con_actividad}agenda.agenda.actividadConciliacion.destroyActividadConciliacionController@destroyDelete conciliacion activity
Route::middleware(['auth', 'role:encargado|admin|asistente'])->name('agenda.')->prefix('agenda')->group(function() {
    Route::resource('/actividadConciliacion', ActividadConciliacionController::class);
});
Middleware: auth, role:encargado|admin|abogado
Restricted to users with roles: encargado, admin, or abogado
MethodURIRoute NameControllerDescription
GET/agenda/actividadCasoagenda.actividadCaso.indexActividadCasoController@indexList caso activities
GET/agenda/actividadCaso/createagenda.actividadCaso.createActividadCasoController@createCreate caso activity form
POST/agenda/actividadCasoagenda.actividadCaso.storeActividadCasoController@storeStore new caso activity
GET/agenda/actividadCaso/{cas_actividad}agenda.actividadCaso.showActividadCasoController@showShow caso activity
GET/agenda/actividadCaso/{cas_actividad}/editagenda.agenda.actividadCaso.editActividadCasoController@editEdit caso activity form
PUT/PATCH/agenda/actividadCaso/{cas_actividad}agenda.agenda.actividadCaso.updateActividadCasoController@updateUpdate caso activity
DELETE/agenda/actividadCaso/{cas_actividad}agenda.agenda.actividadCaso.destroyActividadCasoController@destroyDelete caso activity

Profile Routes

Middleware: auth
Route Name Prefix: profile.
MethodURIRoute NameControllerDescription
GET/profileprofile.editProfileController@editEdit profile form
PATCH/profileprofile.updateProfileController@updateUpdate profile
DELETE/profileprofile.destroyProfileController@destroyDelete profile
Route::middleware('auth')->group(function () {
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});

Root Route

MethodURIDescription
GET/Returns login view
Route::get('/', function () {
    return view('login');
});

Middleware Reference

auth

Requires user authentication. Redirects to login if not authenticated.

verified

Requires email verification. Redirects to email verification notice if not verified.

role

Restricts access based on user roles. Multiple roles can be specified using pipe separator (e.g., role:admin|encargado).

guest

Only allows unauthenticated users. Used for login/registration routes.

Role Hierarchy

The application uses the following roles:
  • admin - Full system access including user and role management
  • encargado - Access to casos, conciliacion, and clientes
  • abogado - Access to casos and clientes
  • asistente - Access to conciliacion and clientes
Use the route helper route('route.name', ['param' => 'value']) to generate URLs for these routes in your application.

Build docs developers (and LLMs) love