<?php
use App\Helpers\NotifWa;
use App\Http\Controllers\Admin\InstrukturController;
use App\Http\Controllers\Admin\PelatihanController;
use App\Http\Controllers\Admin\PendaftaranController;
use App\Http\Controllers\Admin\PesertaController;
use App\Http\Controllers\Admin\UserController;
use App\Http\Controllers\AjaxController;
use App\Http\Controllers\Auth\RegisteredUserController;
use App\Http\Controllers\CekSertifikatController;
use App\Http\Controllers\CronjobController;
use App\Http\Controllers\Front\CourseController;
use App\Http\Controllers\DashboardCotroller;
use App\Http\Controllers\Admin\JuknisPelatihanController;
use App\Http\Controllers\FrontJuknisPelatihanController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\StorageController;
use App\Http\Controllers\WelcomeController;
use App\Imports\PesertasImport;
use App\Models\PelatihanPeserta;
use App\Models\Peserta;
use App\Models\User;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage;
use Inertia\Inertia;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Facades\DB;
/*
|--------------------------------------------------------------------------
| 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('/test', function () {
if (!request()->okoc == "1234") {
return "okoc";
}
$files = Storage::allFiles("jawaban-google-form");
foreach ($files as $file) {
if (str_contains($file, ".xlsx") && !str_contains($file, "~$")) {
$model = new PesertasImport();
$model->fileName = $file;
try {
Excel::import($model, $file);
} catch (\Throwable $th) {
dd($file, $th);
}
}
}
});
Route::get('/test-wa', function () {
return NotifWa::send("081545419859", "Test Talent");
});
Route::get('/duplicate-peserta', function () {
// $duplicateRecords = Peserta::selectRaw('pesertas.id,count(`nik`) as `my_nik`,pesertas.nik,pesertas.nama_lengkap')
// ->whereNotNull('nik')
// ->where('nik','!=','')
// ->groupBy('nik')
// ->having('my_nik', '>', 1)
// ->get();
$duplicateRecords = Peserta::whereDate('created_at','2025-02-09')->count();
return $duplicateRecords;
});
Route::get('/fix-peserta-pelatihan', function () {
$datas = PelatihanPeserta::has('user')->where('peserta_id', null)->get();
foreach ($datas as $data) {
$peserta = Peserta::where('user_id', $data->user_id)->first();
if ($peserta) {
$data->peserta_id = $peserta->id;
$data->save();
}
}
return $datas;
});
Route::get('/migrate', function () {
if (!request()->okoc == "1234") {
return "okoc";
}
return Artisan::call('migrate');
});
Route::get('/seed', function () {
if (!request()->okoc == "1234") {
return "okoc";
}
return Artisan::call('db:seed');
});
Route::get('/optimize', function () {
if (!request()->okoc == "1234") {
return "okoc";
}
return Artisan::call('optimize:clear');
});
Route::get('/clean-user', function () {
if (!request()->okoc == "1234") {
return "okoc";
}
$users = User::where('role', 'peserta')->doesntHave('peserta')->delete();
return $users;
});
Route::get('/', [WelcomeController::class, 'index'])->name('welcome');
Route::get('/juknis-pelatihan', [FrontJuknisPelatihanController::class, 'index'])->name('juknis-pelatihan.index');
Route::get('/juknis-pelatihan/{id}', [FrontJuknisPelatihanController::class, 'download'])->name('juknis-pelatihan.download');
Route::get("register/ajax-data/{type}", [RegisteredUserController::class, 'ajaxData'])->name('register.ajax-data');
Route::get('/course', [CourseController::class, 'index'])->name('course.index');
Route::get('/course/{id}', [CourseController::class, 'show'])->name('course.show');
Route::get('course-thumbnail/{id}', [CourseController::class, 'courseThumbnail'])->name('course.thumbnail');
Route::get('/cek-sertifikat', [CekSertifikatController::class, 'index'])->name('cek-sertifikat.index');
Route::get("cron-job/check-status-peserta", [CronjobController::class, 'checkStatusPeserta'])->name('cron-job.check-status-peserta');
Route::group(['middleware' => ['auth']], function () {
Route::post('/course/{id}/join', [CourseController::class, 'join'])->name('course.join');
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::post('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::post("kirim-tugas", [DashboardCotroller::class, 'kirimTugas'])->name('kirim-tugas');
Route::get("ajax-wilayah/{type}", [AjaxController::class, 'ajaxWilayah'])->name('ajax-wilayah');
Route::get('/my-avatar', [ProfileController::class, 'myAvatar'])->name('my-avatar');
Route::get('/dashboard', [DashboardCotroller::class, 'index'])->name('dashboard');
Route::get("storage/images", [StorageController::class, 'images'])->name('storage.images');
Route::get("storage/file", [StorageController::class, 'file'])->name('storage.file');
Route::get('pelatihan', [\App\Http\Controllers\Peserta\PelatihanController::class, 'index'])->name('pelatihan.index');
Route::get('pelatihan/{id}', [\App\Http\Controllers\Peserta\PelatihanController::class, 'show'])->name('pelatihan.show');
Route::post('pelatihan-peserta/{id}/review', [\App\Http\Controllers\Peserta\PelatihanController::class, 'review'])->name('pelatihan-peserta.review');
Route::get('tugas', [\App\Http\Controllers\Peserta\TugasController::class, 'index'])->name('tugas.index');
Route::get('tugas/{id}', [\App\Http\Controllers\Peserta\TugasController::class, 'show'])->name('tugas.show');
Route::get('jadwal', [\App\Http\Controllers\Peserta\JadwalController::class, 'index'])->name('jadwal.index');
Route::get('sertifikat', [\App\Http\Controllers\Peserta\SertifikatController::class, 'index'])->name('sertifikat.index');
Route::get('sertifikat/{id}/print', [\App\Http\Controllers\Peserta\SertifikatController::class, 'print'])->name('sertifikat.print');
Route::group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['role:admin,instruktur']], function () {
Route::resource('pelatihan', PelatihanController::class);
Route::get('pelatihan/absensi/{pelatihan_jadwal_id}', [PelatihanController::class, 'absensi'])->name('pelatihan.absensi');
Route::post('pelatihan/absensi/{pelatihan_jadwal_id}', [PelatihanController::class, 'simpanAbsensi'])->name('pelatihan.simpan-absensi');
Route::get('pelatihan/absensi/{pelatihan_jadwal_id}/print', [PelatihanController::class, 'printAbsensi'])->name('pelatihan.absensi.print');
Route::get('pelatihan/{pelatihan_id}/print-sertifikat', [PelatihanController::class, 'printSertifikat'])->name('pelatihan.print-sertifikat');
Route::get('pelatihan/tugas/{pelatihan_id}', [PelatihanController::class, 'tugas'])->name('pelatihan.tugas');
Route::get('pelatihan/export-peserta/{pelatihan_id}', [PelatihanController::class, 'exportPeserta'])->name('pelatihan.export-peserta');
Route::post('pelatihan/tugas/approve/{id}', [PelatihanController::class, 'approveTugas'])->name('pelatihan.tugas.approve');
Route::post('pelatihan/tugas/reject/{id}', [PelatihanController::class, 'rejectTugas'])->name('pelatihan.tugas.reject');
Route::get('pelatihan/available-peserta/{id}', [PelatihanController::class, 'availablePeserta'])->name('pelatihan.available-peserta');
Route::post('pelatihan/add-peserta/{id}', [PelatihanController::class, 'addPeserta'])->name('pelatihan.add-peserta');
Route::post('pelatihan/{id}/finish', [PelatihanController::class, 'finishPelatihan'])->name('pelatihan.finish');
Route::post('pelatihan/{id}/finish-peserta', [PelatihanController::class, 'finishPelatihanPeserta'])->name('pelatihan.finish-peserta');
Route::resource('pendaftaran', PendaftaranController::class);
Route::get('pendaftaran/{id}/print-sertifikat', [PendaftaranController::class, 'printSertifikat'])->name('pendaftaran.print-sertifikat');
Route::get('pendaftaran/{id}/print', [PendaftaranController::class, 'printDetail'])->name('pendaftaran.print');
Route::group(['prefix' => 'laporan', 'as' => 'laporan.'], function () {
Route::get('sertifikat', [\App\Http\Controllers\Admin\LaporanController::class, 'sertifikatView'])->name('sertifikat.index');
Route::post('sertifikat', [\App\Http\Controllers\Admin\LaporanController::class, 'sertifikatAction'])->name('sertifikat.action');
Route::get('sertifikat-download', [\App\Http\Controllers\Admin\LaporanController::class, 'download'])->name('sertifikat.download');
});
});
Route::group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['role:admin']], function () {
Route::resource('user', UserController::class);
Route::get("user/ajax-data/{type}", [UserController::class, 'ajaxData'])->name('user.ajax-data');
Route::resource('instruktur', InstrukturController::class);
Route::get('peserta/download-template-import', [PesertaController::class, 'downloadTemplateImport'])->name('peserta.download-template-import');
Route::get('peserta/import', [PesertaController::class, 'importView'])->name('peserta.import-view');
Route::post('peserta/import', [PesertaController::class, 'import'])->name('peserta.import');
Route::get('peserta/{id}/print', [PesertaController::class, 'print'])->name('peserta.print');
Route::resource('peserta', PesertaController::class);
Route::post('dashboard/approve/{id}', [DashboardCotroller::class, 'approve'])->name('dashboard.approve');
Route::post('dashboard/reject/{id}', [DashboardCotroller::class, 'reject'])->name('dashboard.reject');
Route::post('pendaftaran/approve/{id}', [PendaftaranController::class, 'approve'])->name('pendaftaran.approve');
Route::post('pendaftaran/reject/{id}', [PendaftaranController::class, 'reject'])->name('pendaftaran.reject');
Route::post('pelatihan/approve/{id}', [PelatihanController::class, 'approve'])->name('pelatihan.approve');
Route::post('pelatihan/reject/{id}', [PelatihanController::class, 'reject'])->name('pelatihan.reject');
Route::resource('juknis-pelatihan', JuknisPelatihanController::class);
});
});
// Route::middleware('auth')->group(function () {
// //Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
// });
require __DIR__ . '/auth.php';
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]