File: /var/www/html/digiesfera.sumar.com.py/gamificacion/routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Exports\EvidenciasExport;
use App\Exports\EvidenciasIndividualesExport;
use Maatwebsite\Excel\Facades\Excel;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
})->middleware('auth');
Route::get('/misiones', function () {
return view('paginas.misiones');
})->middleware('auth');
Route::get('/evidencias/create/{id}', [App\Http\Controllers\EvidenciaController::class, 'create'])->name('create')->middleware('auth');
Route::get('/evidencias/edit/{id}', [App\Http\Controllers\EvidenciaController::class, 'edit'])->name('edit')->middleware('auth');
Route::post('evidenciacreate', [App\Http\Controllers\EvidenciaController::class, 'evidenciacreate'])->name('evidenciacreate')->middleware('auth');
Route::post('evidenciaedit', [App\Http\Controllers\EvidenciaController::class, 'evidenciaedit'])->name('evidenciaedit')->middleware('auth');
Route::get('/aventura', function () {
return view('paginas.aventura');
})->middleware('auth');
Route::get('/calendario', function () {
return view('paginas.calendario');
})->middleware('auth');
Route::get('/equipo', function () {
return view('paginas.equipo');
})->middleware('auth');
Route::get('/ranking', function () {
return view('paginas.ranking');
})->middleware('auth');
Route::get('/puntaje', function () {
return view('paginas.puntaje');
})->middleware('auth');
Route::get('/reglamento', function () {
return view('paginas.reglamento');
})->middleware('auth');
Route::get('/transacciones', function () {
return view('paginas.transacciones');
})->middleware('auth');
Route::get('/reglamento/{id}', function ($id) {
return view('paginas.reglamentoshow',["id"=>$id]);
})->middleware('auth');
Route::get('/contacto', function () {
return view('paginas.contacto');
})->middleware('auth');
Route::get('/miperfil', function () {
return view('paginas.miperfil');
})->middleware('auth');
Route::get('/galeria', function () {
return view('paginas.galeria');
})->middleware('auth');
Route::get('/galeria/fotos/{id}', function ($id) {
return view('paginas.fotos',["album_id"=>$id]);
})->middleware('auth');
Route::get('/catalogo', function () {
return view('paginas.catalogo');
})->middleware('auth');
Route::get('/misionesindividuales', function () {
return view('paginas.misionesindividuales');
})->middleware('auth');
Route::get('/logros', function () {
return view('paginas.logros');
})->middleware('auth');
Route::get('/missolicitudes', function () {
return view('paginas.missolicitudes');
})->middleware('auth');
Route::resource('/admin/galeria', App\Http\Controllers\GaleriaController::class)->middleware('auth');
Route::get('/admin/galeria/fotos/{id}', function ($id) {
return view('admin.fotos.index',["album_id"=>$id]);
})->middleware('auth');
Route::post('fotos-upload', [App\Http\Controllers\GaleriaController::class, 'dropzoneFileUpload'] )->name('dropzoneFileUpload');
Route::post('contact', [App\Http\Controllers\EmailController::class, 'contact'])->name('contact')->middleware('auth');
Route::patch('/miperfil/{id}', [App\Http\Controllers\MatriculaController::class, 'updateperfil'])->name('perfilupdate')->middleware('auth');
Route::get('/admin/evidencias/{id}', [App\Http\Controllers\EvidenciaController::class, 'show'])->name('show')->middleware('auth');
// Ruta de slide
Route::resource('/admin/equipos', App\Http\Controllers\EquipoController::class)->middleware('auth');
Route::resource('/admin/matricula', App\Http\Controllers\MatriculaController::class)->middleware('auth');
Route::resource('/admin/misiones', App\Http\Controllers\MisionController::class)->middleware('auth');
Route::resource('/admin/evidencias', App\Http\Controllers\EvidenciaController::class)->middleware('auth');
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
Route::post('asignacion-import', [App\Http\Controllers\MatriculaController::class, 'asignacionImport'])->name('asignacion-import')->middleware('auth');
Route::post('puntos-import', [App\Http\Controllers\EvidenciaController::class, 'puntosimport'])->name('puntos-import')->middleware('auth');
Route::get('/admin/puntos', function () {
return view('admin.puntos.index');
})->middleware('auth');
Route::get('/admin/bandeja', function () {
return view('admin.bandeja.index');
})->middleware('auth');
Route::resource('/admin/catalogo', App\Http\Controllers\CatalogoController::class)->middleware('auth');
Route::resource('/admin/desafioindividual', App\Http\Controllers\DesafioindividualController::class)->middleware('auth');
Route::get('/evidenciaindividual/create/{id}', [App\Http\Controllers\EvidenciaindividualController::class, 'create'])->name('create')->middleware('auth');
Route::get('/evidenciaindividual/edit/{id}', [App\Http\Controllers\EvidenciaindividualController::class, 'evidenciaindividualedit'])->name('evidenciaindividualedit')->middleware('auth');
Route::post('evidenciaindividialcreate', [App\Http\Controllers\EvidenciaindividualController::class, 'evidenciaindividialcreate'])->name('evidenciaindividialcreate')->middleware('auth');
Route::post('evidenciaindividialedit', [App\Http\Controllers\EvidenciaindividualController::class, 'evidenciaindividialedit'])->name('evidenciaindividialedit')->middleware('auth');
Route::resource('/admin/evidenciaindividuales', App\Http\Controllers\EvidenciaindividualController::class)->middleware('auth');
Route::get('/admin/evidenciaindividuales/show/{id}', function ($id) {
return view('admin.evidenciaindividual.show2',["id"=>$id]);
})->middleware('auth');
Route::get('/admin/evidenciaindividuales/show/{mision_id}/{usuario_id}', function ($mision_id,$usuario_id) {
return view('admin.evidenciaindividual.show3',[
"mision_id"=>$mision_id,
"usuario_id"=>$usuario_id
]);
})->middleware('auth');
Route::post('monedas-import', [App\Http\Controllers\EvidenciaindividualController::class, 'monedasimport'])->name('monedas-import')->middleware('auth');
Route::get('/admin/monedapuntos', function () {
return view('admin.monedapuntos.index');
})->middleware('auth');
Route::post('enviarpedido', [App\Http\Controllers\CatalogoController::class, 'enviarpedido'])->name('enviarpedido')->middleware('auth');
Route::get('/admin/solicitudesadmin', function () {
return view('admin.solicitudesadmin.index');
})->middleware('auth');
Route::get('/admin/ranking/{name}', function ($name) {
return view('admin.ranking.index',["ranking"=>$name]);
})->middleware('auth')->where('name', '[A-Za-z]+');
Route::get('/admin/control', function () {
return view('admin.control.index');
})->middleware('auth');
Route::get('/admin/reglamentos', function () {
return view('admin.reglamentos.index');
})->middleware('auth');
Route::get('/admin/reglamentos/{id}', function ($id) {
return view('admin.reglamentos.show',["id"=>$id]);
})->middleware('auth');
Route::get('/admin/notificaciones', function () {
return view('admin.notificaciones.index');
})->middleware('auth');
Route::get('/admin/popup', function () {
return view('admin.popup.index');
})->middleware('auth');
Route::get('/admin/usuarios', function () {
return view('admin.usuarios.index');
})->middleware('auth');
Route::get('/admin/proveedores', function () {
return view('admin.proveedores.index');
})->middleware('auth');
Route::get('/admin/compras', function () {
return view('admin.compras.index');
})->middleware('auth');
Route::get('/admin/evidencias/exportar/{mision_id}-{equipo_id}', function ($mision_id, $equipo_id) {
return Excel::download(new EvidenciasExport($mision_id, $equipo_id), 'evidencias_mision_'.$mision_id.'.xlsx');
})->name('evidencias.exportar');
Route::get('/admin/evidenciaindividuales/exportar/{desafio_id}', function ($desafio_id) {
return Excel::download(new EvidenciasIndividualesExport($desafio_id), 'evidencias_individuales.xlsx');
})->name('evidenciaindividuales.exportar');
Route::get('/login/wordpress', function () {
return Socialite::driver('wordpress')->redirect();
});
Route::get('/login/wordpress/callback', function () {
$user = Socialite::driver('wordpress')->user();
// Buscar o crear usuario local
$localUser = \App\Models\User::firstOrCreate(
['external_id' => $user->getId()],
[
'name' => $user->getName(),
'email' => $user->getEmail() ?? $user->getNickname().'@sumar.com.py',
'password' => bcrypt(Str::random(16)), // password random
]
);
Auth::login($localUser, true); // Login automático
return redirect()->intended('/'); // Redirige a donde quieras
});
require __DIR__.'/auth.php';