Path: blob/master/src/applications/almanac/controller/AlmanacPropertyController.php
12256 views
<?php12abstract class AlmanacPropertyController extends AlmanacController {34private $propertyObject;56public function getPropertyObject() {7return $this->propertyObject;8}910protected function loadPropertyObject() {11$viewer = $this->getViewer();12$request = $this->getRequest();13$object_phid = $request->getStr('objectPHID');141516switch (phid_get_type($object_phid)) {17case AlmanacBindingPHIDType::TYPECONST:18$query = new AlmanacBindingQuery();19break;20case AlmanacDevicePHIDType::TYPECONST:21$query = new AlmanacDeviceQuery();22break;23case AlmanacServicePHIDType::TYPECONST:24$query = new AlmanacServiceQuery();25break;26default:27return new Aphront404Response();28}2930$object = $query31->setViewer($viewer)32->withPHIDs(array($object_phid))33->requireCapabilities(34array(35PhabricatorPolicyCapability::CAN_VIEW,36PhabricatorPolicyCapability::CAN_EDIT,37))38->needProperties(true)39->executeOne();4041if (!$object) {42return new Aphront404Response();43}4445if (!($object instanceof AlmanacPropertyInterface)) {46return new Aphront404Response();47}4849$this->propertyObject = $object;5051return null;52}535455}565758