258 lines
15 KiB
PHP
258 lines
15 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', 'Edit Order')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<!-- Page Header -->
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<div>
|
|
<h1 class="h3 mb-0 text-gray-800">Edit Order</h1>
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb bg-transparent p-0 mb-0">
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.dashboard') }}">Dashboard</a></li>
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.orders') }}">Orders</a></li>
|
|
<li class="breadcrumb-item active">Edit {{ $transaksi->invoice_number }}</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
<a href="{{ route('admin.transaksis.show', $transaksi->id) }}" class="btn btn-secondary">
|
|
<i class="fas fa-arrow-left"></i> Back
|
|
</a>
|
|
</div>
|
|
|
|
@if ($errors->any())
|
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
<strong>Error!</strong> Please fix the following issues:
|
|
<ul class="mb-0 mt-2">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
@endif
|
|
|
|
<form action="{{ route('admin.transaksis.update', $transaksi->id) }}" method="POST">
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
<div class="row">
|
|
<!-- Order Details -->
|
|
<div class="col-lg-8">
|
|
<div class="card shadow mb-4">
|
|
<div class="card-header py-3">
|
|
<h6 class="m-0 font-weight-bold text-primary">Order Details</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="form-group">
|
|
<label for="invoice_number">Invoice Number</label>
|
|
<input type="text" class="form-control" id="invoice_number" name="invoice_number"
|
|
value="{{ old('invoice_number', $transaksi->invoice_number) }}" readonly>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="order_status">Order Status <span class="text-danger">*</span></label>
|
|
<select class="form-control @error('order_status') is-invalid @enderror"
|
|
id="order_status" name="order_status" required>
|
|
<option value="pending" {{ old('order_status', $transaksi->order_status) == 'pending' ? 'selected' : '' }}>Pending</option>
|
|
<option value="processing" {{ old('order_status', $transaksi->order_status) == 'processing' ? 'selected' : '' }}>Processing</option>
|
|
<option value="shipped" {{ old('order_status', $transaksi->order_status) == 'shipped' ? 'selected' : '' }}>Shipped</option>
|
|
<option value="delivered" {{ old('order_status', $transaksi->order_status) == 'delivered' ? 'selected' : '' }}>Delivered</option>
|
|
<option value="cancelled" {{ old('order_status', $transaksi->order_status) == 'cancelled' ? 'selected' : '' }}>Cancelled</option>
|
|
</select>
|
|
@error('order_status')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="payment_status">Payment Status <span class="text-danger">*</span></label>
|
|
<select class="form-control @error('payment_status') is-invalid @enderror"
|
|
id="payment_status" name="payment_status" required>
|
|
<option value="pending" {{ old('payment_status', $transaksi->payment_status) == 'pending' ? 'selected' : '' }}>Pending</option>
|
|
<option value="paid" {{ old('payment_status', $transaksi->payment_status) == 'paid' ? 'selected' : '' }}>Paid</option>
|
|
<option value="failed" {{ old('payment_status', $transaksi->payment_status) == 'failed' ? 'selected' : '' }}>Failed</option>
|
|
</select>
|
|
@error('payment_status')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="tracking_number">Tracking Number</label>
|
|
<input type="text" class="form-control @error('tracking_number') is-invalid @enderror"
|
|
id="tracking_number" name="tracking_number"
|
|
value="{{ old('tracking_number', $transaksi->tracking_number) }}"
|
|
placeholder="Enter tracking number">
|
|
@error('tracking_number')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="notes">Notes</label>
|
|
<textarea class="form-control @error('notes') is-invalid @enderror"
|
|
id="notes" name="notes" rows="3"
|
|
placeholder="Enter any notes about this order">{{ old('notes', $transaksi->notes) }}</textarea>
|
|
@error('notes')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Customer Information -->
|
|
<div class="card shadow mb-4">
|
|
<div class="card-header py-3">
|
|
<h6 class="m-0 font-weight-bold text-primary">Customer Information</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="form-group">
|
|
<label for="customer_name">Customer Name <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('customer_name') is-invalid @enderror"
|
|
id="customer_name" name="customer_name"
|
|
value="{{ old('customer_name', $transaksi->customer_name) }}" required>
|
|
@error('customer_name')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="customer_phone">Phone <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('customer_phone') is-invalid @enderror"
|
|
id="customer_phone" name="customer_phone"
|
|
value="{{ old('customer_phone', $transaksi->customer_phone) }}" required>
|
|
@error('customer_phone')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="customer_email">Email</label>
|
|
<input type="email" class="form-control @error('customer_email') is-invalid @enderror"
|
|
id="customer_email" name="customer_email"
|
|
value="{{ old('customer_email', $transaksi->customer_email) }}">
|
|
@error('customer_email')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Shipping Information -->
|
|
<div class="card shadow mb-4">
|
|
<div class="card-header py-3">
|
|
<h6 class="m-0 font-weight-bold text-primary">Shipping Information</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="form-group">
|
|
<label for="shipping_address">Shipping Address <span class="text-danger">*</span></label>
|
|
<textarea class="form-control @error('shipping_address') is-invalid @enderror"
|
|
id="shipping_address" name="shipping_address" rows="3" required>{{ old('shipping_address', $transaksi->shipping_address) }}</textarea>
|
|
@error('shipping_address')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="city">City <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('city') is-invalid @enderror"
|
|
id="city" name="city"
|
|
value="{{ old('city', $transaksi->city) }}" required>
|
|
@error('city')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="province">Province <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('province') is-invalid @enderror"
|
|
id="province" name="province"
|
|
value="{{ old('province', $transaksi->province) }}" required>
|
|
@error('province')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="postal_code">Postal Code <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('postal_code') is-invalid @enderror"
|
|
id="postal_code" name="postal_code"
|
|
value="{{ old('postal_code', $transaksi->postal_code) }}" required>
|
|
@error('postal_code')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Order Summary -->
|
|
<div class="col-lg-4">
|
|
<div class="card shadow mb-4">
|
|
<div class="card-header py-3">
|
|
<h6 class="m-0 font-weight-bold text-primary">Order Summary</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<h5 class="text-primary">{{ $transaksi->invoice_number }}</h5>
|
|
<p class="text-muted mb-3">{{ $transaksi->created_at->format('d M Y, H:i') }}</p>
|
|
|
|
<table class="table table-sm table-borderless">
|
|
<tbody>
|
|
@foreach($transaksi->details as $detail)
|
|
<tr>
|
|
<td>{{ $detail->product->name ?? 'N/A' }}</td>
|
|
<td class="text-right">x{{ $detail->quantity }}</td>
|
|
<td class="text-right">Rp {{ number_format($detail->subtotal, 0, ',', '.') }}</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
<tfoot class="border-top">
|
|
<tr>
|
|
<th colspan="2">Total:</th>
|
|
<th class="text-right">Rp {{ number_format($transaksi->total_amount, 0, ',', '.') }}</th>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Action Buttons -->
|
|
<div class="card shadow">
|
|
<div class="card-body">
|
|
<button type="submit" class="btn btn-primary btn-block">
|
|
<i class="fas fa-save"></i> Update Order
|
|
</button>
|
|
<a href="{{ route('admin.transaksis.show', $transaksi->id) }}" class="btn btn-secondary btn-block">
|
|
<i class="fas fa-times"></i> Cancel
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
@endsection |