Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a8fd03f256 | |||
| 00ff08e3a6 | |||
| 7e8b35bf20 | |||
| 681d8b73d6 | |||
| f294ded6e8 | |||
| eca564eac7 | |||
| e8df889f7e |
@@ -13,6 +13,7 @@ use Filament\Actions\EditAction;
|
|||||||
use Filament\Actions\BulkActionGroup;
|
use Filament\Actions\BulkActionGroup;
|
||||||
use Filament\Actions\DeleteBulkAction;
|
use Filament\Actions\DeleteBulkAction;
|
||||||
use Filament\Support\Icons\Heroicon;
|
use Filament\Support\Icons\Heroicon;
|
||||||
|
use BackedEnum;
|
||||||
|
|
||||||
class UserResource extends Resource
|
class UserResource extends Resource
|
||||||
{
|
{
|
||||||
@@ -20,7 +21,7 @@ class UserResource extends Resource
|
|||||||
|
|
||||||
protected static ?string $recordTitleAttribute = 'name';
|
protected static ?string $recordTitleAttribute = 'name';
|
||||||
|
|
||||||
protected static string | \UnitEnum | null $navigationIcon = 'heroicon-o-users';
|
protected static string | BackedEnum | null $navigationIcon = 'heroicon-o-users';
|
||||||
|
|
||||||
public static function form(Schema $schema): Schema
|
public static function form(Schema $schema): Schema
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ use Illuminate\Support\Facades\Blade;
|
|||||||
|
|
||||||
use Filament\Navigation\MenuItem;
|
use Filament\Navigation\MenuItem;
|
||||||
|
|
||||||
|
use Filament\Facades\Filament;
|
||||||
|
|
||||||
class AdminPanelProvider extends PanelProvider
|
class AdminPanelProvider extends PanelProvider
|
||||||
{
|
{
|
||||||
public function boot()
|
public function boot()
|
||||||
@@ -42,6 +44,13 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
</div>
|
</div>
|
||||||
'),
|
'),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Filament::registerUserMenuItems([
|
||||||
|
MenuItem::make()
|
||||||
|
->label('Link OIDC Account')
|
||||||
|
->icon('heroicon-o-link')
|
||||||
|
->url(fn (): string => url('auth/social/oidc')),
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function panel(Panel $panel): Panel
|
public function panel(Panel $panel): Panel
|
||||||
@@ -51,14 +60,15 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
->id('admin')
|
->id('admin')
|
||||||
->path('admin')
|
->path('admin')
|
||||||
->login()
|
->login()
|
||||||
->brandName(env('APP_NAME'))
|
->profile()
|
||||||
->homeUrl('/')
|
|
||||||
->userMenuItems([
|
->userMenuItems([
|
||||||
MenuItem::make()
|
'oidc' => MenuItem::make()
|
||||||
->label('Link OIDC Account')
|
->label('Link OIDC Account')
|
||||||
->icon('heroicon-o-link')
|
->icon('heroicon-o-link')
|
||||||
->url(fn (): string => url('auth/social/oidc')),
|
->url(fn (): string => url('auth/social/oidc')),
|
||||||
])
|
])
|
||||||
|
->brandName(env('APP_NAME'))
|
||||||
|
->homeUrl('/')
|
||||||
->colors([
|
->colors([
|
||||||
'primary' => Color::Amber,
|
'primary' => Color::Amber,
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -23,14 +23,131 @@ $factory->define(App\User::class, function (Faker\Generator $faker) {
|
|||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
//Bidder
|
// Bidders
|
||||||
$factory->define(App\Models\Bidder::class, function (Faker\Generator $faker) {
|
$factory->define(App\Models\Bidders::class, function (Faker\Generator $faker) {
|
||||||
static $password;
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'name' => $faker->name,
|
'bidder_fname' => $faker->firstName,
|
||||||
'email' => $faker->unique()->safeEmail,
|
'bidder_lname' => $faker->lastName,
|
||||||
'password' => $password ?: $password = bcrypt('secret'),
|
'bidder_addr' => $faker->streetAddress,
|
||||||
'remember_token' => str_random(10),
|
'bidder_city' => $faker->city,
|
||||||
|
'bidder_state' => $faker->stateAbbr,
|
||||||
|
'bidder_zip' => $faker->postcode,
|
||||||
|
'bidder_phone' => $faker->phoneNumber,
|
||||||
|
'bidder_email' => $faker->unique()->safeEmail,
|
||||||
|
'bidder_assigned_number' => $faker->unique()->numberBetween(1, 1000),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Items
|
||||||
|
$factory->define(App\Models\Items::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'item_desc' => $faker->sentence(3),
|
||||||
|
'item_min_bid' => $faker->numberBetween(10, 100),
|
||||||
|
'item_est_value' => $faker->numberBetween(50, 500),
|
||||||
|
'item_assigned_num' => $faker->unique()->numberBetween(1, 500),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// CarShowCategory
|
||||||
|
$factory->define(App\Models\CarShowCategory::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'category_name' => $faker->words(2, true),
|
||||||
|
'vehicle_type' => $faker->boolean,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Vehicles
|
||||||
|
$factory->define(App\Models\Vehicles::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'year' => $faker->year,
|
||||||
|
'make' => $faker->company,
|
||||||
|
'model' => $faker->word,
|
||||||
|
'type' => function () {
|
||||||
|
return factory(App\Models\CarShowCategory::class)->create()->id;
|
||||||
|
},
|
||||||
|
'doNotJudge' => $faker->boolean,
|
||||||
|
'owner' => function () {
|
||||||
|
return factory(App\Models\Bidders::class)->create()->bidder_assigned_number;
|
||||||
|
},
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// PaymentMethods
|
||||||
|
$factory->define(App\Models\PaymentMethods::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'pm_name' => $faker->randomElement(['Cash', 'Check', 'Credit Card']),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Judges
|
||||||
|
$factory->define(App\Models\Judges::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'judge_number' => $faker->unique()->numberBetween(1, 50),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// VehicleScores
|
||||||
|
$factory->define(App\Models\VehicleScores::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'judge' => function () {
|
||||||
|
return factory(App\Models\Judges::class)->create()->id;
|
||||||
|
},
|
||||||
|
'overall_score' => $faker->numberBetween(1, 100),
|
||||||
|
'vehicle' => function () {
|
||||||
|
return factory(App\Models\Vehicles::class)->create()->id;
|
||||||
|
},
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// PeoplesChoice
|
||||||
|
$factory->define(App\Models\PeoplesChoice::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'vehicle' => function () {
|
||||||
|
return factory(App\Models\Vehicles::class)->create()->id;
|
||||||
|
},
|
||||||
|
'pc_count' => $faker->numberBetween(0, 50),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// WinningBids
|
||||||
|
$factory->define(App\Models\WinningBids::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'winning_bidder_num' => function () {
|
||||||
|
return factory(App\Models\Bidders::class)->create()->idbidders;
|
||||||
|
},
|
||||||
|
'winning_cost' => $faker->numberBetween(10, 1000),
|
||||||
|
'winning_item_num' => function () {
|
||||||
|
return factory(App\Models\Items::class)->create()->iditems;
|
||||||
|
},
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Checkout
|
||||||
|
$factory->define(App\Models\Checkout::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'bidder_num' => function () {
|
||||||
|
return factory(App\Models\Bidders::class)->create()->idbidders;
|
||||||
|
},
|
||||||
|
'winnertotal' => $faker->numberBetween(10, 2000),
|
||||||
|
'payment_method' => function () {
|
||||||
|
return factory(App\Models\PaymentMethods::class)->create()->pm_id;
|
||||||
|
},
|
||||||
|
'check_number' => $faker->optional()->numberBetween(100, 999),
|
||||||
|
'cc_transaction' => $faker->optional()->uuid,
|
||||||
|
'cc_amount' => $faker->optional()->numberBetween(10, 2000),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// CarShowWinner
|
||||||
|
$factory->define(App\Models\CarShowWinner::class, function (Faker\Generator $faker) {
|
||||||
|
return [
|
||||||
|
'vehicle' => function () {
|
||||||
|
return factory(App\Models\Vehicles::class)->create()->id;
|
||||||
|
},
|
||||||
|
'category' => function () {
|
||||||
|
return factory(App\Models\CarShowCategory::class)->create()->id;
|
||||||
|
},
|
||||||
|
'place' => $faker->numberBetween(1, 3),
|
||||||
|
'total_score' => $faker->numberBetween(50, 300),
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Bidders;
|
||||||
|
|
||||||
|
class BiddersTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
factory(Bidders::class, 50)->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\CarShowCategory;
|
||||||
|
|
||||||
|
class CarShowCategoryTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
factory(CarShowCategory::class, 10)->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\CarShowWinner;
|
||||||
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\CarShowCategory;
|
||||||
|
|
||||||
|
class CarShowWinnerTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$categories = CarShowCategory::all();
|
||||||
|
$vehicles = Vehicles::all();
|
||||||
|
|
||||||
|
foreach ($categories as $category) {
|
||||||
|
for ($i = 1; $i <= 3; $i++) {
|
||||||
|
factory(CarShowWinner::class)->create([
|
||||||
|
'category' => $category->id,
|
||||||
|
'vehicle' => $vehicles->random()->id,
|
||||||
|
'place' => $i,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Checkout;
|
||||||
|
use App\Models\Bidders;
|
||||||
|
use App\Models\PaymentMethods;
|
||||||
|
|
||||||
|
class CheckoutTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$bidders = Bidders::all();
|
||||||
|
$paymentMethods = PaymentMethods::all();
|
||||||
|
|
||||||
|
foreach ($bidders as $bidder) {
|
||||||
|
if (rand(0, 1)) {
|
||||||
|
factory(Checkout::class)->create([
|
||||||
|
'bidder_num' => $bidder->idbidders,
|
||||||
|
'payment_method' => $paymentMethods->random()->pm_id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,17 @@ class DatabaseSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
// $this->call(UsersTableSeeder::class);
|
$this->call(UsersTableSeeder::class);
|
||||||
|
$this->call(PaymentMethodsTableSeeder::class);
|
||||||
|
$this->call(CarShowCategoryTableSeeder::class);
|
||||||
|
$this->call(BiddersTableSeeder::class);
|
||||||
|
$this->call(ItemsTableSeeder::class);
|
||||||
|
$this->call(JudgesTableSeeder::class);
|
||||||
|
$this->call(VehiclesTableSeeder::class);
|
||||||
|
$this->call(VehicleScoresTableSeeder::class);
|
||||||
|
$this->call(PeoplesChoiceTableSeeder::class);
|
||||||
|
$this->call(WinningBidsTableSeeder::class);
|
||||||
|
$this->call(CheckoutTableSeeder::class);
|
||||||
|
$this->call(CarShowWinnerTableSeeder::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Items;
|
||||||
|
|
||||||
|
class ItemsTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
factory(Items::class, 30)->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Judges;
|
||||||
|
|
||||||
|
class JudgesTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
factory(Judges::class, 5)->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\PaymentMethods;
|
||||||
|
|
||||||
|
class PaymentMethodsTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
PaymentMethods::create(['pm_name' => 'Cash']);
|
||||||
|
PaymentMethods::create(['pm_name' => 'Check']);
|
||||||
|
PaymentMethods::create(['pm_name' => 'Credit Card']);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\PeoplesChoice;
|
||||||
|
use App\Models\Vehicles;
|
||||||
|
|
||||||
|
class PeoplesChoiceTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$vehicles = Vehicles::all();
|
||||||
|
|
||||||
|
foreach ($vehicles as $vehicle) {
|
||||||
|
factory(PeoplesChoice::class)->create([
|
||||||
|
'vehicle' => $vehicle->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\User;
|
||||||
|
|
||||||
|
class UsersTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
factory(User::class, 10)->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\VehicleScores;
|
||||||
|
use App\Models\Judges;
|
||||||
|
use App\Models\Vehicles;
|
||||||
|
|
||||||
|
class VehicleScoresTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$judges = Judges::all();
|
||||||
|
$vehicles = Vehicles::all();
|
||||||
|
|
||||||
|
foreach ($vehicles as $vehicle) {
|
||||||
|
foreach ($judges as $judge) {
|
||||||
|
factory(VehicleScores::class)->create([
|
||||||
|
'judge' => $judge->id,
|
||||||
|
'vehicle' => $vehicle->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\CarShowCategory;
|
||||||
|
use App\Models\Bidders;
|
||||||
|
|
||||||
|
class VehiclesTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$categories = CarShowCategory::all();
|
||||||
|
$bidders = Bidders::all();
|
||||||
|
|
||||||
|
factory(Vehicles::class, 40)->create([
|
||||||
|
'type' => function () use ($categories) {
|
||||||
|
return $categories->random()->id;
|
||||||
|
},
|
||||||
|
'owner' => function () use ($bidders) {
|
||||||
|
return $bidders->random()->bidder_assigned_number;
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\WinningBids;
|
||||||
|
use App\Models\Bidders;
|
||||||
|
use App\Models\Items;
|
||||||
|
|
||||||
|
class WinningBidsTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$bidders = Bidders::all();
|
||||||
|
$items = Items::all();
|
||||||
|
|
||||||
|
foreach ($items as $item) {
|
||||||
|
if (rand(0, 1)) {
|
||||||
|
factory(WinningBids::class)->create([
|
||||||
|
'winning_bidder_num' => $bidders->random()->idbidders,
|
||||||
|
'winning_item_num' => $item->iditems,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -221,6 +221,16 @@
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
<ul class="dropdown-menu" role="menu">
|
||||||
|
<li>
|
||||||
|
<a href="{{ url('admin') }}">
|
||||||
|
Admin
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{ url('auth/social/oidc') }}">
|
||||||
|
Link OIDC Account
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ route('logout') }}"
|
<a href="{{ route('logout') }}"
|
||||||
onclick="event.preventDefault();
|
onclick="event.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user