1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 00:32:42 +01:00

Fix credential control logic for restricted credentials

Summary: Fixes T12975. This logic didn't deal with PolicyException correctly.

Test Plan: {F5167549}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12975

Differential Revision: https://secure.phabricator.com/D18537
This commit is contained in:
epriestley 2017-09-05 11:33:22 -07:00
parent 5ceca721cc
commit d5ba30c777

View file

@ -53,13 +53,22 @@ final class PassphraseCredentialControl extends AphrontFormControl {
if (strlen($current_phid) && empty($options_map[$current_phid])) {
$viewer = $this->getViewer();
$user_credential = id(new PassphraseCredentialQuery())
->setViewer($viewer)
->withPHIDs(array($current_phid))
->executeOne();
if (!$user_credential) {
$current_name = null;
try {
$user_credential = id(new PassphraseCredentialQuery())
->setViewer($viewer)
->withPHIDs(array($current_phid))
->executeOne();
if ($user_credential) {
$current_name = pht(
'%s %s',
$user_credential->getMonogram(),
$user_credential->getName());
}
} catch (PhabricatorPolicyException $policy_exception) {
// Pull the credential with the ominipotent viewer so we can look up
// the ID and tell if it's restricted or invalid.
// the ID and provide the monogram.
$omnipotent_credential = id(new PassphraseCredentialQuery())
->setViewer(PhabricatorUser::getOmnipotentUser())
->withPHIDs(array($current_phid))
@ -68,16 +77,13 @@ final class PassphraseCredentialControl extends AphrontFormControl {
$current_name = pht(
'%s (Restricted Credential)',
$omnipotent_credential->getMonogram());
} else {
$current_name = pht(
'Invalid Credential ("%s")',
$current_phid);
}
} else {
}
if ($current_name === null) {
$current_name = pht(
'%s %s',
$user_credential->getMonogram(),
$user_credential->getName());
'Invalid Credential ("%s")',
$current_phid);
}
$options_map = array(