Path: blob/master/src/applications/nuance/storage/NuanceQueue.php
12256 views
<?php12final class NuanceQueue3extends NuanceDAO4implements5PhabricatorPolicyInterface,6PhabricatorApplicationTransactionInterface {78protected $name;9protected $mailKey;10protected $viewPolicy;11protected $editPolicy;1213protected function getConfiguration() {14return array(15self::CONFIG_AUX_PHID => true,16self::CONFIG_COLUMN_SCHEMA => array(17'name' => 'text255?',18'mailKey' => 'bytes20',19),20) + parent::getConfiguration();21}2223public function generatePHID() {24return PhabricatorPHID::generateNewPHID(25NuanceQueuePHIDType::TYPECONST);26}2728public static function initializeNewQueue() {29return id(new self())30->setViewPolicy(PhabricatorPolicies::POLICY_USER)31->setEditPolicy(PhabricatorPolicies::POLICY_USER);32}3334public function save() {35if (!$this->getMailKey()) {36$this->setMailKey(Filesystem::readRandomCharacters(20));37}38return parent::save();39}4041public function getURI() {42return '/nuance/queue/view/'.$this->getID().'/';43}4445public function getWorkURI() {46return '/nuance/queue/work/'.$this->getID().'/';47}484950/* -( PhabricatorPolicyInterface )----------------------------------------- */515253public function getCapabilities() {54return array(55PhabricatorPolicyCapability::CAN_VIEW,56PhabricatorPolicyCapability::CAN_EDIT,57);58}5960public function getPolicy($capability) {61switch ($capability) {62case PhabricatorPolicyCapability::CAN_VIEW:63return $this->getViewPolicy();64case PhabricatorPolicyCapability::CAN_EDIT:65return $this->getEditPolicy();66}67}6869public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {70return false;71}727374/* -( PhabricatorApplicationTransactionInterface )------------------------- */757677public function getApplicationTransactionEditor() {78return new NuanceQueueEditor();79}8081public function getApplicationTransactionTemplate() {82return new NuanceQueueTransaction();83}8485}868788