Changeset View
Changeset View
Standalone View
Standalone View
src/applications/people/editor/PhabricatorUserEditor.php
| Show First 20 Lines • Show All 326 Lines • ▼ Show 20 Lines | $user->openTransaction(); | ||||
| $log->save(); | $log->save(); | ||||
| $user->endWriteLocking(); | $user->endWriteLocking(); | ||||
| $user->saveTransaction(); | $user->saveTransaction(); | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| /** | |||||
| * @task role | |||||
| */ | |||||
| public function deleteUser(PhabricatorUser $user, $disable) { | |||||
| $actor = $this->requireActor(); | |||||
| if (!$user->getID()) { | |||||
| throw new Exception("User has not been created yet!"); | |||||
| } | |||||
| if ($actor->getPHID() == $user->getPHID()) { | |||||
| throw new Exception("You can not delete yourself!"); | |||||
| } | |||||
| $user->openTransaction(); | |||||
| $externals = id(new PhabricatorExternalAccount())->loadAllWhere( | |||||
| 'userPHID = %s', | |||||
| $user->getPHID()); | |||||
| foreach ($externals as $external) { | |||||
| $external->delete(); | |||||
| } | |||||
| $prefs = id(new PhabricatorUserPreferences())->loadAllWhere( | |||||
| 'userPHID = %s', | |||||
| $user->getPHID()); | |||||
| foreach ($prefs as $pref) { | |||||
| $pref->delete(); | |||||
| } | |||||
| $profiles = id(new PhabricatorUserProfile())->loadAllWhere( | |||||
| 'userPHID = %s', | |||||
| $user->getPHID()); | |||||
| foreach ($profiles as $profile) { | |||||
| $profile->delete(); | |||||
| } | |||||
| $keys = id(new PhabricatorUserSSHKey())->loadAllWhere( | |||||
| 'userPHID = %s', | |||||
| $user->getPHID()); | |||||
| foreach ($keys as $key) { | |||||
| $key->delete(); | |||||
| } | |||||
| $emails = id(new PhabricatorUserEmail())->loadAllWhere( | |||||
| 'userPHID = %s', | |||||
| $user->getPHID()); | |||||
| foreach ($emails as $email) { | |||||
| $email->delete(); | |||||
| } | |||||
| $log = PhabricatorUserLog::initializeNewLog( | |||||
| $actor, | |||||
| $user->getPHID(), | |||||
| PhabricatorUserLog::ACTION_DELETE); | |||||
| $log->save(); | |||||
| $user->delete(); | |||||
| $user->saveTransaction(); | |||||
| return $this; | |||||
| } | |||||
| /* -( Adding, Removing and Changing Email )-------------------------------- */ | /* -( Adding, Removing and Changing Email )-------------------------------- */ | ||||
| /** | /** | ||||
| * @task email | * @task email | ||||
| */ | */ | ||||
| public function addEmail( | public function addEmail( | ||||
| ▲ Show 20 Lines • Show All 177 Lines • Show Last 20 Lines | |||||