1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-20 09:18:48 +02:00

Fix watcher query to work correctly with no watchers.

This commit is contained in:
epriestley 2014-05-20 06:35:02 -07:00
parent 5f33aa5b4f
commit 16a2876448

View file

@ -1922,22 +1922,23 @@ abstract class PhabricatorApplicationTransactionEditor
$query->execute(); $query->execute();
$watcher_phids = $query->getDestinationPHIDs(); $watcher_phids = $query->getDestinationPHIDs();
if ($watcher_phids) {
// We need to do a visibility check for all the watchers, as
// watching a project is not a guarantee that you can see objects
// associated with it.
$users = id(new PhabricatorPeopleQuery())
->setViewer($this->requireActor())
->withPHIDs($watcher_phids)
->execute();
// We need to do a visibility check for all the watchers, as foreach ($users as $user) {
// watching a project is not a guarantee that you can see objects $can_see = PhabricatorPolicyFilter::hasCapability(
// associated with it. $user,
$users = id(new PhabricatorPeopleQuery()) $object,
->setViewer($this->requireActor()) PhabricatorPolicyCapability::CAN_VIEW);
->withPHIDs($watcher_phids) if ($can_see) {
->execute(); $phids[] = $user->getPHID();
}
foreach ($users as $user) {
$can_see = PhabricatorPolicyFilter::hasCapability(
$user,
$object,
PhabricatorPolicyCapability::CAN_VIEW);
if ($can_see) {
$phids[] = $user->getPHID();
} }
} }
} }