mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-23 22:10:54 +01:00
Warn user about specifying reviewers that are away
Summary: There are different options how to implement this: We can also generate the warning in `validateField()` and handle it in all callsites. This is sufficient for me and simple enough. Test Plan: `arc diff` revision with reviewer away/not away. Reviewers: btrahan, jungejason Reviewed By: jungejason CC: epriestley, aran Differential Revision: https://secure.phabricator.com/D2493
This commit is contained in:
parent
1369168161
commit
a5c6f32a06
1 changed files with 18 additions and 0 deletions
|
@ -1538,6 +1538,24 @@ EOTEXT
|
|||
} else if (in_array($this->getUserPHID(), $reviewers)) {
|
||||
throw new ArcanistUsageException(
|
||||
"You can not be a reviewer for your own revision.");
|
||||
} else {
|
||||
$statuses = $this->getConduit()->callMethodSynchronous(
|
||||
'user.getcurrentstatus',
|
||||
array(
|
||||
'userPHIDs' => $reviewers,
|
||||
));
|
||||
foreach ($statuses as $key => $status) {
|
||||
if ($status['status'] != 'away') {
|
||||
unset($statuses[$key]);
|
||||
}
|
||||
}
|
||||
if (count($statuses) == count($reviewers)) {
|
||||
$confirm = "All reviewers are away. Continue anyway?";
|
||||
if (!phutil_console_confirm($confirm)) {
|
||||
throw new ArcanistUsageException(
|
||||
'Specify available reviewers and retry.');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue