Compare commits

...

135 Commits

Author SHA1 Message Date
42067a7b04 fix years for categories 2024-05-12 15:01:21 -04:00
9e65a3731c fix typo 2024-05-08 19:25:39 -04:00
4bdf14de83 fix typo 2024-05-08 19:09:44 -04:00
141d6c25fa adjust year categories 2024-03-16 13:39:58 -04:00
11ef29d89c remove stats dir 2024-03-16 13:24:54 -04:00
a2ef1742af update vehicle registration form 2023-04-13 16:41:15 -04:00
4cc8296049 Fix typo 2023-04-12 19:39:09 -04:00
d0dd8d35a9 Update tabulation for new year 2023-04-12 19:31:00 -04:00
4fb991e4c0 Merge branch 'upgrades-and-filament' into 'master'
Upgrades and filament

See merge request tfmm/Silent-Auction!1
2023-03-16 18:24:24 +00:00
925032b146 add show winner tabulation to menu 2023-03-16 14:22:11 -04:00
78715cc3ef auto truncate winner table 2023-03-16 14:13:40 -04:00
2ef2f216cb tabulate showwinners route 2023-03-16 14:09:54 -04:00
fac607c57d add tabulate winner route 2023-03-16 14:02:19 -04:00
b85754b888 typo 2023-03-16 13:49:34 -04:00
bc7a52ab28 set resource order 2023-03-16 13:49:01 -04:00
efa2e08c31 typo 2023-03-16 13:45:31 -04:00
5b814baaa7 bidder phn num 2023-03-16 13:44:41 -04:00
44fffdcc97 bidder phn num 2023-03-16 13:44:06 -04:00
25100251b7 bidder tel num 2023-03-16 13:41:50 -04:00
a49bb5e218 veh score rel mgr 2023-03-16 13:37:56 -04:00
0d73255ee8 Fix typo 2023-03-16 13:30:34 -04:00
a2f3b2c380 veh owner rel mgr form 2023-03-16 13:29:39 -04:00
5e7155457d vehicle resource reorder tabs 2023-03-16 13:19:31 -04:00
aed20ddd00 typo 2023-03-16 13:17:13 -04:00
e6e49ddfcb winning bids bidder select 2023-03-16 13:16:40 -04:00
082c110616 winning bid mask 2023-03-16 13:15:28 -04:00
24841b3b98 items 2023-03-16 13:13:42 -04:00
b51e56ff6f winning bids fix 2023-03-16 13:07:06 -04:00
eb2dee7c13 fix bids 2023-03-16 12:59:33 -04:00
99d8b9ec0a composer update 2023-03-16 12:52:38 -04:00
892bf2b09f fix money mask 2023-03-16 12:39:15 -04:00
f4255621fe fix commas 2023-03-16 12:36:26 -04:00
a13c9be41c more resource setup 2022-09-28 07:52:27 -04:00
ef96dc7cd8 update sorting and composer 2022-09-26 19:12:15 -04:00
1629e22b63 resources and relation mgrs 2022-09-12 07:57:09 -04:00
e484c0df98 resource setup 2022-09-04 13:57:38 -04:00
8f95e68e61 work on fixing bidders and vehicles filament 2022-09-03 12:49:20 -04:00
bc6f3c05d8 typo 2022-08-28 15:30:40 -04:00
d91e1703e7 try to fix vehownerrelmgr 2022-08-28 15:29:40 -04:00
a588f397b2 vehownerrelmgr 2022-08-28 15:16:50 -04:00
ee9d54eeff update vehscorerelationmgr 2022-08-28 15:14:06 -04:00
9ffb0cafc5 fix relation 2022-08-28 15:12:08 -04:00
6d38150b1d typo 2022-08-28 15:10:17 -04:00
d4a3fb430b vehresource form 2022-08-28 15:08:15 -04:00
f4a19837bb typo 2022-08-16 18:10:49 -04:00
60b526adf8 typo 2022-08-16 18:10:25 -04:00
b6641efea7 sort fix 2022-08-16 18:10:01 -04:00
a15f64253b test veh resource sort fix 2022-08-16 18:08:24 -04:00
2399774b52 sorting fix 2022-08-14 19:14:58 -04:00
cf8cf1a00c code cleanup 2022-08-14 11:32:00 -04:00
0991c4b5eb typo 2022-08-14 11:27:26 -04:00
875ae802e2 vehicle resource 2022-08-14 11:26:59 -04:00
bee1c9dd0d typos 2022-08-14 11:23:01 -04:00
65f5d194ed typo 2022-08-14 11:22:36 -04:00
7211867d1c vehicles resource 2022-08-14 11:22:14 -04:00
1a20df54a1 SVeh relation mgr display update 2022-08-14 11:15:36 -04:00
cb7008a74f fix veh score form 2022-08-14 11:13:50 -04:00
8536fb0c7b scored veh relation veh scores 2022-08-14 11:11:02 -04:00
5249fff6f6 undo last 2022-08-11 17:21:47 -04:00
421b19b3e9 vscores resource updates 2022-08-11 17:20:14 -04:00
ad3dbe3b42 vscore relation 2022-08-11 17:14:34 -04:00
e0a5e98a6a vehicle relation 2022-08-11 17:09:03 -04:00
c9843c6404 score relation 2022-08-08 21:22:43 -04:00
3382de51d5 score relation 2022-08-08 21:21:39 -04:00
401f432a96 score relation 2022-08-08 21:20:52 -04:00
1d3abb8b8d score relation 2022-08-08 21:16:39 -04:00
b3e2909728 score relation 2022-08-08 21:15:22 -04:00
4f751c32b0 score relation 2022-08-08 21:13:18 -04:00
484e2c23ec scores relations 2022-08-08 21:11:30 -04:00
78c72d1937 scores sort 2022-08-08 21:07:15 -04:00
6a118fc047 relationmanager 2022-08-08 21:05:06 -04:00
910ab01712 score relation 2022-08-08 21:03:05 -04:00
e23fe4eacf score relation 2022-08-08 21:01:59 -04:00
69bc4f3313 score relation 2022-08-08 21:00:52 -04:00
5cd5b84ebd score relation 2022-08-08 20:59:40 -04:00
4922235796 vehicle score relation 2022-08-08 20:58:29 -04:00
be12b4756d vehicle relation manager 2022-08-08 20:56:55 -04:00
9bc97078fc vehicle scores setup 2022-08-08 20:56:28 -04:00
012a95bc36 winner relation 2022-08-08 20:50:05 -04:00
eab6be34be award relation 2022-08-08 20:49:19 -04:00
0a826b5dfd winner relation 2022-08-08 20:47:01 -04:00
dbb2821472 winner relation 2022-08-08 20:45:03 -04:00
3b93552ec7 winner relation 2022-08-08 20:43:32 -04:00
87be8975c0 winner relation 2022-08-08 20:42:37 -04:00
24ac516631 winner relation 2022-08-08 20:42:10 -04:00
acf63aeb46 winner relation 2022-08-08 20:39:33 -04:00
10ce7b5224 Winner resource relation 2022-08-08 20:38:29 -04:00
3033006fd6 fix winner vehicle 2022-08-08 20:36:05 -04:00
82bfe4da3f fix winner category 2022-08-08 20:34:48 -04:00
5a330c6cda relationship update 2022-08-08 15:01:38 -04:00
e618bd4b56 relation updates 2022-08-08 14:57:49 -04:00
6191923269 category relation 2022-08-08 14:55:05 -04:00
05d347914e fix category relation 2022-08-08 14:54:16 -04:00
2bbb10e55b remove failed sort 2022-08-07 13:55:31 -04:00
ae21c17f60 sort test 2022-08-07 13:46:27 -04:00
56b6180432 Revert sorting 2022-08-07 13:37:33 -04:00
910a8f79fb composer install 2022-08-07 13:36:02 -04:00
3c6097a5b2 vehicle sort 2022-08-07 13:34:06 -04:00
7d4964e268 sort test 2022-08-07 13:26:20 -04:00
eebffa5fa2 one more sort fix 2022-08-07 13:23:46 -04:00
e0182f4127 fix sort 2022-08-07 13:23:18 -04:00
b2c91d16f7 try ordering 2022-08-07 13:21:50 -04:00
0133c405a5 fix pc relation 2022-08-07 13:18:48 -04:00
9ac36b7ab8 fix vehicle relation 2022-08-07 13:18:06 -04:00
e5b7b58cc8 peopleschoice setup 2022-08-07 13:17:10 -04:00
0ba081bb8c fix plural 2022-08-07 13:09:46 -04:00
31eb22c3c2 Item grouping 2022-08-07 13:07:31 -04:00
afa1c78db4 winner resource 2022-08-07 12:54:40 -04:00
d4d33e3267 winner resource update 2022-08-07 12:52:59 -04:00
6e2bdee1c6 resources and relations 2022-08-07 12:48:05 -04:00
83a89329b8 categoryrelation 2022-08-07 10:35:25 -04:00
fb50e5624f category relation 2022-08-07 09:01:34 -04:00
8fbdcc2a2f category relation 2022-08-07 08:47:36 -04:00
7fdc4bbc42 category edit 2022-08-07 08:44:39 -04:00
fde7c758d7 category relationship 2022-08-06 19:19:33 -04:00
b6ff1755ad category relations 2022-08-06 19:13:29 -04:00
92daf26e8a category relations 2022-08-06 19:02:34 -04:00
ef7aa5fe90 category relations 2022-08-06 19:02:21 -04:00
c83921b40a judge resource 2022-08-06 18:50:26 -04:00
2068289064 category edit 2022-08-06 18:47:14 -04:00
2b735c9fbf move debugbar to dev req 2022-08-06 16:36:44 -04:00
c63f4b6042 remove laravelhealth 2022-08-06 16:34:22 -04:00
7e001c7b56 add laravelhealth 2022-08-06 16:31:12 -04:00
5cd77faf79 category edit 2022-08-06 16:24:05 -04:00
cef7923531 category edit 2022-08-06 16:17:54 -04:00
2192f9de7c category resource form setup 2022-08-06 16:16:32 -04:00
de31581290 work on category resource 2022-08-06 16:11:15 -04:00
3ac8d12c15 update category model 2022-08-06 15:50:07 -04:00
003e686224 Update carshowcategory filament resource 2022-08-06 15:46:22 -04:00
f54e41aef9 Add filament 2022-08-06 15:39:24 -04:00
a3f751e8fa upgrade to l9 2022-08-06 14:35:30 -04:00
01ce1a4f58 update to l8 2022-08-06 14:03:59 -04:00
17f6924abb update to l7 2022-08-06 13:58:30 -04:00
bc534f4d74 update php package 2022-08-06 13:26:47 -04:00
dba67cec9c update to v6 2022-08-06 13:20:02 -04:00
104 changed files with 15252 additions and 7208 deletions

