Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/UserObserver.php
<?php | <?php | ||||
namespace App\Observers; | namespace App\Observers; | ||||
use App\Entitlement; | use App\Entitlement; | ||||
use App\Domain; | use App\Domain; | ||||
use App\User; | use App\User; | ||||
use Carbon\Carbon; | |||||
use Illuminate\Support\Facades\DB; | use Illuminate\Support\Facades\DB; | ||||
class UserObserver | class UserObserver | ||||
{ | { | ||||
/** | /** | ||||
* Handle the "creating" event. | * Handle the "creating" event. | ||||
* | * | ||||
* Ensure that the user is created with a random, large integer. | * Ensure that the user is created with a random, large integer. | ||||
Show All 28 Lines | class UserObserver | ||||
* Should ensure some basic settings are available as well. | * Should ensure some basic settings are available as well. | ||||
* | * | ||||
* @param \App\User $user The user created. | * @param \App\User $user The user created. | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function created(User $user) | public function created(User $user) | ||||
{ | { | ||||
$now = Carbon::now(); | |||||
$settings = [ | $settings = [ | ||||
'country' => 'CH', | 'country' => 'CH', | ||||
'currency' => 'CHF', | 'currency' => 'CHF', | ||||
/* | /* | ||||
'first_name' => '', | 'first_name' => '', | ||||
'last_name' => '', | 'last_name' => '', | ||||
'billing_address' => '', | 'billing_address' => '', | ||||
'organization' => '', | 'organization' => '', | ||||
'phone' => '', | 'phone' => '', | ||||
'external_email' => '', | 'external_email' => '', | ||||
*/ | */ | ||||
]; | ]; | ||||
foreach ($settings as $key => $value) { | foreach ($settings as $key => $value) { | ||||
$settings[$key] = [ | $settings[$key] = [ | ||||
'key' => $key, | 'key' => $key, | ||||
'value' => $value, | 'value' => $value, | ||||
'user_id' => $user->id, | 'user_id' => $user->id, | ||||
'created_at' => $now, | |||||
'updated_at' => $now, | |||||
]; | ]; | ||||
} | } | ||||
// Note: Don't use setSettings() here to bypass UserSetting observers | // Note: Don't use setSettings() here to bypass UserSetting observers | ||||
// Note: This is a single multi-insert query | // Note: This is a single multi-insert query | ||||
$user->settings()->insert(array_values($settings)); | $user->settings()->insert(array_values($settings)); | ||||
$user->wallets()->create(); | $user->wallets()->create(); | ||||
▲ Show 20 Lines • Show All 113 Lines • Show Last 20 Lines |