84 Commits

Author SHA1 Message Date
rlong d64e1d5578 change phone number display 2026-04-26 15:24:05 -04:00
rlong ad66fef19b fix menu location 2026-04-26 15:08:47 -04:00
rlong 5a7684bc8c move menu item 2026-04-26 15:08:00 -04:00
rlong aed29fbf56 Merge pull request 'Add customer-facing check for winning items' (#4) from North-Hackathon/silent-auction:bidder-facing-checkout into master
Reviewed-on: #4
2026-04-26 15:05:13 -04:00
rlong 816fba5121 Merge pull request 'feat: implement searchable selects for bidder and item lookups using Select2' (#3) from feature/searchable-selects into master
Reviewed-on: #3
2026-04-26 15:01:31 -04:00
rlong ddbfc642f2 feat: implement searchable selects for bidder and item lookups using Select2 2026-04-25 11:55:52 -04:00
rlong b6db2f200b Add customer-facing check for winning items 2026-04-24 15:56:29 -04:00
rlong ef4ef144a6 Merge pull request 'v5 update fixes' (#2) from v5-upgrade into master
Reviewed-on: #2
2026-04-20 15:16:51 -04:00
rlong 7a338c6a31 fix 2026-04-20 15:12:10 -04:00
rlong 44521ab677 fix 2026-04-20 15:11:05 -04:00
rlong 4b6839aafa fix 2026-04-20 15:08:46 -04:00
rlong 186865890d fix 2026-04-20 15:08:25 -04:00
rlong cfc8f58a1e fix 2026-04-20 15:07:57 -04:00
rlong 59f6c733ac fix 2026-04-20 15:06:55 -04:00
rlong a4fff7aea3 fix 2026-04-20 15:05:51 -04:00
rlong 47ae95f060 fix 2026-04-20 15:05:28 -04:00
rlong 377cc4ab77 fix 2026-04-20 15:04:39 -04:00
rlong 947fb290f6 fix 2026-04-20 15:02:58 -04:00
rlong 0c794c89a4 fix 2026-04-20 15:02:03 -04:00
rlong 55925c8abf fix 2026-04-20 14:59:31 -04:00
rlong 20349e57c4 fix 2026-04-20 14:56:30 -04:00
rlong 10aa32e19c undo fixes 2026-04-20 14:51:30 -04:00
rlong 8bd68a42bd fix 419 2026-04-20 14:51:04 -04:00
rlong fc96cb96ed fix relation 2026-04-20 14:49:29 -04:00
rlong d25890d3ac fix relation 2026-04-20 14:43:48 -04:00
rlong f6df7aa08e change session driver to database 2026-04-20 14:40:21 -04:00
rlong db1d4ba165 test 2026-04-20 14:30:41 -04:00
rlong a30b70bf27 fix actions 2026-04-20 14:29:39 -04:00
rlong 193d7ecb1f fix action 2026-04-20 14:28:35 -04:00
rlong a01afdc321 cleanup actions 2026-04-20 14:26:18 -04:00
rlong ee526dce89 test relationship fix 2026-04-20 14:09:11 -04:00
rlong 5eea2de51e fix actions 2026-04-20 14:06:25 -04:00
rlong 48fd3d2b35 fix actions 2026-04-20 14:03:00 -04:00
rlong 237fe9f07b action fix 2026-04-20 14:01:34 -04:00
rlong bab18b6d26 actions fix 2026-04-20 14:00:36 -04:00
rlong 6d8f2b8ead test actions fix 2026-04-20 13:59:32 -04:00
rlong 849794ff90 v5 update fixes 2026-04-20 13:48:05 -04:00
rlong 24beacae7e fix money 2026-04-20 13:19:59 -04:00
rlong 4283399ffa fix money 2026-04-20 13:19:24 -04:00
rlong de1443b300 fix money 2026-04-20 13:18:51 -04:00
rlong 02f0fed769 test money fix 2026-04-20 13:16:35 -04:00
rlong 87f9befa72 more sorting 2026-04-20 13:11:55 -04:00
rlong d32c2d6a99 add sorting 2026-04-20 13:09:11 -04:00
rlong e3a64c6ba3 fix score display 2026-04-20 13:08:15 -04:00
rlong 9326fb5026 fix score display 2026-04-20 13:07:46 -04:00
rlong bdd06abcd1 fix filament winner display 2026-04-20 13:05:12 -04:00
rlong 72dfb16018 Merge pull request 'upgrade to new versions' (#1) from upgrade-laravel-filament into master
Reviewed-on: #1
2026-04-20 13:02:12 -04:00
rlong 2374d02670 upgrade to new versions 2026-04-20 12:56:52 -04:00
rlong 472cb78ffb cleanup old winner tabulation 2026-04-20 10:15:08 -04:00
rlong a99021587e add score to winner table 2026-04-20 10:08:56 -04:00
rlong 13837faaa5 add score to winner table 2026-04-20 10:07:36 -04:00
rlong 9954817c16 add score to winner table 2026-04-20 10:06:23 -04:00
rlong c13238014a add score to winner table 2026-04-20 10:03:36 -04:00
rlong f9d2fcfa06 add score to winner table 2026-04-20 10:01:21 -04:00
rlong 3431bef787 Fix sort 2026-04-20 09:51:39 -04:00
rlong 47bf882702 Fix sort 2026-04-20 09:41:49 -04:00
rlong 70c0e1f768 Fix sort 2026-04-20 09:39:54 -04:00
rlong 894fecf6b8 Fix sort 2026-04-20 09:39:30 -04:00
rlong 9051c8bd25 Fix sort 2026-04-20 09:35:55 -04:00
rlong efa24f90ce Fix sort 2026-04-20 09:34:55 -04:00
rlong eeb38a367e Fix sort 2026-04-20 09:32:35 -04:00
rlong d113d44463 Fix sort 2026-04-20 09:28:28 -04:00
rlong 085ae34e89 Fix sort 2026-04-20 09:27:41 -04:00
rlong 1969b7edc8 Fix sort 2026-04-20 09:25:41 -04:00
rlong 2fa2c0b9f7 Fix sort 2026-04-20 09:22:19 -04:00
rlong cb990adb2a Fix sort 2026-04-20 09:04:18 -04:00
rlong dae9f6f39e Fix sort 2026-04-20 08:48:24 -04:00
rlong a5e6b5f8d6 Fix sort 2026-04-20 08:46:46 -04:00
rlong e5097cf466 fix command 2026-04-16 16:05:25 -04:00
rlong ecb1dc2bcf fix route 2026-04-16 16:03:04 -04:00
rlong 3390f66226 update sort 2026-04-16 16:01:20 -04:00
rlong e7c539e4ef test new pages 2026-04-16 15:50:03 -04:00
rlong 330e210fde disable registration 2025-07-14 11:06:05 -04:00
rlong 7053ce029b composer update 2025-07-12 13:44:39 -04:00
rlong 2823e03793 update judging categories 2025-05-19 12:14:14 -04:00
rlong 42067a7b04 fix years for categories 2024-05-12 15:01:21 -04:00
rlong 9e65a3731c fix typo 2024-05-08 19:25:39 -04:00
rlong 4bdf14de83 fix typo 2024-05-08 19:09:44 -04:00
rlong 141d6c25fa adjust year categories 2024-03-16 13:39:58 -04:00
rlong 11ef29d89c remove stats dir 2024-03-16 13:24:54 -04:00
rlong a2ef1742af update vehicle registration form 2023-04-13 16:41:15 -04:00
rlong 4cc8296049 Fix typo 2023-04-12 19:39:09 -04:00
rlong d0dd8d35a9 Update tabulation for new year 2023-04-12 19:31:00 -04:00
rlong 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
168 changed files with 7196 additions and 8230 deletions
+1
View File
@@ -0,0 +1 @@
{"version":2,"defects":{"Tests\\Feature\\MyWinningsTest::test_mywinnings_form_is_accessible":8,"Tests\\Feature\\MyWinningsTest::test_mywinnings_results_show_correct_data":8,"Tests\\Feature\\MyWinningsTest::test_mywinnings_invalid_bidder_shows_error":8},"times":{"Tests\\Unit\\PhoneFormattingTest::it_formats_a_10_digit_phone_number":0.018,"Tests\\Unit\\PhoneFormattingTest::it_strips_non_numeric_characters_before_formatting":0,"Tests\\Unit\\PhoneFormattingTest::it_returns_original_value_if_not_10_digits":0,"Tests\\Unit\\PhoneFormattingTest::bidder_model_accessor_formats_phone_number":0.003}}
+98 -286
View File
@@ -3,307 +3,119 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use App\Models\Bidders;
use App\Models\CarShowCategory;
use App\Models\CarShowWinner; use App\Models\CarShowWinner;
use App\Models\PeoplesChoice; use App\Models\PeoplesChoice;
use App\Models\Vehicles;
use App\Models\VehicleScores; use App\Models\VehicleScores;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
class TabulateWinners extends Command class TabulateWinners extends Command
{ {
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'carshow:tabulatewinners'; protected $signature = 'carshow:tabulatewinners';
protected $description = 'Tabulate Show Winners. Year Category 1st places can overlap with Best in Show/People\'s Choice.';
/**
* 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() 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(); 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( $this->info('Starting tabulation...');
[
'category' => '17',
'place' => 'second'
],
[
'vehicle' => zeroTo432ndWinner()
]
);
//1944-1997
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'first'
],
[
'vehicle' => fortyFourToNinetySevenWinner()
]
);
CarShowWinner::updateOrCreate( // 2. BEST IN SHOW (Category 6)
[ $this->recordJudgedWinners(6, 'first', null, null, true);
'category' => '18',
'place' => 'second'
],
[
'vehicle' => fortyFourToNinetySeven2ndWinner()
]
);
//1998-Current // 3. PEOPLE'S CHOICE (Category 3)
CarShowWinner::updateOrCreate( $this->recordPeoplesChoiceWinners(3, 'first');
[
'category' => '19',
'place' => 'first'
],
[
'vehicle' => NinetyEightToCurrentWinner()
]
);
CarShowWinner::updateOrCreate( // 4. YEAR CATEGORIES
[ $yearConfigs = [
'category' => '19', ['id' => 17, 'name' => '0-1942', 'start' => 0, 'end' => 1942],
'place' => 'second' ['id' => 18, 'name' => '1943-1969', 'start' => 1943, 'end' => 1969],
], ['id' => 20, 'name' => '1970-2000', 'start' => 1970, 'end' => 2000],
[ ['id' => 19, 'name' => '2001-Current', 'start' => 2001, 'end' => 2026],
'vehicle' => NinetyEightToCurrent2ndWinner() ];
]
); foreach ($yearConfigs as $config) {
$this->info("Processing Category: {$config['name']}");
$this->recordJudgedWinners($config['id'], 'first', $config['start'], $config['end'], false);
$this->recordJudgedWinners($config['id'], 'second', $config['start'], $config['end'], true);
$this->recordJudgedWinners($config['id'], 'third', $config['start'], $config['end'], true);
$this->recordJudgedWinners($config['id'], 'fourth', $config['start'], $config['end'], true);
$this->recordJudgedWinners($config['id'], 'fifth', $config['start'], $config['end'], true);
}
$this->info('Winners tabulated successfully.');
}
private function recordJudgedWinners($categoryId, $place, $startYear = null, $endYear = null, $excludeExisting = true)
{
$query = VehicleScores::join('vehicles', 'vehicle_scores.vehicle', '=', 'vehicles.id')
->where('vehicles.doNotJudge', 0);
if ($excludeExisting) {
$query->whereNotIn('vehicle_scores.vehicle', function ($q) {
$q->select('vehicle')->from('car_show_winners');
});
}
if ($startYear !== null) $query->where('vehicles.year', '>=', $startYear);
if ($endYear !== null) $query->where('vehicles.year', '<=', $endYear);
$maxScore = (clone $query)
->groupBy('vehicles.id')
->selectRaw('sum(vehicle_scores.overall_score) as totalscore')
->orderBy('totalscore', 'desc')
->value('totalscore');
if ($maxScore) {
$winners = $query->selectRaw('vehicles.id as vehicle_id, sum(vehicle_scores.overall_score) as totalscore')
->groupBy('vehicles.id')
->having('totalscore', '=', $maxScore)
->get();
foreach ($winners as $winner) {
CarShowWinner::updateOrCreate([
'category' => $categoryId,
'place' => $place,
'vehicle' => $winner->vehicle_id
], [
// Added totalscore here
'total_score' => $winner->totalscore
]);
}
}
}
private function recordPeoplesChoiceWinners($categoryId, $place)
{
$maxVotes = PeoplesChoice::join('vehicles', 'peoples_choice.vehicle', '=', 'vehicles.id')
->where('vehicles.doNotJudge', 0)
->whereNotIn('peoples_choice.vehicle', function ($q) {
$q->select('vehicle')->from('car_show_winners');
})
->groupBy('peoples_choice.vehicle')
->selectRaw('sum(pc_count) as totalvotes')
->orderBy('totalvotes', 'desc')
->value('totalvotes');
if ($maxVotes) {
$winners = PeoplesChoice::join('vehicles', 'peoples_choice.vehicle', '=', 'vehicles.id')
->selectRaw('peoples_choice.vehicle as vehicle_id, sum(pc_count) as totalvotes')
->where('vehicles.doNotJudge', 0)
->whereNotIn('peoples_choice.vehicle', function ($q) {
$q->select('vehicle')->from('car_show_winners');
})
->groupBy('peoples_choice.vehicle')
->having('totalvotes', '=', $maxVotes)
->get();
foreach ($winners as $winner) {
CarShowWinner::create([
'category' => $categoryId,
'place' => $place,
'vehicle' => $winner->vehicle_id,
// Added totalvotes here
'total_score' => $winner->totalvotes
]);
}
}
} }
} }
@@ -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()
]
);
}
}
@@ -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 zeroTo42Winner()
{
$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', '<=', 1942)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $zeroTo43Query->vehicle;
}
function fortyThreeToSixtyNineWinner()
{
$fortyThreeToSixtyNineQuery = 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', '>=', 1943)
->where('vehicles.year', '<=', 1969)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $fortyThreeToSixtyNineQuery->vehicle;
}
function seventyToTwoThousandWinner()
{
$seventyToTwoThousandQuery = 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', '>=', 1970)
->where('vehicles.year', '<=', 2000)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $seventyToTwoThousandQuery->vehicle;
}
function TwoThousandOneToCurrentWinner()
{
$TwoThousandOneToCurrentQuery = 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', '>=', 2001)
//->where('vehicles.year', '<=', 1997)
->where('vehicles.doNotJudge', '=', 0)
->orderBy('totalscore','desc')
->first();
return $TwoThousandOneToCurrentQuery->vehicle;
}
// Truncate table first
CarShowWinner::truncate();
//Insert Best In Show Winner
CarShowWinner::updateOrCreate(
[
'category' => '6',
'place' => 'first'
],
[
'vehicle' => bestInShowWinner()
]
);
//Insert People's Choice Winner
CarShowWinner::updateOrCreate(
[
'category' => '3',
'place' => 'first'
],
[
'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-1969
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'first'
],
[
'vehicle' => fortyThreeToSixtyNineWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'second'
],
[
'vehicle' => fortyThreeToSixtyNineWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '18',
'place' => 'third'
],
[
'vehicle' => fortyThreeToSixtyNineWinner()
]
);
//1970-2000
CarShowWinner::updateOrCreate(
[
'category' => '20',
'place' => 'first'
],
[
'vehicle' => seventyToTwoThousandWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '20',
'place' => 'second'
],
[
'vehicle' => seventyToTwoThousandWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '20',
'place' => 'third'
],
[
'vehicle' => seventyToTwoThousandWinner()
]
);
//2001-Current
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'first'
],
[
'vehicle' => TwoThousandOneToCurrentWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'second'
],
[
'vehicle' => TwoThousandOneToCurrentWinner()
]
);
CarShowWinner::updateOrCreate(
[
'category' => '19',
'place' => 'third'
],
[
'vehicle' => TwoThousandOneToCurrentWinner()
]
);
}
}
+29 -22
View File
@@ -5,15 +5,19 @@ namespace App\Filament\Resources;
use App\Filament\Resources\BiddersResource\Pages; use App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource\RelationManagers; use App\Filament\Resources\BiddersResource\RelationManagers;
use App\Models\Bidders; use App\Models\Bidders;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use UnitEnum;
use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class BiddersResource extends Resource class BiddersResource extends Resource
{ {
@@ -21,14 +25,14 @@ class BiddersResource extends Resource
protected static ?string $recordTitleAttribute = 'idbidders'; protected static ?string $recordTitleAttribute = 'idbidders';
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Silent Auction'; protected static string | UnitEnum | null $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
TextInput::make('bidder_fname')->label('First Name'), TextInput::make('bidder_fname')->label('First Name'),
TextInput::make('bidder_lname')->label('Last Name'), TextInput::make('bidder_lname')->label('Last Name'),
TextInput::make('bidder_addr')->label('Address'), TextInput::make('bidder_addr')->label('Address'),
@@ -36,7 +40,7 @@ class BiddersResource extends Resource
TextInput::make('bidder_state')->label('State'), TextInput::make('bidder_state')->label('State'),
TextInput::make('bidder_zip')->label('Zip'), TextInput::make('bidder_zip')->label('Zip'),
TextInput::make('bidder_phone')->label('Phone Number') TextInput::make('bidder_phone')->label('Phone Number')
->mask(fn (TextInput\Mask $mask) => $mask->pattern('(000)000-0000')), ->mask('(999) 999-9999'),
TextInput::make('bidder_email')->label('Email'), TextInput::make('bidder_email')->label('Email'),
TextInput::make('bidder_assigned_number')->label('Assigned Number'), TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]); ]);
@@ -46,24 +50,27 @@ class BiddersResource extends Resource
{ {
return $table return $table
->columns([ ->columns([
TextColumn::make('bidder_assigned_number')->sortable()->label('Assigned Number'), TextColumn::make('bidder_assigned_number')->sortable()->label('Assigned Number')->sortable(),
TextColumn::make('bidder_fname')->sortable()->label('First Name'), TextColumn::make('bidder_fname')->sortable()->label('First Name')->sortable(),
TextColumn::make('bidder_lname')->sortable()->label('Last Name'), TextColumn::make('bidder_lname')->sortable()->label('Last Name')->sortable(),
TextColumn::make('bidder_addr')->label('Address'), TextColumn::make('bidder_addr')->label('Address')->sortable(),
TextColumn::make('bidder_city')->label('City'), TextColumn::make('bidder_city')->label('City')->sortable(),
TextColumn::make('bidder_state')->label('State'), TextColumn::make('bidder_state')->label('State')->sortable(),
TextColumn::make('bidder_zip')->label('Zip'), TextColumn::make('bidder_zip')->label('Zip')->sortable(),
TextColumn::make('bidder_phone')->label('Phone Number'), TextColumn::make('bidder_phone')->label('Phone Number')->sortable()
TextColumn::make('bidder_email')->label('Email'), ->formatStateUsing(fn ($state) => \App\Helpers\PhoneHelper::format($state)),
TextColumn::make('bidder_email')->label('Email')->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('bidder_assigned_number'); ->defaultSort('bidder_assigned_number');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\BiddersResource\Pages; namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource; use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateBidders extends CreateRecord class CreateBidders extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\BiddersResource\Pages; namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource; use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditBidders extends EditRecord class EditBidders extends EditRecord
{ {
protected static string $resource = BiddersResource::class; protected static string $resource = BiddersResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\BiddersResource\Pages; namespace App\Filament\Resources\BiddersResource\Pages;
use App\Filament\Resources\BiddersResource; use App\Filament\Resources\BiddersResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListBidders extends ListRecords class ListBidders extends ListRecords
{ {
protected static string $resource = BiddersResource::class; protected static string $resource = BiddersResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,12 +3,18 @@
namespace App\Filament\Resources\BiddersResource\RelationManagers; namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\EditAction;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Tables\Columns\TextColumn;
class CheckoutRelationManager extends RelationManager class CheckoutRelationManager extends RelationManager
{ {
@@ -16,43 +22,43 @@ class CheckoutRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'bidder_num'; protected static ?string $recordTitleAttribute = 'bidder_num';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('bidder_num') Forms\Components\TextInput::make('bidder_num')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
Tables\Columns\TextColumn::make('bidders.bidder_assigned_number') TextColumn::make('bidders.bidder_assigned_number')
->label('Bidder Number') ->label('Bidder Number')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('winnertotal') TextColumn::make('winnertotal')
->label('Total Amount') ->label('Total Amount')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('paymentMethod.pm_name') TextColumn::make('paymentMethod.pm_name')
->label('Payment Method') ->label('Payment Method')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,24 +3,29 @@
namespace App\Filament\Resources\BiddersResource\RelationManagers; namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\CarShowCategory; use App\Models\CarShowCategory;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Tables\Columns\IconColumn;
class VehiclesRelationManager extends RelationManager class VehiclesRelationManager extends RelationManager
{ {
protected static string $relationship = 'vehicles'; protected static string $relationship = 'vehicles';
protected static ?string $recordTitleAttribute = 'owner'; protected static ?string $recordTitleAttribute = 'owner';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('year') Forms\Components\TextInput::make('year')
->label('Year'), ->label('Year'),
Forms\Components\TextInput::make('make') Forms\Components\TextInput::make('make')
@@ -34,7 +39,7 @@ class VehiclesRelationManager extends RelationManager
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -53,10 +58,11 @@ class VehiclesRelationManager extends RelationManager
Tables\Columns\TextColumn::make('vehicleType.category_name') Tables\Columns\TextColumn::make('vehicleType.category_name')
->label('Type') ->label('Type')
->sortable(), ->sortable(),
Tables\Columns\BooleanColumn::make('doNotJudge') IconColumn::make('doNotJudge')
->boolean()
->label('Judged?') ->label('Judged?')
->sortable() ->sortable()
->falseIcon('heroicon-o-badge-check') ->falseIcon('heroicon-o-check-badge')
->trueIcon('heroicon-o-x-circle') ->trueIcon('heroicon-o-x-circle')
->trueColor('danger') ->trueColor('danger')
->falseColor('success'), ->falseColor('success'),
@@ -64,15 +70,15 @@ class VehiclesRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,13 +3,18 @@
namespace App\Filament\Resources\BiddersResource\RelationManagers; namespace App\Filament\Resources\BiddersResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Bidders; use App\Models\Bidders;
use Filament\Actions\EditAction;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class WinningBidsRelationManager extends RelationManager class WinningBidsRelationManager extends RelationManager
{ {
@@ -17,10 +22,10 @@ class WinningBidsRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'winning_bidder_num'; protected static ?string $recordTitleAttribute = 'winning_bidder_num';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\Select::make('winning_bidder_num') Forms\Components\Select::make('winning_bidder_num')
->label('Winning Bidder Number') ->label('Winning Bidder Number')
->options(Bidders::pluck('bidder_assigned_number', 'idbidders')) ->options(Bidders::pluck('bidder_assigned_number', 'idbidders'))
@@ -28,7 +33,7 @@ class WinningBidsRelationManager extends RelationManager
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -40,22 +45,22 @@ class WinningBidsRelationManager extends RelationManager
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('winning_cost') Tables\Columns\TextColumn::make('winning_cost')
->label('Winning Bid Amt') ->label('Winning Bid Amt')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -6,30 +6,35 @@ use App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource\RelationManagers; use App\Filament\Resources\CarShowCategoryResource\RelationManagers;
use App\Filament\Resources\CarShowCategoryResource\RelationManagers\VehicleRelationManager; use App\Filament\Resources\CarShowCategoryResource\RelationManagers\VehicleRelationManager;
use App\Models\CarShowCategory; use App\Models\CarShowCategory;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle; use Filament\Forms\Components\Toggle;
use UnitEnum;
use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class CarShowCategoryResource extends Resource class CarShowCategoryResource extends Resource
{ {
protected static ?string $model = CarShowCategory::class; protected static ?string $model = CarShowCategory::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Car Show'; protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Form $form): Form
public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
TextInput::make('category_name'), TextInput::make('category_name'),
Toggle::make('vehicle_type')->inline(false) Toggle::make('vehicle_type')->inline(false)
]); ]);
@@ -40,16 +45,18 @@ class CarShowCategoryResource extends Resource
return $table return $table
->columns([ ->columns([
TextColumn::make('category_name')->sortable(), TextColumn::make('category_name')->sortable(),
BooleanColumn::make('vehicle_type')->sortable(), IconColumn::make('vehicle_type')->boolean()->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('category_name'); ->defaultSort('category_name');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\CarShowCategoryResource\Pages; namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource; use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateCarShowCategory extends CreateRecord class CreateCarShowCategory extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CarShowCategoryResource\Pages; namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource; use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditCarShowCategory extends EditRecord class EditCarShowCategory extends EditRecord
{ {
protected static string $resource = CarShowCategoryResource::class; protected static string $resource = CarShowCategoryResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CarShowCategoryResource\Pages; namespace App\Filament\Resources\CarShowCategoryResource\Pages;
use App\Filament\Resources\CarShowCategoryResource; use App\Filament\Resources\CarShowCategoryResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListCarShowCategories extends ListRecords class ListCarShowCategories extends ListRecords
{ {
protected static string $resource = CarShowCategoryResource::class; protected static string $resource = CarShowCategoryResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,13 +3,19 @@
namespace App\Filament\Resources\CarShowCategoryResource\RelationManagers; namespace App\Filament\Resources\CarShowCategoryResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\DissociateAction;
use Filament\Actions\AssociateAction;
class VehicleRelationManager extends RelationManager class VehicleRelationManager extends RelationManager
{ {
protected static string $relationship = 'vehicle'; protected static string $relationship = 'vehicle';
@@ -18,17 +24,17 @@ class VehicleRelationManager extends RelationManager
protected static ?string $inverseRelationship = 'vehicleType'; protected static ?string $inverseRelationship = 'vehicleType';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('id') Forms\Components\TextInput::make('id')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -41,18 +47,17 @@ class VehicleRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
Tables\Actions\AssociateAction::make(), DeleteAction::make(),
DissociateAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), AssociateAction::make(),
Tables\Actions\DissociateAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\DissociateBulkAction::make(),
]); ]);
} }
} }
@@ -5,10 +5,8 @@ namespace App\Filament\Resources;
use App\Filament\Resources\CarShowWinnerResource\Pages; use App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource\RelationManagers; use App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use App\Models\CarShowWinner; use App\Models\CarShowWinner;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,19 +14,25 @@ use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use App\Models\Vehicles; use App\Models\Vehicles;
use App\Models\CarShowCategory; use App\Models\CarShowCategory;
use UnitEnum;
use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class CarShowWinnerResource extends Resource class CarShowWinnerResource extends Resource
{ {
protected static ?string $model = CarShowWinner::class; protected static ?string $model = CarShowWinner::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Car Show'; protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('vehicle') Select::make('vehicle')
->label('Vehicle') ->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id')) ->options(Vehicles::all()->pluck('owner', 'id'))
@@ -44,20 +48,23 @@ class CarShowWinnerResource extends Resource
{ {
return $table return $table
->columns([ ->columns([
TextColumn::make('awardCategory.category_name')->label('Category'), TextColumn::make('awardCategory.category_name')->label('Category')->sortable(),
TextColumn::make('awardVehicle.owner')->label('Vehicle Number'), TextColumn::make('awardVehicle.owner')->label('Vehicle Number')->sortable(),
TextColumn::make('awardVehicle.year')->label('Year'), TextColumn::make('total_score')->label('Total Score')->sortable(),
TextColumn::make('awardVehicle.make')->label('Make'), TextColumn::make('awardVehicle.year')->label('Year')->sortable(),
TextColumn::make('awardVehicle.model')->label('Model'), TextColumn::make('awardVehicle.make')->label('Make')->sortable(),
TextColumn::make('awardVehicle.model')->label('Model')->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\CarShowWinnerResource\Pages; namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource; use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateCarShowWinner extends CreateRecord class CreateCarShowWinner extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CarShowWinnerResource\Pages; namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource; use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditCarShowWinner extends EditRecord class EditCarShowWinner extends EditRecord
{ {
protected static string $resource = CarShowWinnerResource::class; protected static string $resource = CarShowWinnerResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CarShowWinnerResource\Pages; namespace App\Filament\Resources\CarShowWinnerResource\Pages;
use App\Filament\Resources\CarShowWinnerResource; use App\Filament\Resources\CarShowWinnerResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListCarShowWinners extends ListRecords class ListCarShowWinners extends ListRecords
{ {
protected static string $resource = CarShowWinnerResource::class; protected static string $resource = CarShowWinnerResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,30 +3,34 @@
namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers; namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class AwardCategoryRelationManager extends RelationManager class AwardCategoryRelationManager extends RelationManager
{ {
protected static string $relationship = 'awardCategory'; protected static string $relationship = 'awardCategory';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('id') Forms\Components\TextInput::make('id')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -36,15 +40,15 @@ class AwardCategoryRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,30 +3,34 @@
namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers; namespace App\Filament\Resources\CarShowWinnerResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class AwardVehicleRelationManager extends RelationManager class AwardVehicleRelationManager extends RelationManager
{ {
protected static string $relationship = 'awardVehicle'; protected static string $relationship = 'awardVehicle';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('id') Forms\Components\TextInput::make('id')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -38,15 +42,15 @@ class AwardVehicleRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
+20 -23
View File
@@ -5,33 +5,36 @@ namespace App\Filament\Resources;
use App\Filament\Resources\CheckoutResource\Pages; use App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource\RelationManagers; use App\Filament\Resources\CheckoutResource\RelationManagers;
use App\Models\Checkout; use App\Models\Checkout;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle; use Filament\Forms\Components\Toggle;
use App\Models\Bidders; use App\Models\Bidders;
use App\Models\PaymentMethods; use App\Models\PaymentMethods;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class CheckoutResource extends Resource class CheckoutResource extends Resource
{ {
protected static ?string $model = Checkout::class; protected static ?string $model = Checkout::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Silent Auction'; protected static string | UnitEnum | null $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('bidder_num') Select::make('bidder_num')
->label('Bidder') ->label('Bidder')
->options( ->options(
@@ -40,15 +43,7 @@ class CheckoutResource extends Resource
) )
->searchable(), ->searchable(),
TextInput::make('winnertotal') TextInput::make('winnertotal')
->label('Total Amount') ->label('Total Amount'),
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
Select::make('payment_method') Select::make('payment_method')
->label('Payment Method') ->label('Payment Method')
->options(PaymentMethods::all()->pluck('pm_name', 'pm_id')) ->options(PaymentMethods::all()->pluck('pm_name', 'pm_id'))
@@ -65,7 +60,7 @@ class CheckoutResource extends Resource
->sortable(), ->sortable(),
TextColumn::make('winnertotal') TextColumn::make('winnertotal')
->label('Total Amount') ->label('Total Amount')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
TextColumn::make('paymentMethod.pm_name') TextColumn::make('paymentMethod.pm_name')
->label('Payment Method') ->label('Payment Method')
@@ -74,11 +69,13 @@ class CheckoutResource extends Resource
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('bidders.bidder_assigned_number'); ->defaultSort('bidders.bidder_assigned_number');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\CheckoutResource\Pages; namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource; use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateCheckout extends CreateRecord class CreateCheckout extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CheckoutResource\Pages; namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource; use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditCheckout extends EditRecord class EditCheckout extends EditRecord
{ {
protected static string $resource = CheckoutResource::class; protected static string $resource = CheckoutResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\CheckoutResource\Pages; namespace App\Filament\Resources\CheckoutResource\Pages;
use App\Filament\Resources\CheckoutResource; use App\Filament\Resources\CheckoutResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListCheckouts extends ListRecords class ListCheckouts extends ListRecords
{ {
protected static string $resource = CheckoutResource::class; protected static string $resource = CheckoutResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\CheckoutResource\RelationManagers; namespace App\Filament\Resources\CheckoutResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,10 +16,10 @@ class BiddersRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'bidder_num'; protected static ?string $recordTitleAttribute = 'bidder_num';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\Select::make('bidder_num') Forms\Components\Select::make('bidder_num')
->label('Number') ->label('Number')
->required() ->required()
@@ -33,11 +33,11 @@ class BiddersRelationManager extends RelationManager
Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'), Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'),
Forms\Components\TextInput::make('bidder_email')->label('Email'), Forms\Components\TextInput::make('bidder_email')->label('Email'),
Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'), Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]), ]),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -56,7 +56,9 @@ class BiddersRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\CheckoutResource\RelationManagers; namespace App\Filament\Resources\CheckoutResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,17 +16,17 @@ class PaymentMethodRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'payment_method'; protected static ?string $recordTitleAttribute = 'payment_method';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('payment_method') Forms\Components\TextInput::make('payment_method')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -43,7 +43,9 @@ class PaymentMethodRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
+22 -33
View File
@@ -5,54 +5,41 @@ namespace App\Filament\Resources;
use App\Filament\Resources\ItemsResource\Pages; use App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource\RelationManagers; use App\Filament\Resources\ItemsResource\RelationManagers;
use App\Models\Items; use App\Models\Items;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle; use Filament\Forms\Components\Toggle;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class ItemsResource extends Resource class ItemsResource extends Resource
{ {
protected static ?string $model = Items::class; protected static ?string $model = Items::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Silent Auction'; protected static string | UnitEnum | null $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
TextInput::make('item_assigned_num') TextInput::make('item_assigned_num')
->label('Item Number'), ->label('Item Number'),
TextInput::make('item_desc') TextInput::make('item_desc')
->label('Description'), ->label('Description'),
TextInput::make('item_min_bid') TextInput::make('item_min_bid')
->label('Minimum Bid') ->label('Minimum Bid'),
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
TextInput::make('item_est_value') TextInput::make('item_est_value')
->label('Estimated Value') ->label('Estimated Value'),
->mask(
fn (TextInput\Mask $mask) => $mask->money(
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
]); ]);
} }
@@ -67,21 +54,23 @@ class ItemsResource extends Resource
->label('Description'), ->label('Description'),
TextColumn::make('item_min_bid') TextColumn::make('item_min_bid')
->label('Minimum Bid') ->label('Minimum Bid')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
TextColumn::make('item_est_value') TextColumn::make('item_est_value')
->label('Estimated Value') ->label('Estimated Value')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('item_assigned_num'); ->defaultSort('item_assigned_num');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\ItemsResource\Pages; namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource; use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateItems extends CreateRecord class CreateItems extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\ItemsResource\Pages; namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource; use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditItems extends EditRecord class EditItems extends EditRecord
{ {
protected static string $resource = ItemsResource::class; protected static string $resource = ItemsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\ItemsResource\Pages; namespace App\Filament\Resources\ItemsResource\Pages;
use App\Filament\Resources\ItemsResource; use App\Filament\Resources\ItemsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListItems extends ListRecords class ListItems extends ListRecords
{ {
protected static string $resource = ItemsResource::class; protected static string $resource = ItemsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\ItemsResource\RelationManagers; namespace App\Filament\Resources\ItemsResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,17 +16,17 @@ class WinningBidsRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'iditems'; protected static ?string $recordTitleAttribute = 'iditems';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('iditems') Forms\Components\TextInput::make('iditems')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -43,7 +43,9 @@ class WinningBidsRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
+18 -12
View File
@@ -5,28 +5,32 @@ namespace App\Filament\Resources;
use App\Filament\Resources\JudgesResource\Pages; use App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource\RelationManagers; use App\Filament\Resources\JudgesResource\RelationManagers;
use App\Models\Judges; use App\Models\Judges;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class JudgesResource extends Resource class JudgesResource extends Resource
{ {
protected static ?string $model = Judges::class; protected static ?string $model = Judges::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Car Show'; protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
TextInput::make('judge_number'), TextInput::make('judge_number'),
]); ]);
} }
@@ -40,11 +44,13 @@ class JudgesResource extends Resource
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\JudgesResource\Pages; namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource; use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateJudges extends CreateRecord class CreateJudges extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\JudgesResource\Pages; namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource; use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditJudges extends EditRecord class EditJudges extends EditRecord
{ {
protected static string $resource = JudgesResource::class; protected static string $resource = JudgesResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\JudgesResource\Pages; namespace App\Filament\Resources\JudgesResource\Pages;
use App\Filament\Resources\JudgesResource; use App\Filament\Resources\JudgesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListJudges extends ListRecords class ListJudges extends ListRecords
{ {
protected static string $resource = JudgesResource::class; protected static string $resource = JudgesResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\JudgesResource\RelationManagers; namespace App\Filament\Resources\JudgesResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,17 +16,17 @@ class VehicleScoresRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'judge'; protected static ?string $recordTitleAttribute = 'judge';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('judge') Forms\Components\TextInput::make('judge')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -43,7 +43,9 @@ class VehicleScoresRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
@@ -5,28 +5,32 @@ namespace App\Filament\Resources;
use App\Filament\Resources\PaymentMethodsResource\Pages; use App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource\RelationManagers; use App\Filament\Resources\PaymentMethodsResource\RelationManagers;
use App\Models\PaymentMethods; use App\Models\PaymentMethods;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class PaymentMethodsResource extends Resource class PaymentMethodsResource extends Resource
{ {
protected static ?string $model = PaymentMethods::class; protected static ?string $model = PaymentMethods::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Silent Auction'; protected static string | UnitEnum | null $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
TextInput::make('pm_name') TextInput::make('pm_name')
->label('Method Name'), ->label('Method Name'),
]); ]);
@@ -43,11 +47,13 @@ class PaymentMethodsResource extends Resource
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\PaymentMethodsResource\Pages; namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource; use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreatePaymentMethods extends CreateRecord class CreatePaymentMethods extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\PaymentMethodsResource\Pages; namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource; use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditPaymentMethods extends EditRecord class EditPaymentMethods extends EditRecord
{ {
protected static string $resource = PaymentMethodsResource::class; protected static string $resource = PaymentMethodsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\PaymentMethodsResource\Pages; namespace App\Filament\Resources\PaymentMethodsResource\Pages;
use App\Filament\Resources\PaymentMethodsResource; use App\Filament\Resources\PaymentMethodsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListPaymentMethods extends ListRecords class ListPaymentMethods extends ListRecords
{ {
protected static string $resource = PaymentMethodsResource::class; protected static string $resource = PaymentMethodsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\PaymentMethodsResource\RelationManagers; namespace App\Filament\Resources\PaymentMethodsResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,17 +16,17 @@ class CheckoutRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'payment_method'; protected static ?string $recordTitleAttribute = 'payment_method';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('payment_method') Forms\Components\TextInput::make('payment_method')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -43,7 +43,9 @@ class CheckoutRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
@@ -5,10 +5,11 @@ namespace App\Filament\Resources;
use App\Filament\Resources\PeoplesChoiceResource\Pages; use App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource\RelationManagers; use App\Filament\Resources\PeoplesChoiceResource\RelationManagers;
use App\Models\PeoplesChoice; use App\Models\PeoplesChoice;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,21 +17,24 @@ use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use App\Models\Vehicles; use App\Models\Vehicles;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class PeoplesChoiceResource extends Resource class PeoplesChoiceResource extends Resource
{ {
protected static ?string $model = PeoplesChoice::class; 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'; protected static ?string $pluralModelLabel = 'Peoples Choice';
public static function form(Form $form): Form protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('vehicle') Select::make('vehicle')
->label('Vehicle') ->label('Vehicle')
->options(Vehicles::all()->pluck('owner', 'id')) ->options(Vehicles::all()->pluck('owner', 'id'))
@@ -43,20 +47,22 @@ class PeoplesChoiceResource extends Resource
{ {
return $table return $table
->columns([ ->columns([
TextColumn::make('pc_count')->label('PC Vote Count'), TextColumn::make('pc_count')->label('PC Vote Count')->sortable(),
TextColumn::make('vehicles.owner')->label('Vehicle Number'), TextColumn::make('vehicles.owner')->label('Vehicle Number')->sortable(),
TextColumn::make('vehicles.year')->label('Year'), TextColumn::make('vehicles.year')->label('Year')->sortable(),
TextColumn::make('vehicles.make')->label('Make'), TextColumn::make('vehicles.make')->label('Make')->sortable(),
TextColumn::make('vehicles.model')->label('Model'), TextColumn::make('vehicles.model')->label('Model')->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\PeoplesChoiceResource\Pages; namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource; use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreatePeoplesChoice extends CreateRecord class CreatePeoplesChoice extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\PeoplesChoiceResource\Pages; namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource; use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditPeoplesChoice extends EditRecord class EditPeoplesChoice extends EditRecord
{ {
protected static string $resource = PeoplesChoiceResource::class; protected static string $resource = PeoplesChoiceResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\PeoplesChoiceResource\Pages; namespace App\Filament\Resources\PeoplesChoiceResource\Pages;
use App\Filament\Resources\PeoplesChoiceResource; use App\Filament\Resources\PeoplesChoiceResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListPeoplesChoices extends ListRecords class ListPeoplesChoices extends ListRecords
{ {
protected static string $resource = PeoplesChoiceResource::class; protected static string $resource = PeoplesChoiceResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,9 +3,9 @@
namespace App\Filament\Resources\PeoplesChoiceResource\RelationManagers; namespace App\Filament\Resources\PeoplesChoiceResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -16,17 +16,17 @@ class VehiclesRelationManager extends RelationManager
protected static ?string $recordTitleAttribute = 'vehicle'; protected static ?string $recordTitleAttribute = 'vehicle';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('vehicle') Forms\Components\TextInput::make('vehicle')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -43,7 +43,9 @@ class VehiclesRelationManager extends RelationManager
Tables\Actions\DeleteAction::make(), Tables\Actions\DeleteAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]); ]);
} }
} }
@@ -5,10 +5,11 @@ namespace App\Filament\Resources;
use App\Filament\Resources\VehicleScoresResource\Pages; use App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource\RelationManagers; use App\Filament\Resources\VehicleScoresResource\RelationManagers;
use App\Models\VehicleScores; use App\Models\VehicleScores;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -17,19 +18,22 @@ use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use App\Models\Vehicles; use App\Models\Vehicles;
use App\Models\Judges; use App\Models\Judges;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class VehicleScoresResource extends Resource class VehicleScoresResource extends Resource
{ {
protected static ?string $model = VehicleScores::class; protected static ?string $model = VehicleScores::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Car Show'; protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('judge') Select::make('judge')
->label('Judge') ->label('Judge')
->options(Judges::all()->pluck('judge_number', 'id')) ->options(Judges::all()->pluck('judge_number', 'id'))
@@ -55,11 +59,13 @@ class VehicleScoresResource extends Resource
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\VehicleScoresResource\Pages; namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource; use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateVehicleScores extends CreateRecord class CreateVehicleScores extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\VehicleScoresResource\Pages; namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource; use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditVehicleScores extends EditRecord class EditVehicleScores extends EditRecord
{ {
protected static string $resource = VehicleScoresResource::class; protected static string $resource = VehicleScoresResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\VehicleScoresResource\Pages; namespace App\Filament\Resources\VehicleScoresResource\Pages;
use App\Filament\Resources\VehicleScoresResource; use App\Filament\Resources\VehicleScoresResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListVehicleScores extends ListRecords class ListVehicleScores extends ListRecords
{ {
protected static string $resource = VehicleScoresResource::class; protected static string $resource = VehicleScoresResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,30 +3,34 @@
namespace App\Filament\Resources\VehicleScoresResource\RelationManagers; namespace App\Filament\Resources\VehicleScoresResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class JudgeRelationManager extends RelationManager class JudgeRelationManager extends RelationManager
{ {
protected static string $relationship = 'judges'; protected static string $relationship = 'judges';
protected static ?string $recordTitleAttribute = 'judge_number'; protected static ?string $recordTitleAttribute = 'judge_number';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('judge_number') Forms\Components\TextInput::make('judge_number')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -36,14 +40,16 @@ class JudgeRelationManager extends RelationManager
// //
]) ])
->headerActions([ ->headerActions([
Tables\Actions\CreateAction::make(), CreateAction::make(),
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
Tables\Actions\DeleteAction::make(), DeleteAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]); ]);
} }
} }
@@ -3,30 +3,34 @@
namespace App\Filament\Resources\VehicleScoresResource\RelationManagers; namespace App\Filament\Resources\VehicleScoresResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class ScoredVehicleRelationManager extends RelationManager class ScoredVehicleRelationManager extends RelationManager
{ {
protected static string $relationship = 'scoredVehicle'; protected static string $relationship = 'scoredVehicle';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('owner') Forms\Components\TextInput::make('owner')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -38,15 +42,15 @@ class ScoredVehicleRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
+22 -15
View File
@@ -5,33 +5,37 @@ namespace App\Filament\Resources;
use App\Filament\Resources\VehiclesResource\Pages; use App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource\RelationManagers; use App\Filament\Resources\VehiclesResource\RelationManagers;
use App\Models\Vehicles; use App\Models\Vehicles;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle; use Filament\Forms\Components\Toggle;
use App\Models\Bidders; use App\Models\Bidders;
use App\Models\CarShowCategory; use App\Models\CarShowCategory;
use Filament\Actions\EditAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class VehiclesResource extends Resource class VehiclesResource extends Resource
{ {
protected static ?string $model = Vehicles::class; protected static ?string $model = Vehicles::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Car Show'; protected static string | UnitEnum | null $navigationGroup = 'Car Show';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('owner') Select::make('owner')
->label('Owner') ->label('Owner')
->options(Bidders::orderBy('bidder_assigned_number')->pluck('bidder_assigned_number', 'idbidders')) ->options(Bidders::orderBy('bidder_assigned_number')->pluck('bidder_assigned_number', 'idbidders'))
@@ -68,10 +72,11 @@ class VehiclesResource extends Resource
TextColumn::make('vehicleType.category_name') TextColumn::make('vehicleType.category_name')
->label('Type') ->label('Type')
->sortable(), ->sortable(),
BooleanColumn::make('doNotJudge') IconColumn::make('doNotJudge')
->label('Judged?') ->label('Judged?')
->sortable() ->sortable()
->falseIcon('heroicon-o-badge-check') ->boolean()
->falseIcon('heroicon-o-check-badge')
->trueIcon('heroicon-o-x-circle') ->trueIcon('heroicon-o-x-circle')
->trueColor('danger') ->trueColor('danger')
->falseColor('success'), ->falseColor('success'),
@@ -85,11 +90,13 @@ class VehiclesResource extends Resource
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('vehicleOwner.bidder_assigned_number'); ->defaultSort('vehicleOwner.bidder_assigned_number');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\VehiclesResource\Pages; namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource; use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateVehicles extends CreateRecord class CreateVehicles extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\VehiclesResource\Pages; namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource; use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditVehicles extends EditRecord class EditVehicles extends EditRecord
{ {
protected static string $resource = VehiclesResource::class; protected static string $resource = VehiclesResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\VehiclesResource\Pages; namespace App\Filament\Resources\VehiclesResource\Pages;
use App\Filament\Resources\VehiclesResource; use App\Filament\Resources\VehiclesResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListVehicles extends ListRecords class ListVehicles extends ListRecords
{ {
protected static string $resource = VehiclesResource::class; protected static string $resource = VehiclesResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
@@ -3,30 +3,34 @@
namespace App\Filament\Resources\VehiclesResource\RelationManagers; namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class CarShowWinnerRelationManager extends RelationManager class CarShowWinnerRelationManager extends RelationManager
{ {
protected static string $relationship = 'CarShowWinner'; protected static string $relationship = 'CarShowWinner';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\TextInput::make('id') Forms\Components\TextInput::make('id')
->required() ->required()
->maxLength(255), ->maxLength(255),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -35,15 +39,15 @@ class CarShowWinnerRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,24 +3,28 @@
namespace App\Filament\Resources\VehiclesResource\RelationManagers; namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Bidders; use App\Models\Bidders;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class VehicleOwnerRelationManager extends RelationManager class VehicleOwnerRelationManager extends RelationManager
{ {
protected static string $relationship = 'vehicleOwner'; protected static string $relationship = 'vehicleOwner';
protected static ?string $recordTitleAttribute = 'owner'; protected static ?string $recordTitleAttribute = 'owner';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\Select::make('owner') Forms\Components\Select::make('owner')
->label('Owner Assigned Number') ->label('Owner Assigned Number')
->required() ->required()
@@ -39,11 +43,11 @@ class VehicleOwnerRelationManager extends RelationManager
Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'), Forms\Components\TextInput::make('bidder_phone')->label('Phone Number'),
Forms\Components\TextInput::make('bidder_email')->label('Email'), Forms\Components\TextInput::make('bidder_email')->label('Email'),
Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'), Forms\Components\TextInput::make('bidder_assigned_number')->label('Assigned Number'),
]), ]),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -54,15 +58,15 @@ class VehicleOwnerRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,25 +3,29 @@
namespace App\Filament\Resources\VehiclesResource\RelationManagers; namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\Vehicles; use App\Models\Vehicles;
use App\Models\Judges; use App\Models\Judges;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class VehicleScoresRelationManager extends RelationManager class VehicleScoresRelationManager extends RelationManager
{ {
protected static string $relationship = 'vehicleScores'; protected static string $relationship = 'vehicleScores';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\Select::make('judge') Forms\Components\Select::make('judge')
->label('Judge') ->label('Judge')
->options(Judges::all()->pluck('judge_number', 'id')) ->options(Judges::all()->pluck('judge_number', 'id'))
@@ -35,7 +39,7 @@ class VehicleScoresRelationManager extends RelationManager
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -45,15 +49,15 @@ class VehicleScoresRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
@@ -3,24 +3,28 @@
namespace App\Filament\Resources\VehiclesResource\RelationManagers; namespace App\Filament\Resources\VehiclesResource\RelationManagers;
use Filament\Forms; use Filament\Forms;
use Filament\Resources\Form; use Filament\Schemas\Schema;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\CarShowCategory; use App\Models\CarShowCategory;
use Filament\Actions\CreateAction;
use Filament\Actions\EditAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class VehicleTypeRelationManager extends RelationManager class VehicleTypeRelationManager extends RelationManager
{ {
protected static string $relationship = 'vehicleType'; protected static string $relationship = 'vehicleType';
protected static ?string $recordTitleAttribute = 'id'; protected static ?string $recordTitleAttribute = 'id';
public static function form(Form $form): Form public function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Forms\Components\Select::make('category_name') Forms\Components\Select::make('category_name')
->required() ->required()
->searchable() ->searchable()
@@ -28,11 +32,11 @@ class VehicleTypeRelationManager extends RelationManager
->createOptionForm([ ->createOptionForm([
Forms\Components\TextInput::make('category_name'), Forms\Components\TextInput::make('category_name'),
Forms\Components\Toggle::make('vehicle_type')->inline(false), Forms\Components\Toggle::make('vehicle_type')->inline(false),
]), ]),
]); ]);
} }
public static function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->columns([ ->columns([
@@ -41,15 +45,15 @@ class VehicleTypeRelationManager extends RelationManager
->filters([ ->filters([
// //
]) ])
->headerActions([ ->recordActions([
Tables\Actions\CreateAction::make(), EditAction::make(),
DeleteAction::make(),
]) ])
->actions([ ->toolbarActions([
Tables\Actions\EditAction::make(), CreateAction::make(),
Tables\Actions\DeleteAction::make(), BulkActionGroup::make([
]) DeleteBulkAction::make(),
->bulkActions([ ]),
Tables\Actions\DeleteBulkAction::make(),
]); ]);
} }
} }
+22 -24
View File
@@ -5,35 +5,37 @@ namespace App\Filament\Resources;
use App\Filament\Resources\WinningBidsResource\Pages; use App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource\RelationManagers; use App\Filament\Resources\WinningBidsResource\RelationManagers;
use App\Models\WinningBids; use App\Models\WinningBids;
use Filament\Forms; use UnitEnum;
use Filament\Resources\Form; use BackedEnum;
use Filament\Schemas\Schema;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Resources\Table; use Filament\Tables\Table;
use Filament\Tables; use Filament\Tables;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Columns\BooleanColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle; use Filament\Forms\Components\Toggle;
use App\Models\Bidders; use App\Models\Bidders;
use App\Models\Items; use App\Models\Items;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Actions\EditAction;
use function Ramsey\Uuid\v1; use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
class WinningBidsResource extends Resource class WinningBidsResource extends Resource
{ {
protected static ?string $model = WinningBids::class; protected static ?string $model = WinningBids::class;
protected static ?string $navigationIcon = 'heroicon-o-collection'; protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Silent Auction'; protected static string | UnitEnum | null $navigationGroup = 'Silent Auction';
public static function form(Form $form): Form public static function form(Schema $schema): Schema
{ {
return $form return $schema
->schema([ ->components([
Select::make('winning_item_num') Select::make('winning_item_num')
->label('Item') ->label('Item')
->options(Items::orderBy('item_assigned_num')->pluck('item_assigned_num', 'iditems')) ->options(Items::orderBy('item_assigned_num')->pluck('item_assigned_num', 'iditems'))
@@ -47,14 +49,8 @@ class WinningBidsResource extends Resource
->searchable(), ->searchable(),
TextInput::make('winning_cost') TextInput::make('winning_cost')
->label('Winning Bid') ->label('Winning Bid')
->mask( ->prefix('$')
fn (TextInput\Mask $mask) => $mask->money( ->numeric(),
prefix: '$',
thousandsSeparator: ',',
decimalPlaces: 2,
isSigned: false
)
),
]); ]);
} }
@@ -73,17 +69,19 @@ class WinningBidsResource extends Resource
->sortable(), ->sortable(),
TextColumn::make('winning_cost') TextColumn::make('winning_cost')
->label('Winning Bid Amt') ->label('Winning Bid Amt')
->money('usd', 'true') ->money('USD')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([
// //
]) ])
->actions([ ->recordActions([
Tables\Actions\EditAction::make(), EditAction::make(),
]) ])
->bulkActions([ ->toolbarActions([
Tables\Actions\DeleteBulkAction::make(), BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]) ])
->defaultSort('items.item_assigned_num'); ->defaultSort('items.item_assigned_num');
} }
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\WinningBidsResource\Pages; namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource; use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateWinningBids extends CreateRecord class CreateWinningBids extends CreateRecord
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\WinningBidsResource\Pages; namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource; use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
class EditWinningBids extends EditRecord class EditWinningBids extends EditRecord
{ {
protected static string $resource = WinningBidsResource::class; protected static string $resource = WinningBidsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
@@ -3,14 +3,14 @@
namespace App\Filament\Resources\WinningBidsResource\Pages; namespace App\Filament\Resources\WinningBidsResource\Pages;
use App\Filament\Resources\WinningBidsResource; use App\Filament\Resources\WinningBidsResource;
use Filament\Pages\Actions; use Filament\Actions;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListWinningBids extends ListRecords class ListWinningBids extends ListRecords
{ {
protected static string $resource = WinningBidsResource::class; protected static string $resource = WinningBidsResource::class;
protected function getActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make(), Actions\CreateAction::make(),
+14
View File
@@ -0,0 +1,14 @@
<?php
namespace App\Helpers;
class PhoneHelper
{
public static function format($phone)
{
$phone = preg_replace('/[^0-9]/', '', $phone);
if (strlen($phone) == 10) {
return preg_replace('/([0-9]{3})([0-9]{3})([0-9]{4})/', '$1-$2-$3', $phone);
}
return $phone;
}
}
+41
View File
@@ -490,6 +490,21 @@ class PagesController extends Controller
->get(); ->get();
return view('carshowscores', ['carshowscore_results' => $carshowscore_results]); return view('carshowscores', ['carshowscore_results' => $carshowscore_results]);
} }
public function showscoresbycar()
{
$carshowscore2_results = VehicleScores::with(['scoredVehicle'])
->groupBy('vehicle')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
//->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number')
->orderByRaw('CAST((
SELECT owner
FROM vehicles
WHERE vehicles.id = vehicle_scores.vehicle
LIMIT 1
) AS UNSIGNED) ASC')
->get();
return view('carshowscores', ['carshowscore_results' => $carshowscore2_results]);
}
public function showcarlist() public function showcarlist()
{ {
$showcarlist_results = Bidders::has('vehicles') $showcarlist_results = Bidders::has('vehicles')
@@ -500,4 +515,30 @@ class PagesController extends Controller
//dd($showcarlist_results); //dd($showcarlist_results);
return view('showcarlist', ['showcarlist_results' => $showcarlist_results]); return view('showcarlist', ['showcarlist_results' => $showcarlist_results]);
} }
public function myWinnings(Request $request)
{
if (!$request->bidder_number) {
return view('mywinnings_form');
}
$bidder_number = $request->bidder_number;
$bidder = Bidders::where('bidder_assigned_number', $bidder_number)->first();
if (!$bidder) {
return view('mywinnings_form', ['error' => 'Bidder number not found.']);
}
$winnings = WinningBids::with('items')
->where('winning_bidder_num', $bidder->idbidders)
->get();
$total_cost = $winnings->sum('winning_cost');
return view('mywinnings_results', [
'bidder' => $bidder,
'winnings' => $winnings,
'total_cost' => $total_cost
]);
}
} }
+7 -4
View File
@@ -24,10 +24,13 @@ class Bidders extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function checkout() public function checkout()
{ {
+8 -8
View File
@@ -9,19 +9,19 @@ class CarShowCategory extends Model
protected $table = 'car_show_categories'; protected $table = 'car_show_categories';
protected static ?string $recordTitleAttribute = 'category_name'; protected static ?string $recordTitleAttribute = 'category_name';
protected $casts = [
'vehicle_type' => 'boolean',
];
protected $fillable = [ protected $fillable = [
'category_name', 'category_name',
'vehicle_type' 'vehicle_type'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'vehicle_type' => 'boolean',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function vehicle() public function vehicle()
{ {
+9 -5
View File
@@ -10,13 +10,17 @@ class CarShowWinner extends Model
protected $fillable = [ protected $fillable = [
'vehicle', 'vehicle',
'category', 'category',
'place' 'place',
'total_score'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function awardVehicle() public function awardVehicle()
{ {
+8 -4
View File
@@ -21,10 +21,14 @@ class Checkout extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
'winnertotal' => 'integer',
];
}
public function bidders() public function bidders()
{ {
+7 -4
View File
@@ -19,10 +19,13 @@ class Items extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function winningBids() public function winningBids()
{ {
+7 -4
View File
@@ -13,10 +13,13 @@ class Judges extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function vehicleScores() public function vehicleScores()
{ {
+7 -4
View File
@@ -16,10 +16,13 @@ class PaymentMethods extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function checkout() public function checkout()
{ {
+7 -4
View File
@@ -14,10 +14,13 @@ class PeoplesChoice extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function vehicles() public function vehicles()
{ {
+7 -4
View File
@@ -15,10 +15,13 @@ class VehicleScores extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function judges() public function judges()
{ {
+8 -8
View File
@@ -8,10 +8,6 @@ class Vehicles extends Model
{ {
protected $table = 'vehicles'; protected $table = 'vehicles';
protected $casts = [
'owner' => 'integer'
];
protected $fillable = [ protected $fillable = [
'year', 'year',
'make', 'make',
@@ -21,10 +17,14 @@ class Vehicles extends Model
'owner' 'owner'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'owner' => 'integer',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function vehicleType() public function vehicleType()
{ {
+8 -5
View File
@@ -18,14 +18,17 @@ class WinningBids extends Model
'updated_at' 'updated_at'
]; ];
protected $dates = [ protected function casts(): array
'created_at', {
'updated_at' return [
]; 'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}
public function items() public function items()
{ {
return $this->hasMany(Items::class, 'iditems', 'winning_item_num'); return $this->belongsTo(Items::class, 'winning_item_num', 'iditems');
} }
public function bidders() public function bidders()
@@ -0,0 +1,60 @@
<?php
namespace App\Providers\Filament;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Pages;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\Support\Colors\Color;
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\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->brandName(env('APP_NAME'))
->homeUrl('/')
->colors([
'primary' => Color::Amber,
])
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([
Pages\Dashboard::class,
])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
->widgets([
Widgets\AccountWidget::class,
Widgets\FilamentInfoWidget::class,
])
->middleware([
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
AuthenticateSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
SubstituteBindings::class,
DisableBladeIconComponents::class,
DispatchServingFilamentEvent::class,
])
->authMiddleware([
Authenticate::class,
]);
}
}
+18 -2
View File
@@ -6,8 +6,9 @@ use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Filament\Models\Contracts\FilamentUser; use Filament\Models\Contracts\FilamentUser;
use Filament\Models\Contracts\HasName; use Filament\Models\Contracts\HasName;
use Filament\Panel;
class User extends Authenticatable implements FilamentUser,HasName class User extends Authenticatable implements FilamentUser, HasName
{ {
use Notifiable; use Notifiable;
@@ -28,10 +29,25 @@ class User extends Authenticatable implements FilamentUser,HasName
protected $hidden = [ protected $hidden = [
'password', 'remember_token', 'password', 'remember_token',
]; ];
public function canAccessFilament(): bool
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
public function canAccessPanel(Panel $panel): bool
{ {
return str_ends_with($this->email, '@tfmm.co'); return str_ends_with($this->email, '@tfmm.co');
} }
public function getFilamentName(): string public function getFilamentName(): string
{ {
return "{$this->name}"; return "{$this->name}";
+67 -65
View File
@@ -1,68 +1,70 @@
{ {
"name": "laravel/laravel", "name": "laravel/laravel",
"description": "The Laravel Framework.", "description": "The Laravel Framework.",
"keywords": ["framework", "laravel"], "keywords": ["framework", "laravel"],
"license": "MIT", "license": "MIT",
"type": "project", "type": "project",
"require": { "require": {
"php": ">=7.0.0", "php": "^8.2",
"barryvdh/laravel-snappy": "^1.0", "barryvdh/laravel-snappy": "^1.0",
"carlos-meneses/laravel-mpdf": "^2.1", "carlos-meneses/laravel-mpdf": "^2.1",
"filament/filament": "^2.0", "filament/filament": "^5.0",
"laravel/framework": "^9.0", "laravel/framework": "^11.0",
"laravel/tinker": "^2.0", "laravel/tinker": "^2.9",
"laravel/ui": "^3.0" "laravel/ui": "^4.2"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.7",
"filp/whoops": "~2.0",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "^9.0"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}, },
"files": [ "require-dev": {
"app/Helpers/BidderSelectList.php", "barryvdh/laravel-debugbar": "^3.8",
"app/Helpers/CheckoutBidderSelectList.php", "filament/upgrade": "^5.0",
"app/Helpers/ItemSelectList.php", "filp/whoops": "^2.14",
"app/Helpers/PaymentMethodSelectList.php", "mockery/mockery": "^1.6",
"app/Helpers/WinningBidderSelectList.php", "nunomaduro/collision": "^8.1",
"app/Helpers/WinningBidSelectList.php" "phpunit/phpunit": "^11.0"
] },
"autoload": {
}, "classmap": [
"scripts": { "database"
"post-root-package-install": [ ],
"php -r \"file_exists('.env') || copy('.env.example', '.env');\"" "psr-4": {
], "App\\": "app/"
"post-create-project-cmd": [ },
"php artisan key:generate" "files": [
], "app/Helpers/BidderSelectList.php",
"post-install-cmd": [ "app/Helpers/CheckoutBidderSelectList.php",
"Illuminate\\Foundation\\ComposerScripts::postInstall" "app/Helpers/ItemSelectList.php",
], "app/Helpers/PaymentMethodSelectList.php",
"post-update-cmd": [ "app/Helpers/WinningBidderSelectList.php",
"Illuminate\\Foundation\\ComposerScripts::postUpdate", "app/Helpers/WinningBidSelectList.php"
"@php artisan filament:upgrade" ]
], },
"post-autoload-dump": [ "autoload-dev": {
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "psr-4": {
"@php artisan package:discover" "Tests\\": "tests/"
] }
}, },
"config": { "scripts": {
"preferred-install": "dist", "post-root-package-install": [
"sort-packages": true, "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
"optimize-autoloader": true ],
} "post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"@php artisan filament:upgrade"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover",
"@php artisan filament:upgrade"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
} }
Generated
+4570 -2060
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -175,7 +175,8 @@ return [
App\Providers\AuthServiceProvider::class, App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class, // App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class, App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class, App\Providers\Filament\AdminPanelProvider::class,
App\Providers\RouteServiceProvider::class,
], ],
@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up():
void {
Schema::table('car_show_winners', function (Blueprint $table) {
$table->integer('total_score')->after('vehicle');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down():
void {
Schema::table('car_show_winners', function (Blueprint $table) {
$table->dropColumn('total_score');
});
}
};
@@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('sessions', function (Blueprint $table) {
$table->string('id')->primary();
$table->foreignId('user_id')->nullable()->index();
$table->string('ip_address', 45)->nullable();
$table->text('user_agent')->nullable();
$table->longText('payload');
$table->integer('last_activity')->index();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('sessions');
}
};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.fi-pagination-items,.fi-pagination-overview,.fi-pagination-records-per-page-select:not(.fi-compact){display:none}@supports (container-type:inline-size){.fi-pagination{container-type:inline-size}@container (min-width: 28rem){.fi-pagination-records-per-page-select.fi-compact{display:none}.fi-pagination-records-per-page-select:not(.fi-compact){display:inline}}@container (min-width: 56rem){.fi-pagination:not(.fi-simple)>.fi-pagination-previous-btn{display:none}.fi-pagination-overview{display:inline}.fi-pagination:not(.fi-simple)>.fi-pagination-next-btn{display:none}.fi-pagination-items{display:flex}}}@supports not (container-type:inline-size){@media (min-width:640px){.fi-pagination-records-per-page-select.fi-compact{display:none}.fi-pagination-records-per-page-select:not(.fi-compact){display:inline}}@media (min-width:768px){.fi-pagination:not(.fi-simple)>.fi-pagination-previous-btn{display:none}.fi-pagination-overview{display:inline}.fi-pagination:not(.fi-simple)>.fi-pagination-next-btn{display:none}.fi-pagination-items{display:flex}}}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}.tippy-box[data-theme~=light]{background-color:#fff;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;color:#26323d}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fi-sortable-ghost{opacity:.3}
+1
View File
@@ -0,0 +1 @@
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
+1
View File
@@ -0,0 +1 @@
(()=>{var n=({livewireId:e})=>({actionNestingIndex:null,init(){window.addEventListener("sync-action-modals",t=>{t.detail.id===e&&this.syncActionModals(t.detail.newActionNestingIndex,t.detail.shouldOverlayParentActions??!1)})},syncActionModals(t,i=!1){if(this.actionNestingIndex===t){this.actionNestingIndex!==null&&this.$nextTick(()=>this.openModal());return}let s=this.actionNestingIndex!==null&&t!==null&&t>this.actionNestingIndex;if(this.actionNestingIndex!==null&&!(i&&s)&&this.closeModal(),this.actionNestingIndex=t,this.actionNestingIndex!==null){if(!this.$el.querySelector(`#${this.generateModalId(t)}`)){this.$nextTick(()=>this.openModal());return}this.openModal()}},generateModalId(t){return`fi-${e}-action-`+t},openModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("open-modal",{bubbles:!0,composed:!0,detail:{id:t}}))},closeModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("close-modal-quietly",{bubbles:!0,composed:!0,detail:{id:t}}))}});document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentActionModals",n)});})();
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

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