View File

@ -102,7 +102,7 @@ class TabulateWinners extends Command
return $peoplesChoice2ndWinnerQuery->vehicle;
}
function zeroTo43Winner()
function zeroTo42Winner()
{
$zeroTo43Query = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
@ -111,94 +111,63 @@ class TabulateWinners extends Command
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 0)
->where('vehicles.year', '<=', 1943)
->where('vehicles.year', '<=', 1942)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $zeroTo43Query->vehicle;
}
function zeroTo432ndWinner()
function fortyThreeToSixtySevenWinner()
{
$zeroTo432ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
$fortyThreeToSixtySevenQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 0)
->where('vehicles.year', '<=', 1943)
->where('vehicles.year', '>=', 1943)
->where('vehicles.year', '<=', 1967)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $zeroTo432ndQuery->vehicle;
return $fortyThreeToSixtySevenQuery->vehicle;
}
function fortyFourToNinetySevenWinner()
function sixtyEightToNinetyEightWinner()
{
$fortyFourToNinetySevenQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
$sixtyEightToNinetyEightQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1944)
->where('vehicles.year', '<=', 1997)
->where('vehicles.year', '>=', 1968)
->where('vehicles.year', '<=', 1998)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $fortyFourToNinetySevenQuery->vehicle;
return $sixtyEightToNinetyEightQuery->vehicle;
}
function fortyFourToNinetySeven2ndWinner()
function NinetyNineToCurrentWinner()
{
$fortyFourToNinetySeven2ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
$NinetyNineToCurrentQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1944)
->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $fortyFourToNinetySeven2ndQuery->vehicle;
}
function NinetyEightToCurrentWinner()
{
$NinetyEightToCurrentQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1998)
->where('vehicles.year', '>=', 1999)
//->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $NinetyEightToCurrentQuery->vehicle;
return $NinetyNineToCurrentQuery->vehicle;
}
function NinetyEightToCurrent2ndWinner()
{
$NinetyEightToCurrent2ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1998)
//->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $NinetyEightToCurrent2ndQuery->vehicle;
}
// Truncate table first
CarShowWinner::truncate();
//Insert Best In Show Winner
CarShowWinner::updateOrCreate(
[
@ -209,18 +178,7 @@ class TabulateWinners extends Command
'vehicle' => bestInShowWinner()
]
);
/*
//Insert Best In Show 2nd Place Winner
CarShowWinner::updateOrCreate(
[
'category' => '6',
'place' => 'second'
],
[
'vehicle' => bestInShow2ndWinner()
]
);
*/
//Insert People's Choice Winner
CarShowWinner::updateOrCreate(
[
@ -231,59 +189,94 @@ class TabulateWinners extends Command
'vehicle' => pcWinner()
]
);
/*
//Insert Year Award Winners
//0-1942
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'first'
],
[
'vehicle' => zeroTo42Winner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'second'
],
[
'vehicle' => zeroTo42Winner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'third'
],
[
'vehicle' => zeroTo42Winner()
]
);
//1943-1967
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'first'
],
[
'vehicle' => fortyThreeToSixtySevenWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'second'
],
[
'vehicle' => fortyThreeToSixtySevenWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'third'
],
[
'vehicle' => fortyThreeToSixtySevenWinner()
]
);
//1968-1997
CarShowWinner::updateOrCreate(
[
'category' => '3',
'category' => '20',
'place' => 'first'
],
[
'vehicle' => sixtyEightToNinetyEightWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '20',
'place' => 'second'
],
[
'vehicle' => pc2ndWinner()
'vehicle' => sixtyEightToNinetyEightWinner()
]
);
*/
//Insert Year Award Winners
//0-1943
);
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'first'
],
[
'vehicle' => zeroTo43Winner()
]
);
[
'category' => '20',
'place' => 'third'
],
[
'vehicle' => sixtyEightToNinetyEightWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'second'
],
[
'vehicle' => zeroTo432ndWinner()
]
);
//1944-1997
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'first'
],
[
'vehicle' => fortyFourToNinetySevenWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'second'
],
[
'vehicle' => fortyFourToNinetySeven2ndWinner()
]
);
//1998-Current
CarShowWinner::updateOrCreate(
[
@ -291,17 +284,25 @@ class TabulateWinners extends Command
'place' => 'first'
],
[
'vehicle' => NinetyEightToCurrentWinner()
'vehicle' => NinetyNineToCurrentWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'second'
],
[
'vehicle' => NinetyEightToCurrent2ndWinner()
'vehicle' => NinetyNineToCurrentWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'third'
],
[
'vehicle' => NinetyNineToCurrentWinner()
]
);
}

View File

