Page MenuHomePhorge

SemiStructuredObjectInstanceController.php
No OneTemporary

SemiStructuredObjectInstanceController.php

<?php
abstract class SemiStructuredObjectInstanceController
extends SemiStructuredBaseController {
private $object;
private $objectType;
public function setObject(SemiStructuredObjectInstance $object) {
$this->object = $object;
return $this;
}
public function getObject() {
return $this->object;
}
protected function buildHeaderView() {
$viewer = $this->getViewer();
$object = $this->getObject();
$object_type = $object->getClass();
if ($object_type->isArchived()) {
$status_icon = 'fa-ban';
$status_color = 'dark';
} else {
$status_icon = 'fa-check';
$status_color = 'bluegrey';
}
$status_name = idx(
SemiStructuredObjectType::getStatusNameMap(),
$object_type->getStatus());
return id(new PHUIHeaderView())
->setHeader(
pht(
'%s: %d %s',
$object_type->getName(),
$object->getID(),
$object->getName()))
->setUser($viewer)
->setPolicyObject($object_type)
->setStatus($status_icon, $status_color, $status_name)
->setHeaderIcon(SemiStructuredDataApplication::ICON_OBJECT_TYPE);
}
protected function buildApplicationCrumbs() {
$object = $this->getObject();
$object_type = $object->getClass();
$can_create = true;
$crumbs = parent::buildApplicationCrumbs();
$crumbs->addTextCrumb($object_type->getName(), $object_type->getURI());
$crumbs->addTextCrumb(
pht('%d %s', $object->getID(), $object->getName()), $object->getURI());
$crumbs->setBorder(true);
$crumbs->addAction(
id(new PHUIListItemView())
->setName(pht('Create %s', $object_type->getName()))
->setHref($this->getApplicationURI("type/{$object_type->getID()}/new/"))
->setIcon('fa-plus-square')
->setWorkflow(!$can_create)
->setDisabled(!$can_create));
return $crumbs;
}
}

File Metadata

Mime Type
text/x-php
Expires
Jan 19 2025, 22:23 (6 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1129356
Default Alt Text
SemiStructuredObjectInstanceController.php (1 KB)

Event Timeline