HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux Bradford-Sitios 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/dtw.bradford/routes/web.php
<?php

use App\Http\Controllers\ApiConnectionsController;
use App\Http\Controllers\ApiDocsController;
use App\Http\Controllers\BukIntegrationsController;
use App\Http\Controllers\Cron\BukController;
use App\Http\Controllers\Cron\FormulariosBfController;
use App\Http\Controllers\Cron\InventoryController;
use App\Http\Controllers\Cron\OdooController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\DataDictionaryController;
use App\Http\Controllers\FormulariosBfIntegrationsController;
use App\Http\Controllers\InventoryIntegrationsController;
use App\Http\Controllers\LoginController;
use App\Http\Controllers\MyProfileController;
use App\Http\Controllers\OdooIntegrationsController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\UploadDocumentsController;
use App\Http\Controllers\UsersController;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/

#PAGINA DE INICIO
Route::get('/', function () {
    return redirect()->route('dashboard');
});

#*********************************************#
#**************** ROUTES AUTH ****************#
#*********************************************#
#LOGIN ADMINISTRADOR
Route::get('/login', [LoginController::class, 'login'])->name('login');
Route::post('/login', [LoginController::class, 'login_validate'])->name('login-post');
#CAMBIO DE CONTRASEÑA ADMINISTRADOR
Route::get('/restablecer-contrasena', [LoginController::class, 'recovery_password'])->name('recovery-password');
Route::post('/restablecer-contrasena', [LoginController::class, 'recovery_password_validate'])->name('recovery-password-post');
Route::get('/restablecimiento-contrasena', [LoginController::class, 'restore_password'])->name('restore-password');
Route::post('/restablecimiento-contrasena', [LoginController::class, 'restore_password_validate'])->name('restore-password-post');
Route::get('/cambio-contrasena-requerido', [LoginController::class, 'change_password_required'])->name('change-password-required');
Route::post('/cambio-contrasena-requerido', [LoginController::class, 'change_password_required_validate'])->name('change-password-required-post');

Route::get('/confirmar-cuenta', [LoginController::class, 'confirm_account'])->name('confirm-account');
Route::get('/logout', [LoginController::class, 'logout'])->name('logout');

#REGISTRO
# Route::get('/registro', [RegisterController::class, 'register'])->name('register');
# Route::post('/registro', [RegisterController::class, 'register_validate'])->name('register-post');
Route::get('/generar-usuario', [RegisterController::class, 'su_register'])->name('generate-root');
Route::get('/sesion-finalizada', [LoginController::class, 'session_finish'])->name('session-finish');

#*********************************************#
#********** ROUTES API CONNECTIONS ***********#
#*********************************************#

Route::get('/dashboard/conexiones', [ApiConnectionsController::class, 'index'])->name('api-connections');
Route::get('/dashboard/conexiones/{id}/editar', [ApiConnectionsController::class, 'edit'])->name('api-connections-edit');
Route::post('/dashboard/conexiones/{id}/editar', [ApiConnectionsController::class, 'update'])->name('api-connections-update');
Route::post('/dashboard/conexiones/eliminar', [ApiConnectionsController::class, 'destroy'])->name('api-connections-delete');

#*********************************************#
#************* ROUTES MY PROFILE *************#
#*********************************************#

#MI PERFIL
Route::get('/dashboard/mi-perfil', [MyProfileController::class, 'profile_edit'])->name('profile');
Route::post('/dashboard/mi-perfil', [MyProfileController::class, 'profile_update'])->name('profile-post');
#MI PERFIL - CAMBIO DE CONTRASEÑA
Route::get('/dashboard/mi-perfil/cambiar-contrasena', [MyProfileController::class, 'change_password_edit'])->name('change-password');
Route::post('/dashboard/mi-perfil/cambiar-contrasena', [MyProfileController::class, 'change_password_update'])->name('change-password-post');

#DASHBOARD
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');

#*********************************************#
#*************** ROUTES USERS ****************#
#*********************************************#

Route::get('/dashboard/usuarios', [UsersController::class, 'index'])->name('users');
Route::get('/dashboard/usuarios/nuevo', [UsersController::class, 'create'])->name('user');
Route::post('/dashboard/usuarios/nuevo', [UsersController::class, 'store'])->name('user-store');
Route::get('/dashboard/usuarios/{id}/editar', [UsersController::class, 'edit'])->name('user-edit');
Route::post('/dashboard/usuarios/{id}/editar', [UsersController::class, 'update'])->name('user-update');
Route::post('/dashboard/usuarios/eliminar', [UsersController::class, 'destroy'])->name('user-delete');
Route::post('/dashboard/usuarios/restablecer-contrasena', [UsersController::class, 'restore_password'])->name('user-restore-password');
Route::post('/dashboard/usuarios/confirmar-cuenta', [UsersController::class, 'confirm_account'])->name('user-confirm-account');

#*********************************************#
#************* ROUTES PROFILES ***************#
#*********************************************#

