table reservasi, tabel dashboard, form, success page
This commit is contained in:
parent
871aa2fa2d
commit
ed9c5a5b8b
|
@ -52,6 +52,9 @@ public static function form(Form $form): Form
|
||||||
->searchable()
|
->searchable()
|
||||||
->preload()
|
->preload()
|
||||||
->required(),
|
->required(),
|
||||||
|
TextInput::make('nama')
|
||||||
|
->label('Nama')
|
||||||
|
->required(),
|
||||||
Select::make('metode_pembayaran')
|
Select::make('metode_pembayaran')
|
||||||
->label('Metode pembayaran')
|
->label('Metode pembayaran')
|
||||||
->options([
|
->options([
|
||||||
|
@ -181,8 +184,8 @@ public static function table(Table $table): Table
|
||||||
{
|
{
|
||||||
return $table
|
return $table
|
||||||
->columns([
|
->columns([
|
||||||
Tables\Columns\TextColumn::make('user.name')
|
Tables\Columns\TextColumn::make('nama')
|
||||||
->label('Nama User')
|
->label('Nama')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
|
|
||||||
Tables\Columns\TextColumn::make('tanggal')
|
Tables\Columns\TextColumn::make('tanggal')
|
||||||
|
@ -190,11 +193,12 @@ public static function table(Table $table): Table
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
|
||||||
Tables\Columns\TextColumn::make('waktu')
|
Tables\Columns\TextColumn::make('waktu')
|
||||||
->label('Jam'),
|
->label('Jam')
|
||||||
|
->time('H:i'),
|
||||||
|
|
||||||
Tables\Columns\TextColumn::make('promo.kode')
|
Tables\Columns\TextColumn::make('detail.paketFoto.nama_paket_foto')
|
||||||
->label('Kode Promo')
|
->label('Paket Foto')
|
||||||
|
->listWithLineBreaks()
|
||||||
->searchable(),
|
->searchable(),
|
||||||
|
|
||||||
Tables\Columns\TextColumn::make('total')
|
Tables\Columns\TextColumn::make('total')
|
||||||
|
|
|
@ -22,16 +22,22 @@ public function table(Table $table): Table
|
||||||
->defaultSort('created_at', 'desc')
|
->defaultSort('created_at', 'desc')
|
||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('id')
|
TextColumn::make('id')
|
||||||
->label('ID Reservasi')
|
->label('ID')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
TextColumn::make('user.name')
|
TextColumn::make('nama')
|
||||||
->label('Nama')
|
->label('Nama')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
|
TextColumn::make('detail.paketFoto.nama_paket_foto')
|
||||||
|
->label('Paket Foto')
|
||||||
|
->searchable(),
|
||||||
TextColumn::make('tanggal')
|
TextColumn::make('tanggal')
|
||||||
->label('Tanggal')
|
->label('Tanggal')
|
||||||
->sortable(),
|
->date('d F Y')
|
||||||
|
->sortable()
|
||||||
|
->searchable(),
|
||||||
TextColumn::make('waktu')
|
TextColumn::make('waktu')
|
||||||
->label('Jam'),
|
->label('Jam')
|
||||||
|
->time('H:i'),
|
||||||
TextColumn::make('tipe_pembayaran')
|
TextColumn::make('tipe_pembayaran')
|
||||||
->label('Tipe Pembayaran')
|
->label('Tipe Pembayaran')
|
||||||
->badge()
|
->badge()
|
||||||
|
|
|
@ -108,6 +108,7 @@ public function placeOrder()
|
||||||
// Membuat reservasi baru
|
// Membuat reservasi baru
|
||||||
$reservasi = Reservasii::create([
|
$reservasi = Reservasii::create([
|
||||||
'user_id' => auth()->id(),
|
'user_id' => auth()->id(),
|
||||||
|
'nama' => $this->nama,
|
||||||
'tanggal' => $this->tanggal,
|
'tanggal' => $this->tanggal,
|
||||||
'waktu' => $this->waktu,
|
'waktu' => $this->waktu,
|
||||||
'promo_id' => null, // Logika promo bisa ditambahkan di sini
|
'promo_id' => null, // Logika promo bisa ditambahkan di sini
|
||||||
|
|
|
@ -12,12 +12,21 @@ class SuccesPage extends Component
|
||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
{
|
{
|
||||||
|
if (!auth()->check()) {
|
||||||
|
return redirect()->route('login');
|
||||||
|
}
|
||||||
|
|
||||||
// Ambil booking terakhir dari user yang sedang login
|
// Ambil booking terakhir dari user yang sedang login
|
||||||
$this->booking = Reservasii::with(['user', 'detail.paketFoto'])
|
$this->booking = Reservasii::with(['user', 'detail.paketFoto'])
|
||||||
->where('user_id', auth()->id())
|
->where('user_id', auth()->id())
|
||||||
->latest()
|
->latest()
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
if (!$this->booking) {
|
||||||
|
session()->flash('error', 'Tidak ada data booking yang ditemukan');
|
||||||
|
return redirect()->route('home');
|
||||||
|
}
|
||||||
|
|
||||||
// Ambil nama dari session
|
// Ambil nama dari session
|
||||||
$this->bookingName = session('booking_name');
|
$this->bookingName = session('booking_name');
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ class Reservasii extends Model
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'user_id',
|
'user_id',
|
||||||
|
'nama',
|
||||||
'tanggal',
|
'tanggal',
|
||||||
'waktu',
|
'waktu',
|
||||||
'promo_id',
|
'promo_id',
|
||||||
|
|
|
@ -14,6 +14,7 @@ public function up(): void
|
||||||
Schema::create('reservasiis', function (Blueprint $table) {
|
Schema::create('reservasiis', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
|
$table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
|
||||||
|
$table->string('nama');
|
||||||
$table->date('tanggal');
|
$table->date('tanggal');
|
||||||
$table->time('waktu');
|
$table->time('waktu');
|
||||||
$table->foreignId('promo_id')->nullable()->constrained('promos');
|
$table->foreignId('promo_id')->nullable()->constrained('promos');
|
||||||
|
|
|
@ -9,7 +9,9 @@
|
||||||
<div class="flex flex-col items-start justify-start space-y-2">
|
<div class="flex flex-col items-start justify-start space-y-2">
|
||||||
<p class="text-lg font-semibold leading-4 text-left text-gray-800 dark:text-gray-400">
|
<p class="text-lg font-semibold leading-4 text-left text-gray-800 dark:text-gray-400">
|
||||||
{{ $bookingName }}</p>
|
{{ $bookingName }}</p>
|
||||||
|
@if($booking && $booking->user)
|
||||||
<p class="text-sm leading-4 text-gray-600 dark:text-gray-400">{{ $booking->user->email }}</p>
|
<p class="text-sm leading-4 text-gray-600 dark:text-gray-400">{{ $booking->user->email }}</p>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
use App\Livewire\SuccesPage;
|
use App\Livewire\SuccesPage;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get('/', HomePage::class);
|
Route::get('/', HomePage::class)->name('home');
|
||||||
Route::get('/paketfoto', PaketFotoPage::class);
|
Route::get('/paketfoto', PaketFotoPage::class);
|
||||||
Route::get('/paketfoto/{nama_paket_foto}', DetailPaketFotoPage::class);
|
Route::get('/paketfoto/{nama_paket_foto}', DetailPaketFotoPage::class);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue