diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php index 09e499c..5078e37 100644 --- a/app/Http/Controllers/PagesController.php +++ b/app/Http/Controllers/PagesController.php @@ -515,4 +515,30 @@ class PagesController extends Controller //dd($showcarlist_results); return view('showcarlist', ['showcarlist_results' => $showcarlist_results]); } + + public function myWinnings(Request $request) + { + if (!$request->bidder_number) { + return view('mywinnings_form'); + } + + $bidder_number = $request->bidder_number; + $bidder = Bidders::where('bidder_assigned_number', $bidder_number)->first(); + + if (!$bidder) { + return view('mywinnings_form', ['error' => 'Bidder number not found.']); + } + + $winnings = WinningBids::with('items') + ->where('winning_bidder_num', $bidder->idbidders) + ->get(); + + $total_cost = $winnings->sum('winning_cost'); + + return view('mywinnings_results', [ + 'bidder' => $bidder, + 'winnings' => $winnings, + 'total_cost' => $total_cost + ]); + } } diff --git a/app/Models/WinningBids.php b/app/Models/WinningBids.php index a5bfee9..7d8c61e 100644 --- a/app/Models/WinningBids.php +++ b/app/Models/WinningBids.php @@ -28,7 +28,7 @@ class WinningBids extends Model public function items() { - return $this->hasOne(Items::class, 'iditems', 'winning_item_num'); + return $this->belongsTo(Items::class, 'winning_item_num', 'iditems'); } public function bidders() diff --git a/readme.md b/readme.md index 2fd50b6..f121945 100644 --- a/readme.md +++ b/readme.md @@ -49,3 +49,21 @@ If you discover a security vulnerability within Laravel, please send an e-mail t ## License The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). + +## Changelog + +### [bidder-facing-checkout] - 2026-04-24 + +#### Added +- **Public Winnings View:** Introduced a new feature allowing bidders to check their won items by entering their bidder number. +- **Routes:** Added `/mywinnings` (GET and POST) routes to `routes/web.php`. +- **Controller Logic:** Implemented `myWinnings` method in `PagesController` to handle bidder lookups and display results. +- **Views:** + - `resources/views/mywinnings_form.blade.php`: Search form for bidder number. + - `resources/views/mywinnings_results.blade.php`: Detailed list of won items and total cost. +- **Navigation:** Added "Check My Winnings" link to the main layout navbar for easy public access. +- **Testing:** Created `tests/Feature/MyWinningsTest.php` to ensure the new feature works as expected. + +#### Changed +- **Models:** Updated `App\Models\WinningBids` relationship `items()` from `hasOne` to `belongsTo` to correctly map the database structure and support eager loading. + diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 892f92d..4bded9a 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -203,6 +203,11 @@ Checkout Bidder +
  • + + Check My Winnings + +