Changeset View
Changeset View
Standalone View
Standalone View
src/app/Console/Commands/User/StatusCommand.php
Show All 26 Lines | class StatusCommand extends Command | ||||
* @return mixed | * @return mixed | ||||
*/ | */ | ||||
public function handle() | public function handle() | ||||
{ | { | ||||
$user = $this->getUser($this->argument('user'), true); | $user = $this->getUser($this->argument('user'), true); | ||||
if (!$user) { | if (!$user) { | ||||
$this->error("User not found."); | $this->error("User not found."); | ||||
$this->error("Try ./artisan scalpel:user:read --attr=email --attr=tenant_id " . $this->argument('user')); | |||||
return 1; | return 1; | ||||
} | } | ||||
$statuses = [ | $statuses = [ | ||||
'active' => User::STATUS_ACTIVE, | 'active' => User::STATUS_ACTIVE, | ||||
'suspended' => User::STATUS_SUSPENDED, | 'suspended' => User::STATUS_SUSPENDED, | ||||
'deleted' => User::STATUS_DELETED, | 'deleted' => User::STATUS_DELETED, | ||||
'ldapReady' => User::STATUS_LDAP_READY, | 'ldapReady' => User::STATUS_LDAP_READY, | ||||
'imapReady' => User::STATUS_IMAP_READY, | 'imapReady' => User::STATUS_IMAP_READY, | ||||
'degraded' => User::STATUS_DEGRADED, | 'degraded' => User::STATUS_DEGRADED, | ||||
]; | ]; | ||||
$user_state = []; | $user_state = []; | ||||
foreach (\array_keys($statuses) as $state) { | foreach ($statuses as $text => $bit) { | ||||
$func = 'is' . \ucfirst($state); | if ($text == 'deleted') { | ||||
if ($user->$func()) { | $status = $user->trashed(); | ||||
$user_state[] = $state; | } else { | ||||
$status = $user->{'is' . \ucfirst($text)}(); | |||||
} | |||||
if ($status) { | |||||
$user_state[] = "$text ($bit)"; | |||||
} | } | ||||
} | } | ||||
$this->info("Status: " . \implode(',', $user_state)); | $this->info("Status ({$user->status}): " . \implode(', ', $user_state)); | ||||
} | } | ||||
} | } |