Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/UserObserver.php
Show All 18 Lines | class UserObserver | ||||
{ | { | ||||
while (true) { | while (true) { | ||||
$allegedly_unique = \App\Utils::uuidInt(); | $allegedly_unique = \App\Utils::uuidInt(); | ||||
if (!User::find($allegedly_unique)) { | if (!User::find($allegedly_unique)) { | ||||
$user->{$user->getKeyName()} = $allegedly_unique; | $user->{$user->getKeyName()} = $allegedly_unique; | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
$user->status |= User::STATUS_NEW; | |||||
// can't dispatch job here because it'll fail serialization | // can't dispatch job here because it'll fail serialization | ||||
} | } | ||||
/** | /** | ||||
* Handle the "created" event. | * Handle the "created" event. | ||||
* | * | ||||
* Ensures the user has at least one wallet. | * Ensures the user has at least one wallet. | ||||
* | * | ||||
Show All 14 Lines | public function created(User $user) | ||||
'last_name' => '', | 'last_name' => '', | ||||
'billing_address' => '', | 'billing_address' => '', | ||||
'organization' => '' | 'organization' => '' | ||||
] | ] | ||||
); | ); | ||||
$user->wallets()->create(); | $user->wallets()->create(); | ||||
\App\Jobs\ProcessUserCreate::dispatch($user); | // Create user record in LDAP, then check if the account is created in IMAP | ||||
$chain = [ | |||||
new \App\Jobs\ProcessUserVerify($user), | |||||
]; | |||||
\App\Jobs\ProcessUserCreate::withChain($chain)->dispatch($user); | |||||
} | } | ||||
/** | /** | ||||
* Handle the "deleting" event. | * Handle the "deleting" event. | ||||
* | * | ||||
* @param User $user The user that is being deleted. | * @param User $user The user that is being deleted. | ||||
* | * | ||||
* @return void | * @return void | ||||
Show All 32 Lines |