Put Spaces on Hovercards and ObjectItemLists
Summary: Ref T8449.
Test Plan:
{F474186}
{F474187}
Reviewers: btrahan
Reviewed By: btrahan
Subscribers: chad, epriestley
Maniphest Tasks: T8449
Differential Revision: https://secure.phabricator.com/D13173
This commit is contained in:
@@ -145,4 +145,33 @@ final class PhabricatorSpacesNamespaceQuery
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Space PHID for an object, if one exists.
|
||||
*
|
||||
* This is intended to simplify performing a bunch of redundant checks; you
|
||||
* can intentionally pass any value in (including `null`).
|
||||
*
|
||||
* @param wild
|
||||
* @return phid|null
|
||||
*/
|
||||
public static function getObjectSpacePHID($object) {
|
||||
if (!$object) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!($object instanceof PhabricatorSpacesInterface)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$space_phid = $object->getSpacePHID();
|
||||
if ($space_phid === null) {
|
||||
$default_space = self::getDefaultSpace();
|
||||
if ($default_space) {
|
||||
$space_phid = $default_space->getPHID();
|
||||
}
|
||||
}
|
||||
|
||||
return $space_phid;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
final class PHUISpacesNamespaceContextView extends AphrontView {
|
||||
|
||||
private $object;
|
||||
|
||||
public function setObject($object) {
|
||||
$this->object = $object;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getObject() {
|
||||
return $this->object;
|
||||
}
|
||||
|
||||
public function render() {
|
||||
$object = $this->getObject();
|
||||
|
||||
$space_phid = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID($object);
|
||||
if (!$space_phid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$viewer = $this->getUser();
|
||||
return phutil_tag(
|
||||
'span',
|
||||
array(
|
||||
'class' => 'spaces-name',
|
||||
),
|
||||
array(
|
||||
$viewer->renderHandle($space_phid),
|
||||
' | ',
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user