@ -0,0 +1,309 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Bidders;
use App\Models\CarShowCategory;
use App\Models\CarShowWinner;
use App\Models\PeoplesChoice;
use App\Models\Vehicles;
use App\Models\VehicleScores;
use Illuminate\Support\Facades\DB;
class TabulateWinners extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'carshow:tabulatewinners';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Tabulate Show Winners, and add them to the CarShowWinner table';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
function bestInShowWinner()
{
$bestInShowWinnerQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $bestInShowWinnerQuery->vehicle;
}
function bestInShow2ndWinner()
{
$bestInShow2ndWinnerQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $bestInShow2ndWinnerQuery->vehicle;
}
function pcWinner()
{
$peoplesChoiceWinnerQuery = PeoplesChoice::join('vehicles', 'peoples_choice.vehicle', '=', 'vehicles.id')
->groupBy('peoples_choice.vehicle')
->selectRaw('*, sum(pc_count) as totalscore')
->whereNotIn('vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $peoplesChoiceWinnerQuery->vehicle;
}
function pc2ndWinner()
{
$peoplesChoice2ndWinnerQuery = PeoplesChoice::join('vehicles', 'peoples_choice.vehicle', '=', 'vehicles.id')
->groupBy('peoples_choice.vehicle')
->selectRaw('*, sum(pc_count) as totalscore')
->whereNotIn('vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $peoplesChoice2ndWinnerQuery->vehicle;
}
function zeroTo43Winner()
{
$zeroTo43Query = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 0)
->where('vehicles.year', '<=', 1943)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $zeroTo43Query->vehicle;
}
function zeroTo432ndWinner()
{
$zeroTo432ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 0)
->where('vehicles.year', '<=', 1943)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $zeroTo432ndQuery->vehicle;
}
function fortyFourToNinetySevenWinner()
{
$fortyFourToNinetySevenQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1944)
->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $fortyFourToNinetySevenQuery->vehicle;
}
function fortyFourToNinetySeven2ndWinner()
{
$fortyFourToNinetySeven2ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1944)
->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $fortyFourToNinetySeven2ndQuery->vehicle;
}
function NinetyEightToCurrentWinner()
{
$NinetyEightToCurrentQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1998)
//->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $NinetyEightToCurrentQuery->vehicle;
}
function NinetyEightToCurrent2ndWinner()
{
$NinetyEightToCurrent2ndQuery = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->groupBy('vehicles.id')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->whereNotIn('vehicle_scores.vehicle', function($query){
$query->select('vehicle')->from('car_show_winners');
})
->where('vehicles.year', '>=', 1998)
//->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $NinetyEightToCurrent2ndQuery->vehicle;
}
// Truncate table first
CarShowWinner::truncate();
//Insert Best In Show Winner
CarShowWinner::updateOrCreate(
[
'category' => '6',
'place' => 'first'
],
[
'vehicle' => bestInShowWinner()
]
);
/*
//Insert Best In Show 2nd Place Winner
CarShowWinner::updateOrCreate(
[
'category' => '6',
'place' => 'second'
],
[
'vehicle' => bestInShow2ndWinner()
]
);
*/
//Insert People's Choice Winner
CarShowWinner::updateOrCreate(
[
'category' => '3',
'place' => 'first'
],
[
'vehicle' => pcWinner()
]
);
/*
CarShowWinner::updateOrCreate(
[
'category' => '3',
'place' => 'second'
],
[
'vehicle' => pc2ndWinner()
]
);
*/
//Insert Year Award Winners
//0-1943
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'first'
],
[
'vehicle' => zeroTo43Winner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '17',
'place' => 'second'
],
[
'vehicle' => zeroTo432ndWinner()
]
);
//1944-1997
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'first'
],
[
'vehicle' => fortyFourToNinetySevenWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'second'
],
[
'vehicle' => fortyFourToNinetySeven2ndWinner()
]
);
//1998-Current
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'first'
],
[
'vehicle' => NinetyEightToCurrentWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'second'
],
[
'vehicle' => NinetyEightToCurrent2ndWinner()
]
);
}
}

View File

@ -2,64 +2,49 @@
namespace App\Exceptions;
use Exception;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
* A list of exception types with their corresponding custom log levels.
*
* @var array
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
*/
protected $dontReport = [
\Illuminate\Auth\AuthenticationException::class,
\Illuminate\Auth\Access\AuthorizationException::class,
\Symfony\Component\HttpKernel\Exception\HttpException::class,
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
\Illuminate\Session\TokenMismatchException::class,
\Illuminate\Validation\ValidationException::class,
protected $levels = [
//
];
/**
* Report or log an exception.
* A list of the exception types that are not reported.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
* @var array<int, class-string<\Throwable>>
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed to the session on validation exceptions.
*
* @var array<int, string>
*/
protected $dontFlash = [
'current_password',
'password',
'password_confirmation',
];
/**
* Register the exception handling callbacks for the application.
*
* @param \Exception $exception
* @return void
*/
public function report(Exception $exception)
public function register()
{
parent::report($exception);
$this->reportable(function (Throwable $e) {
//
});
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
return parent::render($request, $exception);
}
/**
* Convert an authentication exception into an unauthenticated response.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Auth\AuthenticationException $exception
* @return \Illuminate\Http\Response
*/
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest(route('login'));
}
}
}

View File

