Differential D20278 Diff 48417 src/applications/project/order/PhabricatorProjectColumnOwnerOrder.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/order/PhabricatorProjectColumnOwnerOrder.php
Show First 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | protected function newHeadersForObjects(array $objects) { | ||||
$owner_phids = mpull($objects, null, 'getOwnerPHID'); | $owner_phids = mpull($objects, null, 'getOwnerPHID'); | ||||
$owner_phids = array_keys($owner_phids); | $owner_phids = array_keys($owner_phids); | ||||
$owner_phids = array_filter($owner_phids); | $owner_phids = array_filter($owner_phids); | ||||
if ($owner_phids) { | if ($owner_phids) { | ||||
$owner_users = id(new PhabricatorPeopleQuery()) | $owner_users = id(new PhabricatorPeopleQuery()) | ||||
->setViewer($this->getViewer()) | ->setViewer($this->getViewer()) | ||||
->withPHIDs($owner_phids) | ->withPHIDs($owner_phids) | ||||
->needProfileImage(true) | |||||
->execute(); | ->execute(); | ||||
$owner_users = mpull($owner_users, null, 'getPHID'); | $owner_users = mpull($owner_users, null, 'getPHID'); | ||||
} else { | } else { | ||||
$owner_users = array(); | $owner_users = array(); | ||||
} | } | ||||
array_unshift($owner_phids, null); | array_unshift($owner_phids, null); | ||||
$headers = array(); | $headers = array(); | ||||
foreach ($owner_phids as $owner_phid) { | foreach ($owner_phids as $owner_phid) { | ||||
$header_key = $this->newHeaderKeyForOwnerPHID($owner_phid); | $header_key = $this->newHeaderKeyForOwnerPHID($owner_phid); | ||||
$owner_image = null; | |||||
if ($owner_phid === null) { | if ($owner_phid === null) { | ||||
$owner = null; | $owner = null; | ||||
$sort_vector = $this->newSortVectorForUnowned(); | $sort_vector = $this->newSortVectorForUnowned(); | ||||
$owner_name = pht('Not Assigned'); | $owner_name = pht('Not Assigned'); | ||||
} else { | } else { | ||||
$owner = idx($owner_users, $owner_phid); | $owner = idx($owner_users, $owner_phid); | ||||
if ($owner) { | if ($owner) { | ||||
$sort_vector = $this->newSortVectorForOwner($owner); | $sort_vector = $this->newSortVectorForOwner($owner); | ||||
$owner_name = $owner->getUsername(); | $owner_name = $owner->getUsername(); | ||||
$owner_image = $owner->getProfileImageURI(); | |||||
} else { | } else { | ||||
$sort_vector = $this->newSortVectorForOwnerPHID($owner_phid); | $sort_vector = $this->newSortVectorForOwnerPHID($owner_phid); | ||||
$owner_name = pht('Unknown User ("%s")', $owner_phid); | $owner_name = pht('Unknown User ("%s")', $owner_phid); | ||||
} | } | ||||
} | } | ||||
$owner_icon = 'fa-user'; | $owner_icon = 'fa-user'; | ||||
$owner_color = 'bluegrey'; | $owner_color = 'bluegrey'; | ||||
$icon_view = id(new PHUIIconView()) | $icon_view = id(new PHUIIconView()); | ||||
->setIcon($owner_icon, $owner_color); | |||||
if ($owner_image) { | |||||
$icon_view->setImage($owner_image); | |||||
} else { | |||||
$icon_view->setIcon($owner_icon, $owner_color); | |||||
} | |||||
$header = $this->newHeader() | $header = $this->newHeader() | ||||
->setHeaderKey($header_key) | ->setHeaderKey($header_key) | ||||
->setSortVector($sort_vector) | ->setSortVector($sort_vector) | ||||
->setName($owner_name) | ->setName($owner_name) | ||||
->setIcon($icon_view) | ->setIcon($icon_view) | ||||
->setEditProperties( | ->setEditProperties( | ||||
array( | array( | ||||
Show All 25 Lines |