Changeset View
Changeset View
Standalone View
Standalone View
src/database/seeds/local/UserSeeder.php
Show All 28 Lines | public function run() | ||||
+ Domain::STATUS_VERIFIED, | + Domain::STATUS_VERIFIED, | ||||
'type' => Domain::TYPE_EXTERNAL | 'type' => Domain::TYPE_EXTERNAL | ||||
] | ] | ||||
); | ); | ||||
$john = User::create( | $john = User::create( | ||||
[ | [ | ||||
'email' => 'john@kolab.org', | 'email' => 'john@kolab.org', | ||||
'password' => 'simple123', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$john->setSettings( | $john->setSettings( | ||||
[ | [ | ||||
'first_name' => 'John', | 'first_name' => 'John', | ||||
'last_name' => 'Doe', | 'last_name' => 'Doe', | ||||
'currency' => 'USD', | 'currency' => 'USD', | ||||
'country' => 'US', | 'country' => 'US', | ||||
'billing_address' => "601 13th Street NW\nSuite 900 South\nWashington, DC 20005", | 'billing_address' => "601 13th Street NW\nSuite 900 South\nWashington, DC 20005", | ||||
'external_email' => 'john.doe.external@gmail.com', | 'external_email' => 'john.doe.external@gmail.com', | ||||
'organization' => 'Kolab Developers', | 'organization' => 'Kolab Developers', | ||||
'phone' => '+1 509-248-1111', | 'phone' => '+1 509-248-1111', | ||||
] | ] | ||||
); | ); | ||||
$john->setAliases(['john.doe@kolab.org']); | $john->setAliases(['john.doe@kolab.org']); | ||||
$wallet = $john->wallets->first(); | $wallet = $john->wallets->first(); | ||||
$package_domain = \App\Package::where('title', 'domain-hosting')->first(); | $packageDomain = \App\Package::withEnvTenantContext()->where('title', 'domain-hosting')->first(); | ||||
$package_kolab = \App\Package::where('title', 'kolab')->first(); | $packageKolab = \App\Package::withEnvTenantContext()->where('title', 'kolab')->first(); | ||||
$package_lite = \App\Package::where('title', 'lite')->first(); | $packageLite = \App\Package::withEnvTenantContext()->where('title', 'lite')->first(); | ||||
$domain->assignPackage($package_domain, $john); | $domain->assignPackage($packageDomain, $john); | ||||
$john->assignPackage($package_kolab); | $john->assignPackage($packageKolab); | ||||
$jack = User::create( | $jack = User::create( | ||||
[ | [ | ||||
'email' => 'jack@kolab.org', | 'email' => 'jack@kolab.org', | ||||
'password' => 'simple123', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$jack->setSettings( | $jack->setSettings( | ||||
[ | [ | ||||
'first_name' => 'Jack', | 'first_name' => 'Jack', | ||||
'last_name' => 'Daniels', | 'last_name' => 'Daniels', | ||||
'currency' => 'USD', | 'currency' => 'USD', | ||||
'country' => 'US' | 'country' => 'US' | ||||
] | ] | ||||
); | ); | ||||
$jack->setAliases(['jack.daniels@kolab.org']); | $jack->setAliases(['jack.daniels@kolab.org']); | ||||
$john->assignPackage($package_kolab, $jack); | $john->assignPackage($packageKolab, $jack); | ||||
foreach ($john->entitlements as $entitlement) { | foreach ($john->entitlements as $entitlement) { | ||||
$entitlement->created_at = Carbon::now()->subMonthsWithoutOverflow(1); | $entitlement->created_at = Carbon::now()->subMonthsWithoutOverflow(1); | ||||
$entitlement->updated_at = Carbon::now()->subMonthsWithoutOverflow(1); | $entitlement->updated_at = Carbon::now()->subMonthsWithoutOverflow(1); | ||||
$entitlement->save(); | $entitlement->save(); | ||||
} | } | ||||
$ned = User::create( | $ned = User::create( | ||||
[ | [ | ||||
'email' => 'ned@kolab.org', | 'email' => 'ned@kolab.org', | ||||
'password' => 'simple123', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$ned->setSettings( | $ned->setSettings( | ||||
[ | [ | ||||
'first_name' => 'Edward', | 'first_name' => 'Edward', | ||||
'last_name' => 'Flanders', | 'last_name' => 'Flanders', | ||||
'currency' => 'USD', | 'currency' => 'USD', | ||||
'country' => 'US' | 'country' => 'US' | ||||
] | ] | ||||
); | ); | ||||
$john->assignPackage($package_kolab, $ned); | $john->assignPackage($packageKolab, $ned); | ||||
$ned->assignSku(\App\Sku::where('title', 'activesync')->first(), 1); | $ned->assignSku(\App\Sku::withEnvTenantContext()->where('title', 'activesync')->first(), 1); | ||||
// Ned is a controller on Jack's wallet | // Ned is a controller on Jack's wallet | ||||
$john->wallets()->first()->addController($ned); | $john->wallets()->first()->addController($ned); | ||||
// Ned is also our 2FA test user | // Ned is also our 2FA test user | ||||
$sku2fa = Sku::firstOrCreate(['title' => '2fa']); | $sku2fa = Sku::withEnvTenantContext()->where('title', '2fa')->first(); | ||||
$ned->assignSku($sku2fa); | $ned->assignSku($sku2fa); | ||||
try { | try { | ||||
SecondFactor::seed('ned@kolab.org'); | SecondFactor::seed('ned@kolab.org'); | ||||
} catch (\Exception $e) { | } catch (\Exception $e) { | ||||
// meh | // meh | ||||
} | } | ||||
$joe = User::create( | $joe = User::create( | ||||
[ | [ | ||||
'email' => 'joe@kolab.org', | 'email' => 'joe@kolab.org', | ||||
'password' => 'simple123', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$john->assignPackage($package_lite, $joe); | $john->assignPackage($packageLite, $joe); | ||||
//$john->assignSku(Sku::firstOrCreate(['title' => 'beta'])); | //$john->assignSku(Sku::firstOrCreate(['title' => 'beta'])); | ||||
//$john->assignSku(Sku::firstOrCreate(['title' => 'meet'])); | //$john->assignSku(Sku::firstOrCreate(['title' => 'meet'])); | ||||
$joe->setAliases(['joe.monster@kolab.org']); | $joe->setAliases(['joe.monster@kolab.org']); | ||||
// factory(User::class, 10)->create(); | // factory(User::class, 10)->create(); | ||||
$jeroen = User::create( | $jeroen = User::create( | ||||
[ | [ | ||||
'email' => 'jeroen@jeroen.jeroen', | 'email' => 'jeroen@jeroen.jeroen', | ||||
'password' => 'jeroen', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$jeroen->role = 'admin'; | $jeroen->role = 'admin'; | ||||
$jeroen->save(); | $jeroen->save(); | ||||
$tenant1 = \App\Tenant::where('title', 'Kolab Now')->first(); | $reseller = User::create( | ||||
$tenant2 = \App\Tenant::where('title', 'Sample Tenant')->first(); | [ | ||||
'email' => 'reseller@' . \config('app.domain'), | |||||
'password' => \App\Utils::generatePassphrase() | |||||
] | |||||
); | |||||
$reseller->role = 'reseller'; | |||||
$reseller->save(); | |||||
$reseller->assignPackage($packageKolab); | |||||
// for tenants that are not the configured tenant id | |||||
$tenants = \App\Tenant::where('id', '!=', \config('app.tenant_id'))->get(); | |||||
$reseller1 = User::create( | foreach ($tenants as $tenant) { | ||||
$domain = Domain::where('tenant_id', $tenant->id)->first(); | |||||
$packageKolab = \App\Package::where( | |||||
[ | |||||
'title' => 'kolab', | |||||
'tenant_id' => $tenant->id | |||||
] | |||||
)->first(); | |||||
if ($domain) { | |||||
$reseller = User::create( | |||||
[ | [ | ||||
'email' => 'reseller@kolabnow.com', | 'email' => 'reseller@' . $domain->namespace, | ||||
'password' => 'reseller', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$reseller1->tenant_id = $tenant1->id; | $reseller->role = 'reseller'; | ||||
$reseller1->role = 'reseller'; | $reseller->tenant_id = $tenant->id; | ||||
$reseller1->save(); | $reseller->save(); | ||||
$reseller2 = User::create( | $reseller->assignPackage($packageKolab); | ||||
$user = User::create( | |||||
[ | [ | ||||
'email' => 'reseller@reseller.com', | 'email' => 'user@' . $domain->namespace, | ||||
'password' => 'reseller', | 'password' => \App\Utils::generatePassphrase() | ||||
] | ] | ||||
); | ); | ||||
$reseller2->tenant_id = $tenant2->id; | $user->tenant_id = $tenant->id; | ||||
$reseller2->role = 'reseller'; | $user->save(); | ||||
$reseller2->save(); | |||||
$user->assignPackage($packageKolab); | |||||
} | |||||
} | |||||
} | } | ||||
} | } |