@ -0,0 +1,88 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource\RelationManagers;
use App\Models\Bidders;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
class BiddersResource extends Resource
{
protected static ?string $model = Bidders::class;
protected static ?string $recordTitleAttribute = 'idbidders';
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('bidder_fname')->label('First Name'),
TextInput::make('bidder_lname')->label('Last Name'),
TextInput::make('bidder_addr')->label('Address'),
TextInput::make('bidder_city')->label('City'),
TextInput::make('bidder_state')->label('State'),
TextInput::make('bidder_zip')->label('Zip'),
TextInput::make('bidder_phone')->label('Phone Number')
->mask(fn (TextInput\Mask $mask) => $mask->pattern('(000)000-0000')),
TextInput::make('bidder_email')->label('Email'),
TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('bidder_assigned_number')->sortable()->label('Assigned Number'),
TextColumn::make('bidder_fname')->sortable()->label('First Name'),
TextColumn::make('bidder_lname')->sortable()->label('Last Name'),
TextColumn::make('bidder_addr')->label('Address'),
TextColumn::make('bidder_city')->label('City'),
TextColumn::make('bidder_state')->label('State'),
TextColumn::make('bidder_zip')->label('Zip'),
TextColumn::make('bidder_phone')->label('Phone Number'),
TextColumn::make('bidder_email')->label('Email'),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('bidder_assigned_number');
}
public static function getRelations(): array
{
return [
RelationManagers\VehiclesRelationManager::class,
RelationManagers\CheckoutRelationManager::class,
RelationManagers\WinningBidsRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListBidders::route('/'),
'create' => Pages\CreateBidders::route('/create'),
'edit' => Pages\EditBidders::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateBidders extends CreateRecord
{
protected static string $resource = BiddersResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditBidders extends EditRecord
{
protected static string $resource = BiddersResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListBidders extends ListRecords
{
protected static string $resource = BiddersResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class CheckoutRelationManager extends RelationManager
{
protected static string $relationship = 'checkout';
protected static ?string $recordTitleAttribute = 'bidder_num';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('bidder_num')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('bidders.bidder_assigned_number')
->label('Bidder Number')
->sortable(),
Tables\Columns\TextColumn::make('winnertotal')
->label('Total Amount')
->money('usd', 'true')
->sortable(),
Tables\Columns\TextColumn::make('paymentMethod.pm_name')
->label('Payment Method')
->sortable(),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,78 @@
<?php
namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\CarShowCategory;
class VehiclesRelationManager extends RelationManager
{
protected static string $relationship = 'vehicles';
protected static ?string $recordTitleAttribute = 'owner';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('year')
->label('Year'),
Forms\Components\TextInput::make('make')
->label('Make'),
Forms\Components\TextInput::make('model')
->label('Model'),
Forms\Components\Select::make('type')
->label('Type')
->options(CarShowCategory::vehtype()->pluck('category_name', 'id'))
->searchable(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('vehicleOwner.bidder_assigned_number')
->label('Number')
->sortable(),
Tables\Columns\TextColumn::make('year')
->label('Year')
->sortable(),
Tables\Columns\TextColumn::make('make')
->label('Make')
->sortable(),
Tables\Columns\TextColumn::make('model')
->label('Model')
->sortable(),
Tables\Columns\TextColumn::make('vehicleType.category_name')
->label('Type')
->sortable(),
Tables\Columns\BooleanColumn::make('doNotJudge')
->label('Judged?')
->sortable()
->falseIcon('heroicon-o-badge-check')
->trueIcon('heroicon-o-x-circle')
->trueColor('danger')
->falseColor('success'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,61 @@
<?php
namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Bidders;
class WinningBidsRelationManager extends RelationManager
{
protected static string $relationship = 'winningBids';
protected static ?string $recordTitleAttribute = 'winning_bidder_num';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('winning_bidder_num')
->label('Winning Bidder Number')
->options(Bidders::pluck('bidder_assigned_number', 'idbidders'))
->searchable(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('items.item_assigned_num')
->label('Item Number')
->sortable(),
Tables\Columns\TextColumn::make('bidders.winning_bidder_num')
->label('Bidder Number')
->sortable(),
Tables\Columns\TextColumn::make('winning_cost')
->label('Winning Bid Amt')
->money('usd', 'true')
->sortable(),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,72 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource\RelationManagers;
use App\Filament\Resources\CarShowCategoryResource\RelationManagers\VehicleRelationManager;
use App\Models\CarShowCategory;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
class CarShowCategoryResource extends Resource
{
protected static ?string $model = CarShowCategory::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('category_name'),
Toggle::make('vehicle_type')->inline(false)
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('category_name')->sortable(),
BooleanColumn::make('vehicle_type')->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('category_name');
}
public static function getRelations(): array
{
return [
RelationManagers\VehicleRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListCarShowCategories::route('/'),
'create' => Pages\CreateCarShowCategory::route('/create'),
'edit' => Pages\EditCarShowCategory::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateCarShowCategory extends CreateRecord
{
protected static string $resource = CarShowCategoryResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditCarShowCategory extends EditRecord
{
protected static string $resource = CarShowCategoryResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListCarShowCategories extends ListRecords
{
protected static string $resource = CarShowCategoryResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace App\Filament\Resources\CarShowCategoryResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class VehicleRelationManager extends RelationManager
{
protected static string $relationship = 'vehicle';
protected static ?string $recordTitleAttribute = 'id';
protected static ?string $inverseRelationship = 'vehicleType';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('id')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('owner'),
Tables\Columns\TextColumn::make('year'),
Tables\Columns\TextColumn::make('make'),
Tables\Columns\TextColumn::make('model'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
Tables\Actions\AssociateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
Tables\Actions\DissociateAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\DissociateBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,80 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use App\Models\CarShowWinner;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\Select;
use App\Models\Vehicles;
use App\Models\CarShowCategory;
class CarShowWinnerResource extends Resource
{
protected static ?string $model = CarShowWinner::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('vehicle')
->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id'))
->searchable(),
Select::make('category')
->label('Category')
->options(CarShowCategory::all()->pluck('category_name', 'id'))
->searchable(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('awardCategory.category_name')->label('Category'),
TextColumn::make('awardVehicle.owner')->label('Vehicle Number'),
TextColumn::make('awardVehicle.year')->label('Year'),
TextColumn::make('awardVehicle.make')->label('Make'),
TextColumn::make('awardVehicle.model')->label('Model'),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getRelations(): array
{
return [
RelationManagers\AwardVehicleRelationManager::class,
RelationManagers\AwardCategoryRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListCarShowWinners::route('/'),
'create' => Pages\CreateCarShowWinner::route('/create'),
'edit' => Pages\EditCarShowWinner::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateCarShowWinner extends CreateRecord
{
protected static string $resource = CarShowWinnerResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditCarShowWinner extends EditRecord
{
protected static string $resource = CarShowWinnerResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListCarShowWinners extends ListRecords
{
protected static string $resource = CarShowWinnerResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,50 @@
<?php
namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class AwardCategoryRelationManager extends RelationManager
{
protected static string $relationship = 'awardCategory';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('id')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('category_name'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,52 @@
<?php
namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class AwardVehicleRelationManager extends RelationManager
{
protected static string $relationship = 'awardVehicle';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('id')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('owner'),
Tables\Columns\TextColumn::make('year'),
Tables\Columns\TextColumn::make('make'),
Tables\Columns\TextColumn::make('model'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,101 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource\RelationManagers;
use App\Models\Checkout;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle;
use App\Models\Bidders;
use App\Models\PaymentMethods;
class CheckoutResource extends Resource
{
protected static ?string $model = Checkout::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('bidder_num')
->label('Bidder')
->options(
Bidders::orderBy('bidder_assigned_number')
->pluck('bidder_assigned_number', 'idbidders')
)
->searchable(),
TextInput::make('winnertotal')
->label('Total Amount')
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
Select::make('payment_method')
->label('Payment Method')
->options(PaymentMethods::all()->pluck('pm_name', 'pm_id'))
->searchable(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('bidders.bidder_assigned_number')
->label('Bidder Number')
->sortable(),
TextColumn::make('winnertotal')
->label('Total Amount')
->money('usd', 'true')
->sortable(),
TextColumn::make('paymentMethod.pm_name')
->label('Payment Method')
->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('bidders.bidder_assigned_number');
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListCheckouts::route('/'),
'create' => Pages\CreateCheckout::route('/create'),
'edit' => Pages\EditCheckout::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateCheckout extends CreateRecord
{
protected static string $resource = CheckoutResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditCheckout extends EditRecord
{
protected static string $resource = CheckoutResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListCheckouts extends ListRecords
{
protected static string $resource = CheckoutResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,62 @@
<?php
namespace App\Filament\Resources\CheckoutResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class BiddersRelationManager extends RelationManager
{
protected static string $relationship = 'bidders';
protected static ?string $recordTitleAttribute = 'bidder_num';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('bidder_num')
->label('Number')
->required()
->createOptionForm([
Forms\Components\TextInput::make('bidder_fname')->label('First Name'),
Forms\Components\TextInput::make('bidder_lname')->label('Last Name'),
Forms\Components\TextInput::make('bidder_addr')->label('Address'),
Forms\Components\TextInput::make('bidder_city')->label('City'),
Forms\Components\TextInput::make('bidder_state')->label('State'),
Forms\Components\TextInput::make('bidder_zip')->label('Zip'),
Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'),
Forms\Components\TextInput::make('bidder_email')->label('Email'),
Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('bidder_fname')->label('First Name'),
Tables\Columns\TextColumn::make('bidder_lname')->label('Last Name'),
Tables\Columns\TextColumn::make('bidder_assigned_number')->label('Number'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\CheckoutResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class PaymentMethodRelationManager extends RelationManager
{
protected static string $relationship = 'paymentMethod';
protected static ?string $recordTitleAttribute = 'payment_method';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('payment_method')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('payment_method'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,104 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource\RelationManagers;
use App\Models\Items;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
class ItemsResource extends Resource
{
protected static ?string $model = Items::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('item_assigned_num')
->label('Item Number'),
TextInput::make('item_desc')
->label('Description'),
TextInput::make('item_min_bid')
->label('Minimum Bid')
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
TextInput::make('item_est_value')
->label('Estimated Value')
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('item_assigned_num')
->label('Item Number')
->sortable(),
TextColumn::make('item_desc')
->label('Description'),
TextColumn::make('item_min_bid')
->label('Minimum Bid')
->money('usd', 'true')
->sortable(),
TextColumn::make('item_est_value')
->label('Estimated Value')
->money('usd', 'true')
->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('item_assigned_num');
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListItems::route('/'),
'create' => Pages\CreateItems::route('/create'),
'edit' => Pages\EditItems::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateItems extends CreateRecord
{
protected static string $resource = ItemsResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditItems extends EditRecord
{
protected static string $resource = ItemsResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListItems extends ListRecords
{
protected static string $resource = ItemsResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\ItemsResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class WinningBidsRelationManager extends RelationManager
{
protected static string $relationship = 'winningBids';
protected static ?string $recordTitleAttribute = 'iditems';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('iditems')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('iditems'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,66 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource\RelationManagers;
use App\Models\Judges;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
class JudgesResource extends Resource
{
protected static ?string $model = Judges::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('judge_number'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('judge_number')->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListJudges::route('/'),
'create' => Pages\CreateJudges::route('/create'),
'edit' => Pages\EditJudges::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateJudges extends CreateRecord
{
protected static string $resource = JudgesResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditJudges extends EditRecord
{
protected static string $resource = JudgesResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListJudges extends ListRecords
{
protected static string $resource = JudgesResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\JudgesResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class VehicleScoresRelationManager extends RelationManager
{
protected static string $relationship = 'vehicleScores';
protected static ?string $recordTitleAttribute = 'judge';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('judge')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('judge'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,69 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource\RelationManagers;
use App\Models\PaymentMethods;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
class PaymentMethodsResource extends Resource
{
protected static ?string $model = PaymentMethods::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('pm_name')
->label('Method Name'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('pm_name')
->label('Method Name')
->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListPaymentMethods::route('/'),
'create' => Pages\CreatePaymentMethods::route('/create'),
'edit' => Pages\EditPaymentMethods::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreatePaymentMethods extends CreateRecord
{
protected static string $resource = PaymentMethodsResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditPaymentMethods extends EditRecord
{
protected static string $resource = PaymentMethodsResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListPaymentMethods extends ListRecords
{
protected static string $resource = PaymentMethodsResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\PaymentMethodsResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class CheckoutRelationManager extends RelationManager
{
protected static string $relationship = 'checkout';
protected static ?string $recordTitleAttribute = 'payment_method';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('payment_method')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('payment_method'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,78 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource\RelationManagers;
use App\Models\PeoplesChoice;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use App\Models\Vehicles;
use Filament\Forms\Components\Select;
class PeoplesChoiceResource extends Resource
{
protected static ?string $model = PeoplesChoice::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
protected static ?string $pluralModelLabel = 'Peoples Choice';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('vehicle')
->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id'))
->searchable(),
TextInput::make('pc_count'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('pc_count')->label('PC Vote Count'),
TextColumn::make('vehicles.owner')->label('Vehicle Number'),
TextColumn::make('vehicles.year')->label('Year'),
TextColumn::make('vehicles.make')->label('Make'),
TextColumn::make('vehicles.model')->label('Model'),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListPeoplesChoices::route('/'),
'create' => Pages\CreatePeoplesChoice::route('/create'),
'edit' => Pages\EditPeoplesChoice::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreatePeoplesChoice extends CreateRecord
{
protected static string $resource = PeoplesChoiceResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditPeoplesChoice extends EditRecord
{
protected static string $resource = PeoplesChoiceResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListPeoplesChoices extends ListRecords
{
protected static string $resource = PeoplesChoiceResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\PeoplesChoiceResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class VehiclesRelationManager extends RelationManager
{
protected static string $relationship = 'vehicles';
protected static ?string $recordTitleAttribute = 'vehicle';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('vehicle')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('vehicle'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,82 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource\RelationManagers;
use App\Models\VehicleScores;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
use App\Models\Vehicles;
use App\Models\Judges;
class VehicleScoresResource extends Resource
{
protected static ?string $model = VehicleScores::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('judge')
->label('Judge')
->options(Judges::all()->pluck('judge_number', 'id'))
->searchable(),
Select::make('vehicle')
->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id'))
->searchable(),
TextInput::make('overall_score')
->label('Overall Score'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('judges.judge_number')->label('Judge')->sortable(),
TextColumn::make('scoredVehicle.owner')->label('Vehicle Number')->sortable(),
TextColumn::make('overall_score')->label('Score')->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getRelations(): array
{
return [
RelationManagers\JudgeRelationManager::class,
RelationManagers\ScoredVehicleRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListVehicleScores::route('/'),
'create' => Pages\CreateVehicleScores::route('/create'),
'edit' => Pages\EditVehicleScores::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateVehicleScores extends CreateRecord
{
protected static string $resource = VehicleScoresResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditVehicleScores extends EditRecord
{
protected static string $resource = VehicleScoresResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListVehicleScores extends ListRecords
{
protected static string $resource = VehicleScoresResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\VehicleScoresResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class JudgeRelationManager extends RelationManager
{
protected static string $relationship = 'judges';
protected static ?string $recordTitleAttribute = 'judge_number';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('judge_number')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('judge_number'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,52 @@
<?php
namespace App\Filament\Resources\VehicleScoresResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class ScoredVehicleRelationManager extends RelationManager
{
protected static string $relationship = 'scoredVehicle';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('owner')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('owner'),
Tables\Columns\TextColumn::make('year')->label('Year'),
Tables\Columns\TextColumn::make('make')->label('Make'),
Tables\Columns\TextColumn::make('model')->label('Model'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,115 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource\RelationManagers;
use App\Models\Vehicles;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle;
use App\Models\Bidders;
use App\Models\CarShowCategory;
class VehiclesResource extends Resource
{
protected static ?string $model = Vehicles::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Car Show';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('owner')
->label('Owner')
->options(Bidders::orderBy('bidder_assigned_number')->pluck('bidder_assigned_number', 'idbidders'))
->searchable(),
TextInput::make('year')
->label('Year'),
TextInput::make('make')
->label('Make'),
TextInput::make('model')
->label('Model'),
Select::make('type')
->label('Type')
->options(CarShowCategory::vehtype()->pluck('category_name', 'id'))
->searchable(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('vehicleOwner.bidder_assigned_number')
->label('Number')
->sortable(),
TextColumn::make('year')
->label('Year')
->sortable(),
TextColumn::make('make')
->label('Make')
->sortable(),
TextColumn::make('model')
->label('Model')
->sortable(),
TextColumn::make('vehicleType.category_name')
->label('Type')
->sortable(),
BooleanColumn::make('doNotJudge')
->label('Judged?')
->sortable()
->falseIcon('heroicon-o-badge-check')
->trueIcon('heroicon-o-x-circle')
->trueColor('danger')
->falseColor('success'),
TextColumn::make('vehicleOwner.bidder_fname')
->label('First Name')
->sortable(),
TextColumn::make('vehicleOwner.bidder_lname')
->label('Last Name')
->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('vehicleOwner.bidder_assigned_number');
}
public static function getRelations(): array
{
return [
RelationManagers\VehicleOwnerRelationManager::class,
RelationManagers\VehicleScoresRelationManager::class,
RelationManagers\VehicleTypeRelationManager::class,
RelationManagers\CarShowWinnerRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListVehicles::route('/'),
'create' => Pages\CreateVehicles::route('/create'),
'edit' => Pages\EditVehicles::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateVehicles extends CreateRecord
{
protected static string $resource = VehiclesResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditVehicles extends EditRecord
{
protected static string $resource = VehiclesResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListVehicles extends ListRecords
{
protected static string $resource = VehiclesResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class CarShowWinnerRelationManager extends RelationManager
{
protected static string $relationship = 'CarShowWinner';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('id')
->required()
->maxLength(255),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,68 @@
<?php
namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Bidders;
class VehicleOwnerRelationManager extends RelationManager
{
protected static string $relationship = 'vehicleOwner';
protected static ?string $recordTitleAttribute = 'owner';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('owner')
->label('Owner Assigned Number')
->required()
->searchable()
->options(
Bidders::orderBy('bidder_assigned_number')
->pluck('bidder_assigned_number', 'idbidders'
))
->createOptionForm([
Forms\Components\TextInput::make('bidder_fname')->label('First Name'),
Forms\Components\TextInput::make('bidder_lname')->label('Last Name'),
Forms\Components\TextInput::make('bidder_addr')->label('Address'),
Forms\Components\TextInput::make('bidder_city')->label('City'),
Forms\Components\TextInput::make('bidder_state')->label('State'),
Forms\Components\TextInput::make('bidder_zip')->label('Zip'),
Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'),
Forms\Components\TextInput::make('bidder_email')->label('Email'),
Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('bidder_fname')->label('First Name'),
Tables\Columns\TextColumn::make('bidder_lname')->label('Last Name'),
Tables\Columns\TextColumn::make('bidder_assigned_number')->label('Number'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,59 @@
<?php
namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Vehicles;
use App\Models\Judges;
class VehicleScoresRelationManager extends RelationManager
{
protected static string $relationship = 'vehicleScores';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('judge')
->label('Judge')
->options(Judges::all()->pluck('judge_number', 'id'))
->searchable(),
Forms\Components\Select::make('vehicle')
->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id'))
->searchable(),
Forms\Components\TextInput::make('overall_score')
->label('Overall Score'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('judge'),
Tables\Columns\TextColumn::make('overall_score'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,55 @@
<?php
namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\CarShowCategory;
class VehicleTypeRelationManager extends RelationManager
{
protected static string $relationship = 'vehicleType';
protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('category_name')
->required()
->searchable()
->options(CarShowCategory::vehtype()->pluck('category_name', 'id'))
->createOptionForm([
Forms\Components\TextInput::make('category_name'),
Forms\Components\Toggle::make('vehicle_type')->inline(false),
]),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('category_name'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}

View File

@ -0,0 +1,106 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource\RelationManagers;
use App\Models\WinningBids;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use App\Models\Bidders;
use App\Models\Items;
use Filament\Forms\Components\Select;
use function Ramsey\Uuid\v1;
class WinningBidsResource extends Resource
{
protected static ?string $model = WinningBids::class;
protected static ?string $navigationIcon = 'heroicon-o-collection';
protected static ?string $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form
{
return $form
->schema([
Select::make('winning_item_num')
->label('Item')
->options(Items::orderBy('item_assigned_num')->pluck('item_assigned_num', 'iditems'))
->searchable(),
Select::make('winning_bidder_num')
->label('Bidder')
->options(
Bidders::orderBy('bidder_assigned_number')
->pluck('bidder_assigned_number', 'idbidders')
)
->searchable(),
TextInput::make('winning_cost')
->label('Winning Bid')
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('items.item_assigned_num')
->label('Item')
->sortable(),
TextColumn::make('items.item_desc')
->label('Item Description')
->limit(15),
TextColumn::make('bidders.bidder_assigned_number')
->label('Bidder Number')
->sortable(),
TextColumn::make('winning_cost')
->label('Winning Bid Amt')
->money('usd', 'true')
->sortable(),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
])
->defaultSort('items.item_assigned_num');
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListWinningBids::route('/'),
'create' => Pages\CreateWinningBids::route('/create'),
'edit' => Pages\EditWinningBids::route('/{record}/edit'),
];
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateWinningBids extends CreateRecord
{
protected static string $resource = WinningBidsResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\EditRecord;
class EditWinningBids extends EditRecord
{
protected static string $resource = WinningBidsResource::class;
protected function getActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ListRecords;
class ListWinningBids extends ListRecords
{
protected static string $resource = WinningBidsResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -7,6 +7,9 @@ use Illuminate\Database\Eloquent\Model;
class Bidders extends Model
{
protected $table = 'bidders';
protected $primaryKey = 'idbidders';
protected $fillable = [
'bidder_fname',
'bidder_lname',
@ -38,6 +41,6 @@ class Bidders extends Model
public function vehicles()
{
return $this->hasMany('App\Models\Vehicles', 'owner', 'bidder_assigned_number');
return $this->hasMany(Vehicles::class, 'owner', 'bidder_assigned_number');
}
}

View File

@ -7,6 +7,12 @@ use Illuminate\Database\Eloquent\Model;
class CarShowCategory extends Model
{
protected $table = 'car_show_categories';
protected static ?string $recordTitleAttribute = 'category_name';
protected $casts = [
'vehicle_type' => 'boolean',
];
protected $fillable = [
'category_name',
'vehicle_type'
@ -19,10 +25,15 @@ class CarShowCategory extends Model
public function vehicle()
{
return $this->hasMany('App\Models\Vehicles', 'id', 'type');
return $this->hasMany(Vehicles::class, 'type');
}
public function showWinner()
{
return $this->hasMany('App\Models\CarShowWinner', 'id', 'category');
return $this->hasMany(CarShowWinner::class, 'category');
}
public function scopeVehtype($query)
{
return $query->where('vehicle_type', 1)->orderBy('category_name');
}
}

View File

@ -7,6 +7,9 @@ use Illuminate\Database\Eloquent\Model;
class Checkout extends Model
{
protected $table = 'checkout';
protected $primaryKey = 'checkout_id';
protected $fillable = [
'bidder_num',
'winnertotal',
@ -25,11 +28,11 @@ class Checkout extends Model
public function bidders()
{
return $this->belongsTo('App\Models\Bidders', 'bidder_num', 'idbidders');
return $this->belongsTo(Bidders::class, 'bidder_num', 'idbidders');
}
public function paymentMethod()
{
return $this->hasMany('App\Models\PaymentMethods', 'payment_method', 'pm_id');
return $this->hasMany(PaymentMethods::class, 'pm_id', 'payment_method');
}
}

View File

@ -7,6 +7,9 @@ use Illuminate\Database\Eloquent\Model;
class Items extends Model
{
protected $table = 'items';
protected $primaryKey = 'iditems';
protected $fillable = [
'item_desc',
'item_min_bid',
@ -23,6 +26,6 @@ class Items extends Model
public function winningBids()
{
return $this->belongsTo('App\Models\WinningBids', 'iditems', 'winning_item_num');
return $this->belongsTo(WinningBids::class, 'iditems', 'winning_item_num');
}
}

View File

@ -20,6 +20,6 @@ class Judges extends Model
public function vehicleScores()
{
return $this->hasMany('App\Models\VehicleScores', 'judge', 'id');
return $this->hasMany(VehicleScores::class, 'judge', 'id');
}
}

View File

@ -7,6 +7,9 @@ use Illuminate\Database\Eloquent\Model;
class PaymentMethods extends Model
{
protected $table = 'payment_methods';
protected $primaryKey = 'pm_id';
protected $fillable = [
'pm_name',
'created_at',
@ -20,6 +23,6 @@ class PaymentMethods extends Model
public function checkout()
{
return $this->belongsTo('App\Models\Checkout', 'payment_method', 'pm_id');
return $this->belongsTo(Checkout::class, 'payment_method', 'pm_id');
}
}

View File

@ -21,6 +21,6 @@ class PeoplesChoice extends Model
public function vehicles()
{
return $this->belongsTo('App\Models\Vehicles', 'vehicle', 'id');
return $this->belongsTo(Vehicles::class, 'vehicle', 'id');
}
}

View File

@ -20,7 +20,7 @@ class VehicleScores extends Model
'updated_at'
];
public function judge()
public function judges()
{
return $this->belongsTo('App\Models\Judges', 'judge', 'id');
}

View File

@ -4,40 +4,45 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class vehicles extends Model
class Vehicles extends Model
{
protected $table = 'vehicles';
protected $fillable = [
'year',
'make',
'model',
'type',
'doNotJudge',
'owner'
];
protected $table = 'vehicles';
protected $dates = [
'created_at',
'updated_at'
];
protected $casts = [
'owner' => 'integer'
];
public function vehicleType()
{
return $this->belongsTo('App\Models\CarShowCategory', 'type', 'id');
}
protected $fillable = [
'year',
'make',
'model',
'type',
'doNotJudge',
'owner'
];
public function vehicleOwner()
{
return $this->belongsTo('App\Models\Bidders', 'owner', 'bidder_assigned_number');
}
protected $dates = [
'created_at',
'updated_at'
];
public function vehicleScores()
{
return $this->hasMany('App\Models\VechicleScores', 'id', 'vehicle');
}
public function vehicleType()
{
return $this->belongsTo(CarShowCategory::class, 'type', 'id');
}
public function CarShowWinner()
{
return $this->belongsTo('App\Models\CarShowWinner', 'id', 'vehicle');
}
public function vehicleOwner()
{
return $this->belongsTo(Bidders::class, 'owner', 'bidder_assigned_number');
}
public function vehicleScores()
{
return $this->hasMany(VehicleScores::class, 'vehicle');
}
public function CarShowWinner()
{
return $this->belongsTo(CarShowWinner::class, 'vehicle');
}
}

View File

@ -7,6 +7,9 @@ use Illuminate\Database\Eloquent\Model;
class WinningBids extends Model
{
protected $table = 'winning_bids';
protected $primaryKey = 'idwinning_bids';
protected $fillable = [
'winning_bidder_num',
'winning_cost',
@ -22,11 +25,11 @@ class WinningBids extends Model
public function items()
{
return $this->hasMany('App\Models\Items', 'iditems', 'winning_item_num');
return $this->hasMany(Items::class, 'iditems', 'winning_item_num');
}
public function bidders()
{
return $this->belongsTo('App\Models\Bidders', 'winning_bidder_num', 'idbidders');
return $this->belongsTo(Bidders::class, 'winning_bidder_num', 'idbidders');
}
}

View File

@ -4,8 +4,10 @@ namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Filament\Models\Contracts\FilamentUser;
use Filament\Models\Contracts\HasName;
class User extends Authenticatable
class User extends Authenticatable implements FilamentUser,HasName
{
use Notifiable;
@ -26,4 +28,12 @@ class User extends Authenticatable
protected $hidden = [
'password', 'remember_token',
];
public function canAccessFilament(): bool
{
return str_ends_with($this->email, '@tfmm.co');
}
public function getFilamentName(): string
{
return "{$this->name}";
}
}

View File

@ -6,17 +6,18 @@
"type": "project",
"require": {
"php": ">=7.0.0",
"barryvdh/laravel-snappy": "^0.4.1",
"laravel/framework": "5.6.*",
"laravel/tinker": "~1.0",
"niklasravnsborg/laravel-pdf": "^2.0"
"barryvdh/laravel-snappy": "^1.0",
"carlos-meneses/laravel-mpdf": "^2.1",
"filament/filament": "^2.0",
"laravel/framework": "^9.0",
"laravel/tinker": "^2.0",
"laravel/ui": "^3.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.2",
"barryvdh/laravel-debugbar": "^3.7",
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~7.0"
"phpunit/phpunit": "^9.0"
},
"autoload": {
"classmap": [
@ -51,7 +52,8 @@
"Illuminate\\Foundation\\ComposerScripts::postInstall"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate"
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"@php artisan filament:upgrade"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",

7058
composer.lock generated

File diff suppressed because it is too large Load Diff

6558
composer.lock.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
<?php
return [
/*
* Which column will be used as the order column.
*/
'order_column_name' => 'order_column',
/*
* Define if the models should sort when creating.
* When true, the package will automatically assign the highest order number to a new mode
*/
'sort_when_creating' => true,
];

294
config/filament.php Normal file
View File

@ -0,0 +1,294 @@
<?php
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Http\Middleware\MirrorConfigToSubpackages;
use Filament\Pages;
use Filament\Widgets;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\AuthenticateSession;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
return [
/*
|--------------------------------------------------------------------------
| Filament Path
|--------------------------------------------------------------------------
|
| The default is `admin` but you can change it to whatever works best and
| doesn't conflict with the routing in your application.
|
*/
'path' => env('FILAMENT_PATH', 'admin'),
/*
|--------------------------------------------------------------------------
| Filament Core Path
|--------------------------------------------------------------------------
|
| This is the path which Filament will use to load its core routes and assets.
| You may change it if it conflicts with your other routes.
|
*/
'core_path' => env('FILAMENT_CORE_PATH', 'filament'),
/*
|--------------------------------------------------------------------------
| Filament Domain
|--------------------------------------------------------------------------
|
| You may change the domain where Filament should be active. If the domain
| is empty, all domains will be valid.
|
*/
'domain' => env('FILAMENT_DOMAIN'),
/*
|--------------------------------------------------------------------------
| Homepage URL
|--------------------------------------------------------------------------
|
| This is the URL that Filament will redirect the user to when they click
| on the sidebar's header.
|
*/
'home_url' => '/',
/*
|--------------------------------------------------------------------------
| Brand Name
|--------------------------------------------------------------------------
|
| This will be displayed on the login page and in the sidebar's header.
|
*/
'brand' => env('APP_NAME'),
/*
|--------------------------------------------------------------------------
| Auth
|--------------------------------------------------------------------------
|
| This is the configuration that Filament will use to handle authentication
| into the admin panel.
|
*/
'auth' => [
'guard' => env('FILAMENT_AUTH_GUARD', 'web'),
'pages' => [
'login' => \Filament\Http\Livewire\Auth\Login::class,
],
],
/*
|--------------------------------------------------------------------------
| Pages
|--------------------------------------------------------------------------
|
| This is the namespace and directory that Filament will automatically
| register pages from. You may also register pages here.
|
*/
'pages' => [
'namespace' => 'App\\Filament\\Pages',
'path' => app_path('Filament/Pages'),
'register' => [
Pages\Dashboard::class,
],
],
/*
|--------------------------------------------------------------------------
| Resources
|--------------------------------------------------------------------------
|
| This is the namespace and directory that Filament will automatically
| register resources from. You may also register resources here.
|
*/
'resources' => [
'namespace' => 'App\\Filament\\Resources',
'path' => app_path('Filament/Resources'),
'register' => [],
],
/*
|--------------------------------------------------------------------------
| Widgets
|--------------------------------------------------------------------------
|
| This is the namespace and directory that Filament will automatically
| register dashboard widgets from. You may also register widgets here.
|
*/
'widgets' => [
'namespace' => 'App\\Filament\\Widgets',
'path' => app_path('Filament/Widgets'),
'register' => [
Widgets\AccountWidget::class,
Widgets\FilamentInfoWidget::class,
],
],
/*
|--------------------------------------------------------------------------
| Livewire
|--------------------------------------------------------------------------
|
| This is the namespace and directory that Filament will automatically
| register Livewire components inside.
|
*/
'livewire' => [
'namespace' => 'App\\Filament',
'path' => app_path('Filament'),
],
/*
|--------------------------------------------------------------------------
| Dark mode
|--------------------------------------------------------------------------
|
| By enabling this feature, your users are able to select between a light
| and dark appearance for the admin panel, or let their system decide.
|
*/
'dark_mode' => false,
/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
|
| This is the configuration for the general layout of the admin panel.
|
| You may configure the max content width from `xl` to `7xl`, or `full`
| for no max width.
|
*/
'layout' => [
'actions' => [
'modal' => [
'actions' => [
'alignment' => 'left',
],
],
],
'forms' => [
'actions' => [
'alignment' => 'left',
],
'have_inline_labels' => false,
],
'footer' => [
'should_show_logo' => true,
],
'max_content_width' => null,
'notifications' => [
'vertical_alignment' => 'top',
'alignment' => 'right',
],
'sidebar' => [
'is_collapsible_on_desktop' => false,
'groups' => [
'are_collapsible' => true,
],
'width' => null,
],
],
/*
|--------------------------------------------------------------------------
| Favicon
|--------------------------------------------------------------------------
|
| This is the path to the favicon used for pages in the admin panel.
|
*/
'favicon' => null,
/*
|--------------------------------------------------------------------------
| Default Avatar Provider
|--------------------------------------------------------------------------
|
| This is the service that will be used to retrieve default avatars if one
| has not been uploaded.
|
*/
'default_avatar_provider' => \Filament\AvatarProviders\UiAvatarsProvider::class,
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| This is the storage disk Filament will use to put media. You may use any
| of the disks defined in the `config/filesystems.php`.
|
*/
'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DRIVER', 'public'),
/*
|--------------------------------------------------------------------------
| Google Fonts
|--------------------------------------------------------------------------
|
| This is the URL for Google Fonts that should be loaded. You may use any
| font, or set to `null` to prevent any Google Fonts from loading.
|
| When using a custom font, you should also set the font family in your
| custom theme's `tailwind.config.js` file.
|
*/
'google_fonts' => 'https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap',
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
|
| You may customise the middleware stack that Filament uses to handle
| requests.
|
*/
'middleware' => [
'auth' => [
Authenticate::class,
],
'base' => [
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
AuthenticateSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
SubstituteBindings::class,
DispatchServingFilamentEvent::class,
MirrorConfigToSubpackages::class,
],
],
];

View File

@ -161,7 +161,7 @@ return [
|
*/
'secure' => env('SESSION_SECURE_COOKIE', false),
'secure' => env('SESSION_SECURE_COOKIE', null),
/*
|--------------------------------------------------------------------------

View File

@ -151,6 +151,11 @@
Vehicle Total Scores
</a>
</li>
<li>
<a href="/tabulateshowwinners">
Tabulate Show Winners
</a>
</li>
</ul>
</li>
<li class="dropdown">

View File

@ -10,14 +10,6 @@
<div class="panel-body">
<form id="bidder_form" required method="post" action="/showcars" enctype="multipart/form-data" class=form-horizontal>
{{ csrf_field() }}
<div class=form-group>
<label for=biddernum class="col-sm-3 col-sm-offset-1 control-label">
Car / Bidder Number:
</label>
<div class=col-sm-2>
<input type="text" name="biddernum" id="biddernum" required class=form-control />
</div>
</div>
<div class=form-group>
<label for=bidderfname class="col-sm-3 col-sm-offset-1 control-label">
First Name:
@ -66,14 +58,6 @@
<input type="text" name="bidderzip" id="bidderzip" required class=form-control />
</div>
</div>
<div class=form-group>
<label for=bidderphone class="col-sm-3 col-sm-offset-1 control-label">
Phone Number:
</label>
<div class=col-sm-4>
<input type="text" name="bidderphone" id="bidderphone" required class=form-control />
</div>
</div>
<div class=form-group>
<label for=bidderemail class="col-sm-3 col-sm-offset-1 control-label">
Email:
@ -82,6 +66,14 @@
<input type="text" name="bidderemail" id="bidderemail" class=form-control />
</div>
</div>
<div class=form-group>
<label for=bidderphone class="col-sm-3 col-sm-offset-1 control-label">
Phone Number:
</label>
<div class=col-sm-4>
<input type="text" name="bidderphone" id="bidderphone" required class=form-control />
</div>
</div>
<div class=form-group>
<label for=vehyear class="col-sm-3 col-sm-offset-1 control-label">
Vechicle Year:
@ -106,16 +98,15 @@
<input type="text" name="vehmodel" id="vehmodel" class=form-control />
</div>
</div>
<div class=form-group>
<label for=vehtype class="col-sm-3 col-sm-offset-1 control-label">
Vehicle Type:
<label for=biddernum class="col-sm-3 col-sm-offset-1 control-label">
Car / Bidder Number:
</label>
<div class=col-sm-2>
<select name="vehtype" id="vehtype" required class=form-control>
<?php echo App\Helpers\VehicleTypeSelectList::vehicleTypeShowTypes(); ?>
</select>
<input type="text" name="biddernum" id="biddernum" required class=form-control />
</div>
</div>
</div>
<div class=form-group>
<label for=vehdonotjudge class="col-sm-3 col-sm-offset-1 control-label">
DO NOT JUDGE:
@ -124,6 +115,11 @@
<input class="form-check-input" type="checkbox" value="" id="vehdonotjudge" name="vehdonotjudge">
</div>
</div>
<div class=form-group>
<div class=col-sm-2>
<input type="hidden" value="2" id="vehtype" name="vehtype">
</div>
</div>
<div class=form-group>
<div class="col-sm-offset-5 col-sm-10">
<button type="submit" value="Submit" class="btn btn-primary">Submit</button>

View File

@ -58,4 +58,8 @@ Route::group(['middleware' => 'auth'], function() {
Route::post('vehicletypes', [ 'uses' => 'PagesController@vehicletypes']);
Route::post('awardcategories', [ 'uses' => 'PagesController@awardcategories']);
Route::get('showcarlist', [ 'uses' => 'PagesController@showcarlist']);
Route::get('tabulateshowwinners', function() {
Artisan::call('carshow:tabulatewinners');
return redirect('showwinners');
});
});

View File

@ -1,7 +0,0 @@
AuthName "sa.stjohncarshow.org statistics"
AuthType Basic
AuthUserFile /home/sjcsauction/.stats-htpasswd
require valid-user
<Files .stats-htpasswd>
deny from all
</Files>

View File

@ -1 +0,0 @@
23445

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,108 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Generated by The Webalizer Ver. 2.23-08 -->
<!-- -->
<!-- Copyright 1997-2013 Bradford L. Barrett -->
<!-- -->
<!-- Distributed under the GNU GPL Version 2 -->
<!-- Full text may be found at: -->
<!-- http://www.webalizer.org -->
<!-- -->
<!-- Give the power back to the programmers -->
<!-- Support the Free Software Foundation -->
<!-- (http://www.fsf.org) -->
<!-- -->
<!-- *** Generated: 11-Jun-2018 05:16 EDT *** -->
<HTML lang="en">
<HEAD>
<TITLE>Usage Statistics for sa.stjohncarshow.org - Summary by Month</TITLE>
</HEAD>
<BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000">
<H2>Usage Statistics for sa.stjohncarshow.org</H2>
<SMALL><STRONG>
Summary by Month<BR>
Generated 11-Jun-2018 05:16 EDT<BR>
</STRONG></SMALL>
<CENTER>
<HR>
<P>
<IMG SRC="usage.png" ALT="Usage summary for sa.stjohncarshow.org" HEIGHT=256 WIDTH=512><P>
<TABLE WIDTH=600 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH COLSPAN=11 BGCOLOR="#C0C0C0" ALIGN=center>Summary by Month</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH ALIGN=left ROWSPAN=2 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Month</FONT></TH>
<TH ALIGN=center COLSPAN=4 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Daily Avg</FONT></TH>
<TH ALIGN=center COLSPAN=6 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Monthly Totals</FONT></TH></TR>
<TR><TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff8000"><FONT SIZE="-1">Sites</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000"><FONT SIZE="-1">KBytes</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD NOWRAP><A HREF="usage_201806.html"><FONT SIZE="-1">Jun 2018</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">15</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">468</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">15</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">20</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">18</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">26</FONT></TD></TR>
<TR><TD NOWRAP><A HREF="usage_201805.html"><FONT SIZE="-1">May 2018</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">17</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">12</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">10</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">18</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">44069</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">41</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">301</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">382</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">527</FONT></TD></TR>
<TR><TD NOWRAP><A HREF="usage_201804.html"><FONT SIZE="-1">Apr 2018</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">17</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1537</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">31</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">35</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">37</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">57</FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" COLSPAN=6 ALIGN=left><FONT SIZE="-1">Totals</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">46074</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">87</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">356</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">437</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">610</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
</TABLE>
</CENTER>
<P>
<HR>
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
<TR>
<TD ALIGN=left VALIGN=top>
<SMALL>Generated by
<A HREF="http://www.webalizer.org/"><STRONG>Webalizer Version 2.23</STRONG></A>
</SMALL>
</TD>
</TR>
</TABLE>
<!-- Webalizer Version 2.23-08 (Mod: 26-Aug-2013) -->
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because it is too large Load Diff

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