Compare commits

...

129 Commits

Author SHA1 Message Date
dbaugher d1c03b927e Update navbar logo to auction_logo_small.jpg
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 17:33:30 -04:00
rlong bbea9e51c8 style: convert self-checkout link to a large prominent button 2026-05-01 16:06:21 -04:00
rlong 17b2224490 feat: add self-checkout link to home dashboard 2026-05-01 16:05:14 -04:00
rlong c2ec8464ba feat: add searchable dropdowns to reprint_receipt and winnertotal forms 2026-05-01 16:03:15 -04:00
rlong 1dbf0c51bb feat: make all dropdowns searchable using tomselect 2026-05-01 16:00:08 -04:00
rlong 2b5046b077 fix: resolve editwinners Undefined variable and update winning_cost input type 2026-05-01 15:56:35 -04:00
rlong a2ce8a51fe feat: show bidder and vehicle details in carshowscores view 2026-05-01 15:54:08 -04:00
rlong 2512c27904 feat: show bidder and vehicle details in carshowwinners view 2026-05-01 15:52:54 -04:00
rlong 4fdd41e9b8 fix: resolve cat_name exception and correct model relationships 2026-05-01 15:51:23 -04:00
rlong e79d6174f8 feat: enable OIDC social login in auth views 2026-05-01 15:43:45 -04:00
rlong 4ed1f6769d Merge pull request 'Remove the theme creator header buttons' (#3) from feature/tablar-theme-remove-ads into feature/tablar-theme
Reviewed-on: #3
2026-05-01 15:40:48 -04:00
rlong f75bdb6b4a fix: update pcentry dropdown and add vote count field 2026-05-01 15:39:42 -04:00
rlong 31acaa23dd fix 2026-05-01 15:32:34 -04:00
rlong d4ea64007f fix: restore full PagesController content 2026-05-01 15:31:34 -04:00
rlong 7a05e73d52 fix: correct PagesController file corruption 2026-05-01 15:28:29 -04:00
rlong 9ed1765c73 fix: update carshowwinners view to use correct variable and relationships 2026-05-01 15:25:11 -04:00
rlong 4893550e2a fix: pass missing view variables for showwinners, showscores, winners, and editwinners 2026-05-01 15:25:03 -04:00
dbaugher 24e2d91eb7 Remove the theme creator header buttons 2026-05-01 15:24:54 -04:00
rlong 7a6028c63d fix: update judges form to use judge number instead of name 2026-05-01 15:23:57 -04:00
rlong 8d138e22b7 feat: expand checkout_complete_list with items won 2026-05-01 15:23:34 -04:00
rlong 92da95bdff feat: expand bidderlist with contact info 2026-05-01 15:23:26 -04:00
rlong 2e5454484f fix: change score input type to text to remove spinner controls 2026-05-01 15:22:13 -04:00
rlong ad610633d1 feat: standardize tomselect configuration across all dropdowns 2026-05-01 15:18:27 -04:00
rlong 80545f38b3 fix: correct syntax and remove duplicate code in PagesController 2026-05-01 15:17:37 -04:00
rlong 1b30673823 fix: restore natural sorting for vehicles by bidder assigned number 2026-05-01 15:16:47 -04:00
rlong 3703ed569a fix: enable scrolling and show all options in tomselect 2026-05-01 14:44:44 -04:00
rlong c63ca6626e fix: resolve judgingentry dropdown population and visibility issues 2026-05-01 14:37:56 -04:00
rlong a7edc0115d fix: use dropdownParent: body in TomSelect to fix visibility issues 2026-05-01 14:32:37 -04:00
rlong e8a31380f7 fix: force initialize tomselect for judgingentry 2026-05-01 14:31:19 -04:00
rlong 1ad8f53a95 fix: restore missing foreach loop variables in judgingentry 2026-05-01 14:30:37 -04:00
rlong 05dad0ece0 fix: cleanup judgingentry blade and ensure proper tomselect include 2026-05-01 14:30:05 -04:00
rlong b5bbe4d1b5 debug: move tomselect include to judgingentry.blade.php for testing 2026-05-01 14:29:31 -04:00
rlong 2db4ad18e3 debug: isolate tomselect to bidders.blade.php 2026-05-01 14:28:59 -04:00
rlong 107223f2cc fix: use IIFE to prevent tomselect double initialization 2026-05-01 14:28:11 -04:00
rlong 799eb37ae0 debug: apply aggressive CSS to troubleshoot tomselect visibility 2026-05-01 14:26:49 -04:00
rlong d79d2fbe3e debug: simplify tomselect for basic diagnostic 2026-05-01 14:26:04 -04:00
rlong 6e2c27a5a4 fix: directly inject tomselect in checkout_select_form for immediate verify 2026-05-01 14:24:57 -04:00
rlong 9e2c50a9ee debug: add logging to verify tomselect option detection 2026-05-01 14:23:45 -04:00
rlong 239ee20397 feat: centralize tomselect logic and script loading 2026-05-01 14:22:47 -04:00
rlong 7bf32dfdcc fix: re-enable searchable dropdowns and apply natural sorting for judgingentry 2026-05-01 14:21:21 -04:00
rlong f96b70684b fix: correctly display judge number and vehicle bidder number in judgingentry form 2026-05-01 14:20:06 -04:00
rlong bd87475b4d debug: bypass tomselect for judgingentry dropdowns to verify data rendering 2026-05-01 14:17:57 -04:00
rlong 6b1d87414e fix: restore direct collection loop in judgingentry view 2026-05-01 14:16:49 -04:00
rlong 7a4b926aac debug: add logs to verify judgingentry data counts 2026-05-01 14:16:09 -04:00
rlong fb31d91476 fix: ensure judgingentry always fetches data regardless of request method 2026-05-01 14:14:27 -04:00
rlong 55a05ef00e fix: add isset checks to judgingentry view 2026-05-01 14:14:00 -04:00
rlong a4483788cf fix: restore missing variables in judgingentry foreach loops 2026-05-01 14:13:21 -04:00
rlong 2a6edc07f9 fix: resolve tomselect script inclusion in judgingentry 2026-05-01 14:12:47 -04:00
rlong ba6182e41e fix: pass judges and vehicles data to judgingentry view 2026-05-01 14:11:29 -04:00
rlong 2cd8feb19d feat: make winnersbyitem table sortable using list.js 2026-05-01 14:10:42 -04:00
rlong b6ed1e8325 fix: access items data via relationship in winnersbyitem 2026-05-01 14:10:10 -04:00
rlong 7a29315759 fix: use eloquent relationships for winnersbyitem to prevent property access error 2026-05-01 14:09:36 -04:00
rlong 5f4b0c16a3 fix: correct layout placement for winnerlist and winningbidderlist 2026-05-01 14:08:20 -04:00
rlong 599b404791 feat: restore grid display for winningbidderlist 2026-05-01 14:06:48 -04:00
rlong 3ddf99172e fix: update winningbidderlist to only show bidders with winning bids 2026-05-01 14:05:36 -04:00
rlong 5c1b855283 feat: update itemlist table columns to display estimated value and minimum bid 2026-05-01 14:04:20 -04:00
rlong a4f26e9006 fix: force bidder number numeric sort in tomselect 2026-05-01 14:02:36 -04:00
rlong 444b9e26db fix: use numeric localeCompare in tomselect for natural bidder sorting 2026-05-01 14:02:03 -04:00
rlong 24905c9506 fix: re-enable tomselect sorting 2026-05-01 14:01:35 -04:00
rlong 6cb3e1ac24 fix: disable internal TomSelect sorting to respect server-side order 2026-05-01 14:01:07 -04:00
rlong 30dbbd6d58 fix: use SQL CAST for reliable numeric sorting of bidder numbers 2026-05-01 14:00:38 -04:00
rlong 6193e7fce4 fix: sort bidders numerically in controller for reliable dropdown order 2026-05-01 13:59:39 -04:00
rlong 2521246bda fix: revert to localeCompare numeric:true for natural sorting 2026-05-01 13:59:16 -04:00
rlong b208af478d fix: use explicit numeric comparison in tomselect for reliable sorting 2026-05-01 13:58:48 -04:00
rlong 7d9af30ed3 fix: re-implement numeric natural sorting for dropdowns 2026-05-01 13:58:22 -04:00
rlong 46fbe7c98d fix: remove invalid sortOptions call from tomselect 2026-05-01 13:57:40 -04:00
rlong 87aa8d74d4 fix: use native Tom Select sorting 2026-05-01 13:56:56 -04:00
rlong 01a6d78333 fix: use explicit numeric parsing for bidder number sorting 2026-05-01 13:56:25 -04:00
rlong af49c71d72 fix: use numeric sorting for tomselect dropdowns 2026-05-01 13:56:00 -04:00
rlong e74295fee4 fix: force white background on all tomselect elements 2026-05-01 13:54:51 -04:00
rlong e47e20e49b fix: restore background color for searchable dropdowns 2026-05-01 13:54:27 -04:00
rlong 365ebf112a fix: align tomselect configuration with tablar native implementation 2026-05-01 13:53:56 -04:00
rlong 8e6f4bdcfc debug: aggressive initialization and logging for tomselect 2026-05-01 13:52:33 -04:00
rlong 597c11acd1 fix: restore background color and borders to tomselect inputs 2026-05-01 13:52:10 -04:00
rlong ea0c1272d1 fix: prevent double initialization of tomselect and update style 2026-05-01 13:51:20 -04:00
rlong 66e0e467df fix: re-add missing tomselect include to checkout_select_form 2026-05-01 13:50:12 -04:00
rlong 46c88ed22a feat: export tablar views and fix js stack 2026-05-01 13:04:37 -04:00
rlong 4bd0ec6e35 debug: test script injection 2026-05-01 13:02:22 -04:00
rlong 68f3be7644 fix: correctly stack all tomselect includes 2026-05-01 13:01:26 -04:00
rlong e19c077203 fix: correctly stack all tomselect includes within js push directive 2026-05-01 13:00:28 -04:00
rlong bb71e41459 fix: use @push('js') to correctly inject tomselect script into Tablar layout 2026-05-01 12:59:21 -04:00
rlong 1f4b108c51 debug: add verbose logging to tomselect init 2026-05-01 12:58:18 -04:00
rlong 762b242046 debug: update tomselect initialization and check 2026-05-01 12:57:37 -04:00
rlong 3cc39c4b3d fix: explicitly define controlInput in Tom Select 2026-05-01 12:56:51 -04:00
rlong ef00695950 fix: ensure Tom Select searchability and handle selection 2026-05-01 12:56:21 -04:00
rlong 3f711effdc fix: add Tom Select CSS and use window load event 2026-05-01 12:55:02 -04:00
rlong 599dfb6f14 fix: remove duplicated tomselect include from checkout_select_form 2026-05-01 12:53:35 -04:00
rlong 5049ed9777 fix: use @push for tomselect component to resolve duplicate dropdowns 2026-05-01 12:53:00 -04:00
rlong b564a63c67 feat: enable searchable dropdowns (Tom Select) for all tablar views 2026-05-01 12:51:06 -04:00
rlong 3d95c63e63 revert: remove tom-select from checkout bidder dropdown 2026-05-01 12:49:43 -04:00
rlong 72362d2d90 fix: sort bidders and enable tom-select for bidder dropdown 2026-05-01 12:49:17 -04:00
rlong 0c4df52f83 fix: pass bidders to checkout select form to resolve undefined variable 2026-05-01 12:47:51 -04:00
rlong c6a82f66ad fix: restore north embedded checkout scripts and container configuration 2026-05-01 12:40:25 -04:00
rlong 760a3887b6 feat: hide vehicle type field and set default value to 2 in showcars form 2026-05-01 12:36:55 -04:00
rlong 583b146f41 feat: align showcars form layout with bidders form structure 2026-05-01 12:35:40 -04:00
rlong 9526e17f09 feat: re-organize and shorten form fields in showcars form 2026-05-01 12:34:43 -04:00
rlong b82df0a0fb feat: organize address fields in standard row layout 2026-05-01 12:33:32 -04:00
rlong 7598164ce4 feat: layout showcars form fields one per line 2026-05-01 12:32:35 -04:00
rlong e813d2543f fix: restore missing bidder and vehicle fields to showcars form 2026-05-01 12:31:58 -04:00
rlong 74d67d073e fix: use showcarlist_results variable and update owner column in showcarlist view 2026-05-01 12:30:57 -04:00
rlong e5dbe3e126 fix: restore separate showcars form and showcarlist table views 2026-05-01 12:30:00 -04:00
rlong 18e7c9b361 fix: use correct variable name showcarlist_results in showcarlist view 2026-05-01 12:28:30 -04:00
rlong bec2234bd4 fix: name mywinnings, showwinners, and score routes to resolve RouteNotFoundException 2026-05-01 12:25:08 -04:00
rlong 492ff400c7 fix: name all routes used in Tablar menu 2026-05-01 12:24:27 -04:00
rlong d0a0149a75 fix: correct tablar menu structure to avoid array_push argument error 2026-05-01 12:23:39 -04:00
rlong 10349075b0 fix: define home route name to resolve RouteNotFoundException 2026-05-01 12:22:54 -04:00
rlong 44a34b1114 feat: sync tablar menu with application navigation 2026-05-01 12:22:06 -04:00
rlong bd93dd0bf7 feat: make showcars table sortable using list.js 2026-05-01 12:20:35 -04:00
rlong 81dbf11592 fix: add bidder assigned number to showcars table 2026-05-01 12:20:10 -04:00
rlong 7c88db310d fix: restore table-based layout and display owner data for showcars 2026-05-01 12:19:39 -04:00
rlong 0fd6a6c3e2 fix: pass vehicles data to showcars view 2026-05-01 12:18:40 -04:00
rlong 01c1d77016 fix: resolve vite manifest issue by updating package.json and fixing asset build 2026-05-01 12:14:43 -04:00
rlong 008000314f feat: migrate final batch of views to tablar 2026-05-01 12:01:47 -04:00
rlong a382a434d4 feat: migrate home and winnertotalform views to tablar 2026-05-01 12:00:20 -04:00
rlong 610ee4290b feat: migrate reprint_receipt_form and winningbidderlist views to tablar 2026-05-01 12:00:02 -04:00
rlong 846db1accf feat: migrate vehicletypes and winnertotal views to tablar 2026-05-01 11:59:42 -04:00
rlong 78c2fbb41a feat: migrate mywinnings_results and showcars views to tablar 2026-05-01 11:59:31 -04:00
rlong f130d39118 feat: migrate checkout and checkout_complete views to tablar 2026-05-01 11:59:13 -04:00
rlong 1adb557265 feat: migrate checkout select and checkout list views to tablar 2026-05-01 11:57:48 -04:00
rlong 75aa121ac7 feat: migrate judgingentry and pcentry views to tablar 2026-05-01 11:57:33 -04:00
rlong 296a6b9243 feat: migrate carshowwinners and judges views to tablar 2026-05-01 11:57:26 -04:00
rlong ccac39cd85 feat: migrate bidderlist and awardcategories views to tablar 2026-05-01 11:57:03 -04:00
rlong 69e4516ad8 feat: migrate winnersbyitem and carshowscores views to tablar 2026-05-01 11:56:44 -04:00
rlong f6aac32eaa feat: migrate winners and final tally views to tablar 2026-05-01 11:56:29 -04:00
rlong a60a89d77d feat: migrate item and winner views to tablar 2026-05-01 11:56:14 -04:00
rlong cec229459d feat: migrate bidders view to tablar 2026-05-01 11:51:01 -04:00
rlong 2ae745ffea chore: update tablar menu configuration 2026-05-01 11:50:49 -04:00
rlong bd52e27f76 feat: install and scaffold Tablar theme 2026-05-01 11:49:20 -04:00
rlong 9108b6bab6 Merge pull request 'upgrade: laravel 12' (#2) from feature/upgrade-laravel-13 into master
Reviewed-on: #2
2026-05-01 11:47:19 -04:00
810 changed files with 58971 additions and 2236 deletions
@@ -49,8 +49,7 @@ class WinningBidsResource extends Resource
->searchable(), ->searchable(),
TextInput::make('winning_cost') TextInput::make('winning_cost')
->label('Winning Bid') ->label('Winning Bid')
->prefix('$') ->prefix('$'),
->numeric(),
]); ]);
} }
+1 -1
View File
@@ -7,7 +7,7 @@ use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController class Controller extends \Illuminate\Routing\Controller
{ {
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
} }
+61 -44
View File
@@ -20,6 +20,7 @@ use App\Models\Types;
use App\Models\Vehicles; use App\Models\Vehicles;
use App\Models\VehicleScores; use App\Models\VehicleScores;
use Dompdf\Dompdf; use Dompdf\Dompdf;
class PagesController extends Controller class PagesController extends Controller
{ {
public function home() public function home()
@@ -81,7 +82,8 @@ class PagesController extends Controller
public function checkout(Request $checkout_req) public function checkout(Request $checkout_req)
{ {
if (!$checkout_req->checkoutbiddernum) { if (!$checkout_req->checkoutbiddernum) {
return view('checkout_select_form'); $bidders = \App\Models\Bidders::orderByRaw('CAST(bidder_assigned_number AS UNSIGNED) ASC')->get();
return view('checkout_select_form', ['bidders' => $bidders]);
} elseif (!$checkout_req->checkout_payment_method) { } elseif (!$checkout_req->checkout_payment_method) {
$checkout_bidder = $checkout_req->checkoutbiddernum; $checkout_bidder = $checkout_req->checkoutbiddernum;
$checkout_list_results = DB::select("SELECT $checkout_list_results = DB::select("SELECT
@@ -161,20 +163,32 @@ class PagesController extends Controller
public function editwinners(Request $edit_win_req) public function editwinners(Request $edit_win_req)
{ {
if (!$edit_win_req->winid) { if ($edit_win_req->id) {
return view('editwinners'); $winner = WinningBids::with(['items', 'bidders'])->find($edit_win_req->id);
$bidders = Bidders::all();
$items = Items::all();
return view('editwinners', ['winner' => $winner, 'bidders' => $bidders, 'items' => $items]);
} }
if (!$edit_win_req->winid) {
$winners = WinningBids::with(['items', 'bidders'])->get();
return view('winnersbyitem', ['winnersbyitem_results' => $winners]);
}
$winning_bid_id = $edit_win_req->winid; $winning_bid_id = $edit_win_req->winid;
$winner_bidder = $edit_win_req->winnerbiddernum; $winner_bidder = $edit_win_req->winnerbiddernum;
$winner_item = $edit_win_req->winneritemnum;
$winner_cost = $edit_win_req->winnerbid; $winner_cost = $edit_win_req->winnerbid;
$winner_insert = WinningBids::where('idwinning_bids', $winning_bid_id) $winner_insert = WinningBids::where('idwinning_bids', $winning_bid_id)
->update( ->update(
[ [
'winning_bidder_num' => $winner_bidder, 'winning_bidder_num' => $winner_bidder,
'winning_item_num' => $winner_item,
'winning_cost' => $winner_cost 'winning_cost' => $winner_cost
] ]
); );
return redirect('editwinners'); return redirect('winnersbyitem');
} }
public function finaltally() public function finaltally()
@@ -296,7 +310,8 @@ class PagesController extends Controller
public function reprintReceipt(Request $reprint_receipt_req) public function reprintReceipt(Request $reprint_receipt_req)
{ {
if (!$reprint_receipt_req->reprintbiddernum) { if (!$reprint_receipt_req->reprintbiddernum) {
return view('reprint_receipt_form'); $bidders = Bidders::has('checkout')->get();
return view('reprint_receipt_form', ['bidders' => $bidders]);
} else { } else {
$bidnum=$reprint_receipt_req->reprintbiddernum; $bidnum=$reprint_receipt_req->reprintbiddernum;
$checkout_result = Checkout::where('bidder_num', '=', $bidnum) $checkout_result = Checkout::where('bidder_num', '=', $bidnum)
@@ -317,7 +332,9 @@ class PagesController extends Controller
public function winners(Request $winners_req) public function winners(Request $winners_req)
{ {
if (!$winners_req->winnerbid) { if (!$winners_req->winnerbid) {
return view('winners'); $bidders = Bidders::all();
$items = Items::all();
return view('winners', ['bidders' => $bidders, 'items' => $items]);
} }
$winner_item = $winners_req->winneritemnum; $winner_item = $winners_req->winneritemnum;
$winner_bidder = $winners_req->winnerbiddernum; $winner_bidder = $winners_req->winnerbiddernum;
@@ -334,22 +351,15 @@ class PagesController extends Controller
public function winnersbyitem() public function winnersbyitem()
{ {
$winnersbyitem_results = DB::select("SELECT $winnersbyitem_results = WinningBids::with(['items', 'bidders'])->get();
*
FROM winning_bids
INNER JOIN items as items
ON winning_bids.winning_item_num=items.iditems
INNER JOIN bidders AS bidders
ON winning_bids.winning_bidder_num=bidders.idbidders
ORDER BY item_assigned_num ASC
");
return view('winnersbyitem', ['winnersbyitem_results' => $winnersbyitem_results]); return view('winnersbyitem', ['winnersbyitem_results' => $winnersbyitem_results]);
} }
public function winnertotal(Request $winnertotal_req) public function winnertotal(Request $winnertotal_req)
{ {
if (!$winnertotal_req->winnerbiddernum) { if (!$winnertotal_req->winnerbiddernum) {
return view('winnertotalform'); $bidders = Bidders::all();
return view('winnertotalform', ['bidders' => $bidders]);
} }
$winner_total_bidder = $winnertotal_req->winnerbiddernum; $winner_total_bidder = $winnertotal_req->winnerbiddernum;
$winnertotal_list_results = DB::select("SELECT $winnertotal_list_results = DB::select("SELECT
@@ -377,37 +387,41 @@ class PagesController extends Controller
public function winningbidderlist() public function winningbidderlist()
{ {
$winnerlist_results = WinningBids::join('bidders', 'winning_bids.winning_bidder_num', '=', 'bidders.idbidders') $winnerlist_results = Bidders::whereHas('winningBids')
->groupBy('winning_bidder_num') ->orderBy('bidder_assigned_number')
->orderBy('bidders.bidder_assigned_number')
->get(); ->get();
return view('winningbidderlist', ['winnerlist_results' => $winnerlist_results]); return view('winningbidderlist', ['winning_bidders' => $winnerlist_results]);
} }
public function judgingentry(Request $judgingentry_req) public function judgingentry(Request $judgingentry_req)
{ {
if (!$judgingentry_req->vehnum) { $judges = \App\Models\Judges::all();
return view('judgingentry'); $vehicles = \App\Models\Vehicles::select('vehicles.*')
} ->leftJoin('bidders', 'vehicles.owner', '=', 'bidders.bidder_assigned_number')
$vehicle = $judgingentry_req->vehnum; ->orderByRaw('CAST(bidders.bidder_assigned_number AS UNSIGNED) ASC')
$judge = $judgingentry_req->judgenum; ->get();
$score = $judgingentry_req->vehscore;
$bidder_insert = VehicleScores::updateOrCreate(
[
'vehicle' => $vehicle,
'judge' => $judge
],
[
'overall_score' => $score
]
);
return redirect('judgingentry'); if ($judgingentry_req->isMethod('post')) {
$vehicle = $judgingentry_req->vehnum;
$judge = $judgingentry_req->judgenum;
$score = $judgingentry_req->vehscore;
VehicleScores::updateOrCreate(
['vehicle' => $vehicle, 'judge' => $judge],
['overall_score' => $score]
);
return redirect('judgingentry');
}
return view('judgingentry', ['judges' => $judges, 'vehicles' => $vehicles]);
} }
public function showcars(Request $showcar_req) public function showcars(Request $showcar_req)
{ {
if (!$showcar_req->bidderlname) { if (!$showcar_req->bidderlname) {
return view('showcars'); $vehicles = \App\Models\Vehicles::with('vehicleOwner')->get();
return view('showcars', ['vehicles' => $vehicles]);
} }
$bidder_lname = $showcar_req->bidderlname; $bidder_lname = $showcar_req->bidderlname;
$bidder_fname = $showcar_req->bidderfname; $bidder_fname = $showcar_req->bidderfname;
@@ -466,7 +480,8 @@ class PagesController extends Controller
public function pcentry(Request $pcentry_req) public function pcentry(Request $pcentry_req)
{ {
if (!$pcentry_req->vehnum) { if (!$pcentry_req->vehnum) {
return view('pcentry'); $vehicles = Vehicles::all();
return view('pcentry', ['vehicles' => $vehicles]);
} }
$vehicle=$pcentry_req->vehnum; $vehicle=$pcentry_req->vehnum;
$pc_count=$pcentry_req->pc_count; $pc_count=$pcentry_req->pc_count;
@@ -500,7 +515,8 @@ class PagesController extends Controller
public function awardcategories(Request $category_req) public function awardcategories(Request $category_req)
{ {
if (!$category_req->category) { if (!$category_req->category) {
return view('awardcategories'); $categories = CarShowCategory::all();
return view('awardcategories', ['categories' => $categories]);
} }
$category = $category_req->category; $category = $category_req->category;
if ($category_req->has('vehtype')) { if ($category_req->has('vehtype')) {
@@ -522,20 +538,20 @@ class PagesController extends Controller
public function showwinners() public function showwinners()
{ {
$carshowwinner_results = CarShowWinner::with(['awardCategory', 'awardVehicle', 'awardVehicle.vehicleOwner'])->get(); $carshowwinner_results = CarShowWinner::with(['awardCategory', 'awardVehicle', 'awardVehicle.vehicleOwner'])->get();
return view('carshowwinners', ['carshowwinner_results' => $carshowwinner_results]); return view('carshowwinners', ['winners' => $carshowwinner_results]);
} }
public function showscores() public function showscores()
{ {
$carshowscore_results = VehicleScores::with(['scoredVehicle']) $carshowscore_results = VehicleScores::with(['scoredVehicle', 'scoredVehicle.vehicleOwner'])
->groupBy('vehicle') ->groupBy('vehicle')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore') ->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->orderBy('totalscore', 'desc') ->orderBy('totalscore', 'desc')
->get(); ->get();
return view('carshowscores', ['carshowscore_results' => $carshowscore_results]); return view('carshowscores', ['scores_results' => $carshowscore_results]);
} }
public function showscoresbycar() public function showscoresbycar()
{ {
$carshowscore2_results = VehicleScores::with(['scoredVehicle']) $carshowscore2_results = VehicleScores::with(['scoredVehicle', 'scoredVehicle.vehicleOwner'])
->groupBy('vehicle') ->groupBy('vehicle')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore') ->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
//->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number') //->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number')
@@ -546,7 +562,7 @@ class PagesController extends Controller
LIMIT 1 LIMIT 1
) AS UNSIGNED) ASC') ) AS UNSIGNED) ASC')
->get(); ->get();
return view('carshowscores', ['carshowscore_results' => $carshowscore2_results]); return view('carshowscores', ['scores_results' => $carshowscore2_results]);
} }
public function showcarlist() public function showcarlist()
{ {
@@ -588,3 +604,4 @@ class PagesController extends Controller
]); ]);
} }
} }
+2 -2
View File
@@ -24,11 +24,11 @@ class CarShowWinner extends Model
public function awardVehicle() public function awardVehicle()
{ {
return $this->hasMany('App\Models\Vehicles', 'id', 'vehicle'); return $this->belongsTo('App\Models\Vehicles', 'vehicle', 'id');
} }
public function awardCategory() public function awardCategory()
{ {
return $this->hasMany('App\Models\CarShowCategory', 'id', 'category'); return $this->belongsTo('App\Models\CarShowCategory', 'category', 'id');
} }
} }
+1 -1
View File
@@ -30,6 +30,6 @@ class VehicleScores extends Model
public function scoredVehicle() public function scoredVehicle()
{ {
return $this->hasMany('App\Models\Vehicles', 'id', 'vehicle'); return $this->belongsTo('App\Models\Vehicles', 'vehicle', 'id');
} }
} }
+2 -1
View File
@@ -16,7 +16,8 @@
"laravel/tinker": "^2.9", "laravel/tinker": "^2.9",
"laravel/ui": "^4.2", "laravel/ui": "^4.2",
"socialiteproviders/manager": "^4.9", "socialiteproviders/manager": "^4.9",
"spatie/laravel-pdf": "^2.8" "spatie/laravel-pdf": "^2.8",
"takielias/tablar": "^13.02"
}, },
"require-dev": { "require-dev": {
"barryvdh/laravel-debugbar": "^3.8", "barryvdh/laravel-debugbar": "^3.8",
Generated
+65 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "6a8c1dbed78b92e966ff11684e8bb902", "content-hash": "9f3b5396da1f090c9cab4f086f23f776",
"packages": [ "packages": [
{ {
"name": "barryvdh/laravel-snappy", "name": "barryvdh/laravel-snappy",
@@ -9312,6 +9312,70 @@
], ],
"time": "2026-03-30T13:44:50+00:00" "time": "2026-03-30T13:44:50+00:00"
}, },
{
"name": "takielias/tablar",
"version": "13.02",
"source": {
"type": "git",
"url": "https://github.com/takielias/tablar.git",
"reference": "bb38f4f12482a41297ca5f19667cb1fdc6d5e0ef"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/takielias/tablar/zipball/bb38f4f12482a41297ca5f19667cb1fdc6d5e0ef",
"reference": "bb38f4f12482a41297ca5f19667cb1fdc6d5e0ef",
"shasum": ""
},
"require": {
"illuminate/support": ">=10.0"
},
"conflict": {
"laravel/breeze": "*"
},
"require-dev": {
"orchestra/testbench": ">=9.0",
"phpunit/phpunit": ">=10.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"TakiElias\\Tablar\\TablarServiceProvider"
]
},
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"TakiElias\\Tablar\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taki Elias",
"email": "taki.elias@gmail.com"
}
],
"description": "Tablar: A Laravel Dashboard Preset Featuring Dark Mode and Dynamic Menu Generation for Effortless Navigation and Fast Development.",
"keywords": [
"bootstrap",
"laravel",
"preset",
"tabler",
"vite"
],
"support": {
"issues": "https://github.com/takielias/tablar/issues",
"source": "https://github.com/takielias/tablar/tree/13.02"
},
"time": "2026-03-26T09:58:14+00:00"
},
{ {
"name": "thecodingmachine/safe", "name": "thecodingmachine/safe",
"version": "v3.4.0", "version": "v3.4.0",
+145
View File
@@ -0,0 +1,145 @@
<?php
return [
'title' => 'Silent Auction Dashboard',
'logo' => '/assets/tablar-logo.png',
'menu' => [
[
'text' => 'Home',
'route' => 'home',
'icon' => 'ti ti-home',
],
[
'text' => 'Bidders',
'icon' => 'ti ti-users',
'submenu' => [
[
'text' => 'Add Bidder',
'route' => 'bidders',
],
[
'text' => 'List Bidders',
'route' => 'bidderlist',
],
],
],
[
'text' => 'Items',
'icon' => 'ti ti-box',
'submenu' => [
[
'text' => 'Add Item',
'route' => 'items',
],
[
'text' => 'List Items',
'route' => 'itemlist',
],
],
],
[
'text' => 'Winners',
'icon' => 'ti ti-trophy',
'submenu' => [
[
'text' => 'Add Winner',
'route' => 'winners',
],
[
'text' => 'Edit Winner',
'route' => 'editwinners',
],
[
'text' => 'List Winners',
'route' => 'winnerlist',
],
[
'text' => 'Winners by Item',
'route' => 'winnersbyitem',
],
[
'text' => 'Check My Winnings',
'route' => 'mywinnings',
],
],
],
[
'text' => 'CarShow',
'icon' => 'ti ti-car',
'submenu' => [
[
'text' => 'Add Car',
'route' => 'showcars',
],
[
'text' => 'List Show Cars',
'route' => 'showcarlist',
],
[
'text' => 'Judging Entry',
'route' => 'judgingentry',
],
[
'text' => 'People\'s Choice Entry',
'route' => 'pcentry',
],
[
'text' => 'Add Judge',
'route' => 'judges',
],
[
'text' => 'Car Show Winners',
'route' => 'showwinners',
],
[
'text' => 'Vehicle Total Scores',
'route' => 'showscores',
],
[
'text' => 'Scores by Car',
'route' => 'showscoresbycar',
],
[
'text' => 'Tabulate Winners',
'route' => 'tabulateshowwinners',
],
],
],
[
'text' => 'Reports',
'icon' => 'ti ti-file-text',
'submenu' => [
[
'text' => 'Bidder List',
'route' => 'bidderlist',
],
[
'text' => 'Completed Checkouts',
'route' => 'checkout_complete_list',
],
[
'text' => 'Items',
'route' => 'itemlist',
],
[
'text' => 'Winners',
'route' => 'winnerlist',
],
],
],
[
'text' => 'Checkout',
'icon' => 'ti ti-credit-card',
'submenu' => [
[
'text' => 'Checkout Bidder',
'route' => 'checkout',
],
[
'text' => 'Re-Print Receipt',
'route' => 'reprint_receipt',
],
],
],
],
];
+5008
View File
File diff suppressed because it is too large Load Diff
+41 -19
View File
@@ -1,21 +1,43 @@
{ {
"private": true, "private": true,
"scripts": { "type": "module",
"dev": "npm run development", "scripts": {
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "dev": "vite",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "build": "vite build"
"watch-poll": "npm run watch -- --watch-poll", },
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "devDependencies": {
"prod": "npm run production", "@melloware/coloris": "^0.25.0",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" "@popperjs/core": "^2.11.8",
}, "@tabler/core": "1.4.0",
"devDependencies": { "@tabler/icons": "^3.35.0",
"axios": "^0.15.3", "@tabler/icons-webfont": "^3.35.0",
"bootstrap-sass": "^3.3.7", "apexcharts": "^3.54.1",
"cross-env": "^3.2.3", "autosize": "^6.0.1",
"jquery": "^3.1.1", "axios": "^1.7.4",
"laravel-mix": "0.*", "bootstrap": "5.3.8",
"lodash": "^4.17.4", "bootstrap-sass": "^3.3.7",
"vue": "^2.1.10" "choices.js": "^11.1.0",
} "countup.js": "^2.9.0",
"cross-env": "^7.0.3",
"dropzone": "^6.0.0-beta.2",
"fslightbox": "^3.7.4",
"fullcalendar": "^6.1.19",
"imask": "^7.6.1",
"jquery": "^3.7.1",
"jsvectormap": "^1.7.0",
"laravel-vite-plugin": "^1.0",
"list.js": "^2.3.1",
"litepicker": "^2.0.12",
"lodash": "^4.17.21",
"nouislider": "^15.8.1",
"plyr": "^3.8.3",
"sass": "~1.64.2",
"sass-loader": "^16.0.1",
"signature_pad": "^5.1.1",
"star-rating.js": "^4.3.1",
"tom-select": "^2.4.3",
"typed.js": "^2.1.0",
"vite": "^5.0.0",
"vite-plugin-static-copy": "~3.0.0"
}
} }
+1 -1
View File
@@ -1 +1 @@
/home/sjcsauction/public_html/.well-known auction/home/sjcsauction/public_html/.well-known
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Some files were not shown because too many files have changed in this diff Show More