forked from TFMM/silent-auction
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b900a5e34b | |||
| 896c96e1a4 | |||
| f9590c7814 | |||
| 2935d84671 | |||
| a1ef5686e3 | |||
| ce5b69f362 | |||
| a95aa04cb9 | |||
| 935c7ba31b | |||
| 700d2f0741 | |||
| 4ef20cba50 | |||
| f35624cc6d | |||
| 6a911ba76c | |||
| d1c03b927e |
@@ -12,3 +12,4 @@ npm-debug.log
|
||||
/public/rldbadm
|
||||
/stats
|
||||
/.well-known
|
||||
.DS_Store
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 353 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.1 KiB |
@@ -52,6 +52,23 @@ The Laravel framework is open-sourced software licensed under the [MIT license](
|
||||
|
||||
## Changelog
|
||||
|
||||
### [tablar-theme] - 2026-05-02
|
||||
|
||||
#### Added
|
||||
- **Searchable Dropdowns:** Integrated `TomSelect` across various forms (Checkout, Reprint Receipt, etc.) for enhanced usability.
|
||||
- **Self-Checkout Flow:** Added a prominent self-checkout link for bidders, integrated with North Embedded Checkout.
|
||||
- **Pickup Instructions:** Added clear instructions for bidders on the checkout completion page to proceed to the Item Pickup Table.
|
||||
|
||||
#### Fixed
|
||||
- **Logo Integration:** Corrected logo sizing issues using inline styles to override theme constraints.
|
||||
- **User Menu:** Restored "Admin" and "Link OIDC Account" entries to match the legacy theme.
|
||||
- **Manual Checkout:** Fixed broken `/checkout` route by aligning form field names with controller expectations and restoring payment method logic.
|
||||
- **Data Restoration:** Re-added bidder information and itemized winning lists to the checkout completion views.
|
||||
|
||||
#### Changed
|
||||
- **UI Cleanup:** Disabled default Tablar footers and notifications across all layout templates to maintain a focused auction interface.
|
||||
- **Theme Consistency:** Updated various partials to ensure a seamless transition from the previous custom theme to Tablar.
|
||||
|
||||
### [bidder-facing-checkout] - 2026-04-24
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -16,33 +16,67 @@
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@foreach($checkout_info_results as $info)
|
||||
<form method="POST" action="/checkout" class="row g-3">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="bidder_num" value="{{ $bidder->idbidders }}">
|
||||
<input type="hidden" name="checkoutbiddernum" value="{{ $info->idbidders }}">
|
||||
<input type="hidden" name="winnertotal" value="{{ $info->total_cost }}">
|
||||
|
||||
<h3 class="mb-3">Winning Items for {{ $bidder->bidder_fname }} {{ $bidder->bidder_lname }}</h3>
|
||||
<ul class="list-group mb-4">
|
||||
@foreach($winnings as $item)
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
{{ $item->items->item_desc }}
|
||||
<span class="badge bg-primary rounded-pill">${{ number_format($item->winning_cost, 2) }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<h3 class="mb-3">Winning Items for {{ $info->bidder_fname }} {{ $info->bidder_lname }} (Bidder #{{ $info->bidder_assigned_number }})</h3>
|
||||
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table table-vcenter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Item #</th>
|
||||
<th>Description</th>
|
||||
<th class="text-end">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($checkout_list_results as $item)
|
||||
<tr>
|
||||
<td>{{ $item->item_assigned_num }}</td>
|
||||
<td>{{ $item->item_desc }}</td>
|
||||
<td class="text-end">${{ number_format($item->winning_cost, 2) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="2" class="text-end">Total Due</th>
|
||||
<th class="text-end h3">${{ number_format($info->total_cost, 2) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label for="payment_method" class="form-label">Payment Method</label>
|
||||
<select name="payment_method" id="payment_method" class="form-select" required>
|
||||
@foreach($paymentMethods as $pm)
|
||||
<option value="{{ $pm->pm_id }}">{{ $pm->pm_name }}</option>
|
||||
@endforeach
|
||||
<select name="checkout_payment_method" id="payment_method" class="form-select" required onchange="togglePaymentFields()">
|
||||
{!! \App\Helpers\PaymentMethodSelectList::paymentShowMethods() !!}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div id="check_fields" class="col-md-4" style="display:none;">
|
||||
<label for="check_number" class="form-label">Check Number</label>
|
||||
<input type="text" name="check_number" id="check_number" class="form-control">
|
||||
</div>
|
||||
|
||||
<div id="cc_fields" class="col-md-4" style="display:none;">
|
||||
<label for="cc_transaction" class="form-label">Transaction ID / Last 4</label>
|
||||
<input type="text" name="cc_transaction" id="cc_transaction" class="form-control">
|
||||
<input type="hidden" name="cc_amount" value="{{ $info->total_cost }}">
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-success">Complete Checkout</button>
|
||||
<div class="col-12 mt-4">
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="ti ti-check me-2"></i>Complete Checkout
|
||||
</button>
|
||||
<a href="/checkout" class="btn btn-link">Cancel and Start Over</a>
|
||||
</div>
|
||||
</form>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,6 +84,22 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@include('components.tomselect')
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
function togglePaymentFields() {
|
||||
const method = document.getElementById('payment_method').value;
|
||||
const checkFields = document.getElementById('check_fields');
|
||||
const ccFields = document.getElementById('cc_fields');
|
||||
|
||||
checkFields.style.display = 'none';
|
||||
ccFields.style.display = 'none';
|
||||
|
||||
if (method === '2') { // Check
|
||||
checkFields.style.display = 'block';
|
||||
} else if (method === '3') { // Credit Card
|
||||
ccFields.style.display = 'block';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -14,13 +14,79 @@
|
||||
<div class="container-xl">
|
||||
<div class="row row-cards">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body text-center">
|
||||
<h2 class="card-title">Success!</h2>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body text-center py-4">
|
||||
<h2 class="text-success mb-2">Success!</h2>
|
||||
<p class="text-muted">The checkout has been successfully processed.</p>
|
||||
<a href="{{ route('receiptpdf', ['checkout_id' => $checkout_result]) }}" class="btn btn-primary" target="_blank">Print Receipt</a>
|
||||
<a href="{{ route('download_receipt', ['checkout_id' => $checkout_result]) }}" class="btn btn-success">Save PDF Receipt</a>
|
||||
<a href="/home" class="btn btn-secondary">Back to Dashboard</a>
|
||||
<p class="strong text-azure">Please proceed to the Item Pickup Table and show the page below or the pdf receipt on your device!</p>
|
||||
<div class="mt-3">
|
||||
<a href="{{ route('receiptpdf', ['checkout_id' => $checkout_result]) }}" class="btn btn-primary" target="_blank">
|
||||
<i class="ti ti-printer me-2"></i>Print Receipt
|
||||
</a>
|
||||
<a href="{{ route('download_receipt', ['checkout_id' => $checkout_result]) }}" class="btn btn-success">
|
||||
<i class="ti ti-download me-2"></i>Save PDF Receipt
|
||||
</a>
|
||||
<a href="/home" class="btn btn-secondary">
|
||||
<i class="ti ti-dashboard me-2"></i>Back to Dashboard
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@foreach($checkout_info_results as $info)
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Bidder Information</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<p><strong>Name:</strong> {{ $info->bidder_fname }} {{ $info->bidder_lname }}</p>
|
||||
<p><strong>Bidder Number:</strong> {{ $info->bidder_assigned_number }}</p>
|
||||
</div>
|
||||
<div class="col-md-6 text-md-end">
|
||||
<p><strong>Total Paid:</strong> <span class="h2 text-primary">${{ number_format($info->total_cost, 2) }}</span></p>
|
||||
<p><strong>Payment Method:</strong>
|
||||
@if($payment_method == 1) Cash
|
||||
@elseif($payment_method == 2) Check ({{ $check_number }})
|
||||
@else Credit Card ({{ $cc_transaction }})
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Items Won</h3>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-vcenter card-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Item #</th>
|
||||
<th>Description</th>
|
||||
<th class="text-end">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($checkout_list_results as $item)
|
||||
<tr>
|
||||
<td>{{ $item->item_assigned_num }}</td>
|
||||
<td>{{ $item->item_desc }}</td>
|
||||
<td class="text-end">${{ number_format($item->winning_cost, 2) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="2" class="text-end">Total</th>
|
||||
<th class="text-end">${{ number_format($info->total_cost ?? 0, 2) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
{{ csrf_field() }}
|
||||
<div class="col-md-6">
|
||||
<label for="bidder_num" class="form-label">Bidder</label>
|
||||
<select name="bidder_num" id="bidder_num" class="form-select" required>
|
||||
<select name="checkoutbiddernum" id="bidder_num" class="form-select" required>
|
||||
@foreach($bidders as $bidder)
|
||||
<option value="{{ $bidder->idbidders }}">{{ $bidder->bidder_assigned_number }} - {{ $bidder->bidder_fname }} {{ $bidder->bidder_lname }}</option>
|
||||
@endforeach
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
@endif
|
||||
<!-- Page Error -->
|
||||
@include('tablar::error')
|
||||
@include('tablar::partials.footer.bottom')
|
||||
{{-- @include('tablar::partials.footer.bottom') --}}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
<div class="navbar-nav flex-row order-md-last">
|
||||
<div class="d-none d-md-flex">
|
||||
@include('tablar::partials.header.theme-mode')
|
||||
@include('tablar::partials.header.notifications')
|
||||
{{-- @include('tablar::partials.header.notifications') --}}
|
||||
</div>
|
||||
@include('tablar::partials.header.top-right')
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
<div class="d-none d-md-flex">
|
||||
@include('tablar::partials.header.theme-mode')
|
||||
@include('tablar::partials.header.notifications')
|
||||
{{-- @include('tablar::partials.header.notifications') --}}
|
||||
</div>
|
||||
|
||||
@include('tablar::partials.header.top-right')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<a href="#">
|
||||
<img src="{{asset(config('tablar.auth_logo.img.path','assets/logo.svg'))}}" width="110" height="32"
|
||||
<img src="{{asset('assets/auction_logo.png')}}" width="220" height="64"
|
||||
alt="{{asset(config('tablar.title','Tablar'))}}"
|
||||
class="navbar-brand-image">
|
||||
class="navbar-brand-image" style="height: 64px !important; width: 220px !important;">
|
||||
</a>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="navbar-nav flex-row order-md-last">
|
||||
<div class="d-none d-md-flex">
|
||||
@include('tablar::partials.header.theme-mode')
|
||||
@include('tablar::partials.header.notifications')
|
||||
{{-- @include('tablar::partials.header.notifications') --}}
|
||||
</div>
|
||||
@include('tablar::partials.header.top-right')
|
||||
</div>
|
||||
|
||||
@@ -2,33 +2,23 @@
|
||||
<div class="nav-item dropdown">
|
||||
<a href="#" class="nav-link d-flex lh-1 text-reset p-0" data-bs-toggle="dropdown"
|
||||
aria-label="Open user menu">
|
||||
<span class="avatar">SE</span>
|
||||
<div class="d-none d-xl-block ps-2">
|
||||
<div>{{Auth()->user()->name}}</div>
|
||||
<div class="mt-1 small text-muted">Software Engineer</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
|
||||
@php( $logout_url = View::getSection('logout_url') ?? config('tablar.logout_url', 'logout') )
|
||||
@php( $profile_url = View::getSection('profile_url') ?? config('tablar.profile_url', 'logout') )
|
||||
@php( $setting_url = View::getSection('setting_url') ?? config('tablar.setting_url', 'home') )
|
||||
|
||||
@if (config('tablar.use_route_url', true))
|
||||
@php( $profile_url = $profile_url ? route($profile_url) : '' )
|
||||
@php( $logout_url = $logout_url ? route($logout_url) : '' )
|
||||
@php( $setting_url = $setting_url ? route($setting_url) : '' )
|
||||
@else
|
||||
@php( $profile_url = $profile_url ? url($profile_url) : '' )
|
||||
@php( $logout_url = $logout_url ? url($logout_url) : '' )
|
||||
@php( $setting_url = $setting_url ? url($setting_url) : '' )
|
||||
@endif
|
||||
|
||||
<a href="#" class="dropdown-item">Status</a>
|
||||
<a href="{{$profile_url}}" class="dropdown-item">Profile</a>
|
||||
<a href="#" class="dropdown-item">Feedback</a>
|
||||
<a href="{{ url('admin') }}" class="dropdown-item">Admin</a>
|
||||
<a href="{{ url('auth/social/oidc') }}" class="dropdown-item">Link OIDC Account</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="{{$setting_url}}" class="dropdown-item">Settings</a>
|
||||
<a class="dropdown-item"
|
||||
href="#" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
|
||||
<i class="fa fa-fw fa-power-off text-red"></i>
|
||||
@@ -44,4 +34,8 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="nav-item">
|
||||
<a class="nav-link" href="{{ route('login') }}">Login</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<div class="d-none d-md-flex">
|
||||
@include('tablar::partials.header.theme-mode')
|
||||
@include('tablar::partials.header.notifications')
|
||||
{{-- @include('tablar::partials.header.notifications') --}}
|
||||
</div>
|
||||
|
||||
@include('tablar::partials.header.top-right')
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<div class="d-none d-lg-flex">
|
||||
@include('tablar::partials.header.theme-mode')
|
||||
@include('tablar::partials.header.notifications')
|
||||
{{-- @include('tablar::partials.header.notifications') --}}
|
||||
</div>
|
||||
@include('tablar::partials.header.top-right')
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user