Route::get('/dashboard/perfiles', [ProfileController ::class, 'index'])->name('profiles');
Route::get('/dashboard/perfiles/nuevo', [ProfileController::class, 'create'])->name('profile-create');
Route::post('/dashboard/perfiles/nuevo', [ProfileController::class, 'store'])->name('profile-store');
Route::get('/dashboard/perfiles/{id}/editar', [ProfileController::class, 'edit'])->name('profile-edit');
Route::post('/dashboard/perfiles/{id}/editar', [ProfileController::class, 'update'])->name('profile-update');
Route::get('/dashboard/perfiles/{id}/asignar-permisos', [ProfileController::class, 'edit_permission'])->name('profile-edit-permission');
Route::post('/dashboard/perfiles/{id}/asignar-permisos', [ProfileController::class, 'update_permission'])->name('profile-update-permission');
Route::post('/dashboard/perfiles/eliminar', [ProfileController::class, 'destroy'])->name('profile-delete');

#*********************************************#
#************* ROUTES API DOCS ***************#
#*********************************************#
Route::get('/dashboard/documentacion-api', [ApiDocsController::class, 'index'])->name('api-docs');

#*********************************************#
#********* ROUTES DATA DICTIONARY ************#
#*********************************************#
Route::get('/dashboard/diccionario-datos', [DataDictionaryController::class, 'index'])->name('data-dictionary');

#*********************************************#
#************* ROUTES UPLOADS ****************#
#*********************************************#
Route::get('/dashboard/cargas-documentos', [UploadDocumentsController::class, 'index'])->name('upload-documents');
Route::get('/dashboard/cargas-documentos/nueva', [UploadDocumentsController::class, 'create'])->name('upload-documents-create');
Route::post('/dashboard/cargas-documentos/nueva', [UploadDocumentsController::class, 'store'])->name('upload-documents-store');
Route::get('/dashboard/cargas-documentos/{id}/detalle', [UploadDocumentsController::class, 'detail'])->name('upload-documents-detail');

#*********************************************#
#*************** ROUTES BUK ******************#
#*********************************************#
// Route::get('/dashboard/integraciones/buk', [BukIntegrationsController::class, 'index'])->name('integrations-buk');
// Route::get('/dashboard/integraciones/buk/{id}/detalle', [BukIntegrationsController::class, 'detail'])->name('integrations-buk-detail');

#*********************************************#
#************ ROUTES INVENTORY ***************#
#*********************************************#
Route::get('/dashboard/integraciones/inventory', [InventoryIntegrationsController::class, 'index'])->name('integrations-inventory');
Route::get('/dashboard/integraciones/inventory/{id}/detalle', [InventoryIntegrationsController::class, 'detail'])->name('integrations-inventory-detail');

#*********************************************#
#************** ROUTES ODOO ******************#
#*********************************************#
Route::get('/dashboard/integraciones/odoo', [OdooIntegrationsController::class, 'index'])->name('integrations-odoo');
Route::get('/dashboard/integraciones/odoo/{id}/detalle', [OdooIntegrationsController::class, 'detail'])->name('integrations-odoo-detail');

#*********************************************#
#********** ROUTES FORMULARIOS ***************#
#*********************************************#
Route::get('/dashboard/integraciones/formularios-bf', [FormulariosBfIntegrationsController::class, 'index'])->name('integrations-formularios-bf');
Route::get('/dashboard/integraciones/formularios-bf/{id}/detalle', [FormulariosBfIntegrationsController::class, 'detail'])->name('integrations-formularios-bf-detail');

#*********************************************#
#*************** ODOO CRONS ******************#
#*********************************************#
// Route::get('/crons/odoo/sincronizar-purchase-orders', [OdooController::class, 'sync_purchase_orders']);
// Route::get('/crons/odoo/sincronizar-purchase-orders-lines', [OdooController::class, 'sync_purchase_order_lines']);
// Route::get('/crons/odoo/sincronizar-stock-quant', [OdooController::class, 'sync_stock_quant']);
// Route::get('/crons/odoo/sincronizar-product-product', [OdooController::class, 'sync_product_product']);
// Route::get('/crons/odoo/sincronizar-account-move', [OdooController::class, 'sync_account_move']);
// Route::get('/crons/odoo/sincronizar-account-move-line', [OdooController::class, 'sync_account_move_line']);
// Route::get('/crons/odoo/sincronizar-partners', [OdooController::class, 'sync_partners']);
// Route::get('/crons/odoo/sincronizar-partners-category', [OdooController::class, 'sync_partners_category']);
// Route::get('/crons/odoo/sincronizar-partners-relations', [OdooController::class, 'sync_partners_relations']);
#*********************************************#
#*************** BUK CRONS ******************#
#*********************************************#
// Route::get('/crons/buk/sincronizar-cargos', [BukController::class, 'sync_roles']);
#*********************************************#
#************ INVENTORY CRONS ****************#
#*********************************************#
// Route::get('/crons/inventory/sincronizar-proveedores', [InventoryController::class, 'sync_providers']);
// Route::get('/crons/inventory/sincronizar-facturas', [InventoryController::class, 'sync_invoices']);
// Route::get('/crons/inventory/sincronizar-orders', [InventoryController::class, 'sync_orders']);
// Route::get('/crons/inventory/sincronizar-purchase-orders-detail', [InventoryController::class, 'sync_purchase_orders_detail']);
// Route::get('/crons/inventory/sincronizar-inventories', [InventoryController::class, 'sync_inventories']);
// Route::get('/crons/inventory/sincronizar-purchase-orders', [InventoryController::class, 'sync_purchase_orders']);
#*********************************************#
#*********** FORMULARIOS CRONS ***************#
#*********************************************#
// Route::get('/crons/formularios/sincronizar-requests', [FormulariosBfController::class, 'sync_requests']);

Route::get('/clear-cache', function () {
    Artisan::call('cache:clear');
});