82 lines
4.7 KiB
PHP
82 lines
4.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\User;
|
|
use App\Models\Place;
|
|
use App\Models\Ticket;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', function () {
|
|
$tickets = Ticket::where('is_active', true)
|
|
->where('name', 'Tiket Masuk')
|
|
->orderBy('id')
|
|
->limit(1)
|
|
->get();
|
|
|
|
if ($tickets->isEmpty()) {
|
|
$tickets = Ticket::where('is_active', true)->orderBy('id')->limit(1)->get();
|
|
}
|
|
|
|
$places = Place::where('is_active', true)->orderBy('name')->get();
|
|
|
|
return view('index', compact('tickets', 'places'));
|
|
})->name('home');
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
Route::get('/register', [AuthController::class, 'showRegister'])->name('register');
|
|
Route::post('/register', [AuthController::class, 'register']);
|
|
});
|
|
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('logout')->middleware('auth');
|
|
|
|
Route::middleware(['auth', 'role:user'])->name('user.')->group(function () {
|
|
Route::get('/tiket', [User\TicketController::class, 'index'])->name('tickets.index');
|
|
Route::post('/tiket/order', [User\TicketController::class, 'order'])->name('tickets.order');
|
|
Route::get('/tiket/payment/{code}', [User\TicketController::class, 'payment'])->name('tickets.payment');
|
|
Route::post('/tiket/upload/{code}', [User\TicketController::class, 'uploadProof'])->name('tickets.upload');
|
|
Route::get('/tiket/download/{code}', [User\TicketController::class, 'download'])->name('tickets.download');
|
|
Route::get('/tiket/pdf/{itemId}', [User\TicketController::class, 'downloadPdf'])->name('tickets.pdf');
|
|
Route::get('/tiket/riwayat', [User\TicketController::class, 'history'])->name('tickets.history');
|
|
|
|
Route::get('/booking', [User\BookingController::class, 'index'])->name('bookings.index');
|
|
Route::post('/booking/store', [User\BookingController::class, 'store'])->name('bookings.store');
|
|
Route::get('/booking/payment/{code}', [User\BookingController::class, 'payment'])->name('bookings.payment');
|
|
Route::post('/booking/upload/{code}', [User\BookingController::class, 'uploadProof'])->name('bookings.upload');
|
|
Route::get('/booking/status/{code}', [User\BookingController::class, 'status'])->name('bookings.status');
|
|
Route::get('/booking/check-date', [User\BookingController::class, 'checkDate'])->name('bookings.checkDate');
|
|
Route::get('/booking/riwayat', [User\BookingController::class, 'history'])->name('bookings.history');
|
|
|
|
Route::get('/profil', [User\ProfileController::class, 'index'])->name('profile.index');
|
|
Route::put('/profil', [User\ProfileController::class, 'update'])->name('profile.update');
|
|
});
|
|
|
|
Route::middleware(['auth', 'role:admin'])->prefix('admin')->name('admin.')->group(function () {
|
|
Route::get('/dashboard', [Admin\DashboardController::class, 'index'])->name('dashboard');
|
|
|
|
Route::resource('tickets', Admin\TicketController::class)->except('show');
|
|
|
|
Route::get('ticket-orders', [Admin\TicketOrderController::class, 'index'])->name('ticket-orders.index');
|
|
Route::get('ticket-orders/{id}', [Admin\TicketOrderController::class, 'show'])->name('ticket-orders.show');
|
|
Route::post('ticket-orders/{id}/confirm', [Admin\TicketOrderController::class, 'confirm'])->name('ticket-orders.confirm');
|
|
Route::post('ticket-orders/{id}/reject', [Admin\TicketOrderController::class, 'reject'])->name('ticket-orders.reject');
|
|
|
|
Route::get('bookings', [Admin\BookingController::class, 'index'])->name('bookings.index');
|
|
Route::get('bookings/{id}', [Admin\BookingController::class, 'show'])->name('bookings.show');
|
|
Route::post('bookings/{id}/confirm', [Admin\BookingController::class, 'confirm'])->name('bookings.confirm');
|
|
Route::post('bookings/{id}/reject', [Admin\BookingController::class, 'reject'])->name('bookings.reject');
|
|
|
|
Route::resource('admins', Admin\AdminController::class)->except('show');
|
|
|
|
Route::get('profil', [Admin\ProfileController::class, 'index'])->name('profile.index');
|
|
Route::put('profil', [Admin\ProfileController::class, 'update'])->name('profile.update');
|
|
|
|
Route::get('check/ticket', [Admin\CheckController::class, 'ticketIndex'])->name('check.ticket');
|
|
Route::post('check/ticket', [Admin\CheckController::class, 'checkTicket'])->name('check.ticket.check');
|
|
Route::get('check/booking', [Admin\CheckController::class, 'bookingIndex'])->name('check.booking');
|
|
Route::post('check/booking', [Admin\CheckController::class, 'checkBooking'])->name('check.booking.check');
|
|
|
|
Route::resource('bank-accounts', Admin\BankAccountController::class)->except('show');
|
|
}); |