Re-worked seeders
This commit is contained in:
parent
2361ec0b88
commit
e79d1839fe
@ -145,11 +145,9 @@ public static function form(Form $form): Form
|
|||||||
|
|
||||||
Cluster::make([
|
Cluster::make([
|
||||||
TextInput::make('serviceFileWidth')
|
TextInput::make('serviceFileWidth')
|
||||||
->prefix('w')
|
->prefix('w'),
|
||||||
->placeholder('Width'),
|
|
||||||
TextInput::make('serviceFileHeight')
|
TextInput::make('serviceFileHeight')
|
||||||
->prefix('h')
|
->prefix('h'),
|
||||||
->placeholder('Height'),
|
|
||||||
])
|
])
|
||||||
->label('Dimensions')
|
->label('Dimensions')
|
||||||
->columnSpan(4),
|
->columnSpan(4),
|
||||||
|
57
database/seeders/ContactSeeder.php
Normal file
57
database/seeders/ContactSeeder.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Contact;
|
||||||
|
use App\Models\Customer;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class ContactSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (Customer::all() as $customer) {
|
||||||
|
if ($customer->company_name == 'Genumark') {
|
||||||
|
$customer->contacts()->createMany([
|
||||||
|
[
|
||||||
|
'first_name' => 'Tammy',
|
||||||
|
'last_name' => 'Bookbinder',
|
||||||
|
'email' => 'tbookbinder@genumark.com',
|
||||||
|
'phone' => '+1 778 229 5668',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'first_name' => 'Kathlyn',
|
||||||
|
'last_name' => 'Wood',
|
||||||
|
'email' => 'kwood@genumark.com',
|
||||||
|
'phone' => '+1 604 294 2376',
|
||||||
|
'notes' => 'Always CC, unless SOF order',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'first_name' => 'Jane',
|
||||||
|
'last_name' => 'Wellman',
|
||||||
|
'email' => 'jwellman@genumark.com',
|
||||||
|
'phone' => '+1 604 742 5584',
|
||||||
|
'notes' => 'Deals with SOF orders',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'first_name' => 'Trisha',
|
||||||
|
'last_name' => 'Miller',
|
||||||
|
'email' => 'tmiller@genumark.com',
|
||||||
|
'phone' => '+1 604 802 8486',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'first_name' => 'Brenda',
|
||||||
|
'last_name' => 'Kuepfer',
|
||||||
|
'email' => 'bkuepfer@genumark.com',
|
||||||
|
'phone' => '+1 604 305 5002',
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
Contact::factory(rand(1, 4))->for($customer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -2,99 +2,35 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
use App\Models\Contact;
|
|
||||||
use App\Models\Customer;
|
use App\Models\Customer;
|
||||||
use App\Models\Order;
|
|
||||||
use App\Models\OrderProduct;
|
|
||||||
use App\Models\PackingSlip;
|
|
||||||
use App\Models\ProductService;
|
|
||||||
use App\Models\ProductSize;
|
|
||||||
use App\Models\ServiceFile;
|
|
||||||
use App\Models\ShippingEntry;
|
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
class CustomerSeeder extends Seeder
|
class CustomerSeeder extends Seeder
|
||||||
{
|
{
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
for ($i = 0; $i < 5; $i++) {
|
Customer::factory(5)->create();
|
||||||
Customer::factory()
|
Customer::factory(['company_name' => 'Genumark'])->create();
|
||||||
->has(Contact::factory(rand(1, 5)))
|
|
||||||
->has(ShippingEntry::factory(rand(1, 3)))
|
|
||||||
->has(Order::factory(rand(5, 10))
|
|
||||||
->has(OrderProduct::factory(rand(1, 3)))
|
|
||||||
->has(ProductService::factory(rand(1, 5), [
|
|
||||||
'service_file_id' => ServiceFile::factory(),
|
|
||||||
]))
|
|
||||||
->has(PackingSlip::factory(rand(0, 2))))
|
|
||||||
->create();
|
|
||||||
}
|
|
||||||
|
|
||||||
Customer::factory([
|
// ->has(ShippingEntry::factory([
|
||||||
'company_name' => 'Genumark',
|
// 'account_title' => 'Genumark',
|
||||||
'internal_name' => 'genumark',
|
// 'courier' => 'UPS CampusShip',
|
||||||
'shipping_address' => '',
|
// 'contact' => 'https://www.ups.com/lasso/login',
|
||||||
'billing_address' => '',
|
// 'account_username' => 'GenumarkTopNotch',
|
||||||
])
|
// 'account_password' => 'TopNotch@13579',
|
||||||
->has(Contact::factory([
|
// 'info_needed' => 'Put PO on box',
|
||||||
'first_name' => 'Tammy',
|
// 'notify' => 'Various reps, CC Kathlyn Wood',
|
||||||
'last_name' => 'Bookbinder',
|
// 'notes' => 'For Save On Foods orders, see Genumark SOF',
|
||||||
'email' => 'tbookbinder@genumark.com',
|
// ]))
|
||||||
'phone' => '+1 778 229 5668',
|
// ->has(ShippingEntry::factory([
|
||||||
]))
|
// 'account_title' => 'Genumark Save-On-Foods',
|
||||||
->has(Contact::factory([
|
// 'courier' => 'UPS CampusShip',
|
||||||
'first_name' => 'Kathlyn',
|
// 'contact' => 'https://www.ups.com/lasso/login',
|
||||||
'last_name' => 'Wood',
|
// 'account_username' => 'GenumarkTopNotch',
|
||||||
'email' => 'kwood@genumark.com',
|
// 'account_password' => 'TopNotch@13579',
|
||||||
'phone' => '+1 604 294 2376',
|
// 'info_needed' => 'Put PO on box',
|
||||||
'notes' => 'Always CC, unless SOF order',
|
// 'notify' => 'Jane Wellman',
|
||||||
]))
|
// 'notes' => 'Don\'t CC Kathlyn for SOF orders',
|
||||||
->has(Contact::factory([
|
// ]))
|
||||||
'first_name' => 'Jane',
|
|
||||||
'last_name' => 'Wellman',
|
|
||||||
'email' => 'jwellman@genumark.com',
|
|
||||||
'phone' => '+1 604 742 5584',
|
|
||||||
'notes' => 'Deals with SOF orders',
|
|
||||||
]))
|
|
||||||
->has(Contact::factory([
|
|
||||||
'first_name' => 'Trisha',
|
|
||||||
'last_name' => 'Miller',
|
|
||||||
'email' => 'tmiller@genumark.com',
|
|
||||||
'phone' => '+1 604 802 8486',
|
|
||||||
]))
|
|
||||||
->has(Contact::factory([
|
|
||||||
'first_name' => 'Brenda',
|
|
||||||
'last_name' => 'Kuepfer',
|
|
||||||
'email' => 'bkuepfer@genumark.com',
|
|
||||||
'phone' => '+1 604 305 5002',
|
|
||||||
]))
|
|
||||||
->has(PackingSlip::factory(20))
|
|
||||||
->has(ShippingEntry::factory([
|
|
||||||
'account_title' => 'Genumark',
|
|
||||||
'courier' => 'UPS CampusShip',
|
|
||||||
'contact' => 'https://www.ups.com/lasso/login',
|
|
||||||
'account_username' => 'GenumarkTopNotch',
|
|
||||||
'account_password' => 'TopNotch@13579',
|
|
||||||
'info_needed' => 'Put PO on box',
|
|
||||||
'notify' => 'Various reps, CC Kathlyn Wood',
|
|
||||||
'notes' => 'For Save On Foods orders, see Genumark SOF',
|
|
||||||
]))
|
|
||||||
->has(ShippingEntry::factory([
|
|
||||||
'account_title' => 'Genumark Save-On-Foods',
|
|
||||||
'courier' => 'UPS CampusShip',
|
|
||||||
'contact' => 'https://www.ups.com/lasso/login',
|
|
||||||
'account_username' => 'GenumarkTopNotch',
|
|
||||||
'account_password' => 'TopNotch@13579',
|
|
||||||
'info_needed' => 'Put PO on box',
|
|
||||||
'notify' => 'Jane Wellman',
|
|
||||||
'notes' => 'Don\'t CC Kathlyn for SOF orders',
|
|
||||||
]))
|
|
||||||
->has(Order::factory(rand(2, 10))
|
|
||||||
->has(OrderProduct::factory(rand(1, 10))
|
|
||||||
->has(productSize::factory(rand(1, 8))))
|
|
||||||
->has(ProductService::factory(rand(1, 10), [
|
|
||||||
'service_file_id' => ServiceFile::factory(),
|
|
||||||
])))
|
|
||||||
->create();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,10 @@
|
|||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
|
|
||||||
class DatabaseSeeder extends Seeder
|
class DatabaseSeeder extends Seeder
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -15,6 +16,13 @@ public function run(): void
|
|||||||
{
|
{
|
||||||
$this->call([
|
$this->call([
|
||||||
CustomerSeeder::class,
|
CustomerSeeder::class,
|
||||||
|
ContactSeeder::class,
|
||||||
|
ShippingEntrySeeder::class,
|
||||||
|
OrderSeeder::class,
|
||||||
|
OrderProductSeeder::class,
|
||||||
|
ProductSizeSeeder::class,
|
||||||
|
ProductServiceSeeder::class,
|
||||||
|
ServiceFileSeeder::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
User::factory()->create([
|
User::factory()->create([
|
||||||
|
20
database/seeders/OrderProductSeeder.php
Normal file
20
database/seeders/OrderProductSeeder.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Order;
|
||||||
|
use App\Models\OrderProduct;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class OrderProductSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (Order::all() as $order) {
|
||||||
|
OrderProduct::factory(rand(1, 3), ['order_id' => $order->id])->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
20
database/seeders/OrderSeeder.php
Normal file
20
database/seeders/OrderSeeder.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Customer;
|
||||||
|
use App\Models\Order;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class OrderSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (Customer::all() as $customer) {
|
||||||
|
Order::factory(rand(2, 10), ['customer_id' => $customer])->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
20
database/seeders/ProductServiceSeeder.php
Normal file
20
database/seeders/ProductServiceSeeder.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Order;
|
||||||
|
use App\Models\ProductService;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class ProductServiceSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (Order::all() as $order) {
|
||||||
|
ProductService::factory(rand(1, 4), ['order_id' => $order->id])->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
29
database/seeders/ProductSizeSeeder.php
Normal file
29
database/seeders/ProductSizeSeeder.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\OrderProduct;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class ProductSizeSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
$sizes = ['xs', 's', 'm', 'l', 'xl', '2xl', '3xl'];
|
||||||
|
|
||||||
|
foreach (OrderProduct::all() as $service) {
|
||||||
|
foreach ($sizes as $size) {
|
||||||
|
if (rand(0, 1)) {
|
||||||
|
$service->productSizes()->create([
|
||||||
|
'size' => $size,
|
||||||
|
'amount' => ceil(rand(1, 200) / 10) * 10,
|
||||||
|
'order_product_id' => $service->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
21
database/seeders/ServiceFileSeeder.php
Normal file
21
database/seeders/ServiceFileSeeder.php
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\ProductService;
|
||||||
|
use App\Models\ServiceFile;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class ServiceFileSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (ProductService::all() as $product) {
|
||||||
|
$file = ServiceFile::factory()->create();
|
||||||
|
$file->productServices()->save($product);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
20
database/seeders/ShippingEntrySeeder.php
Normal file
20
database/seeders/ShippingEntrySeeder.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Customer;
|
||||||
|
use App\Models\ShippingEntry;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class ShippingEntrySeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
foreach (Customer::all() as $customer) {
|
||||||
|
ShippingEntry::factory(5, ['customer_id' => $customer->id])->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
public/order.pdf
BIN
public/order.pdf
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user