Changeset View
Changeset View
Standalone View
Standalone View
src/applications/countdown/storage/PhabricatorCountdown.php
<?php | <?php | ||||
final class PhabricatorCountdown | final class PhabricatorCountdown | ||||
extends PhabricatorCountdownDAO | extends PhabricatorCountdownDAO | ||||
implements PhabricatorPolicyInterface { | implements PhabricatorPolicyInterface, | ||||
PhabricatorSpacesInterface { | |||||
protected $title; | protected $title; | ||||
protected $authorPHID; | protected $authorPHID; | ||||
protected $epoch; | protected $epoch; | ||||
protected $viewPolicy; | protected $viewPolicy; | ||||
protected $spacePHID; | |||||
public static function initializeNewCountdown(PhabricatorUser $actor) { | public static function initializeNewCountdown(PhabricatorUser $actor) { | ||||
$app = id(new PhabricatorApplicationQuery()) | $app = id(new PhabricatorApplicationQuery()) | ||||
->setViewer($actor) | ->setViewer($actor) | ||||
->withClasses(array('PhabricatorCountdownApplication')) | ->withClasses(array('PhabricatorCountdownApplication')) | ||||
->executeOne(); | ->executeOne(); | ||||
$view_policy = $app->getPolicy( | $view_policy = $app->getPolicy( | ||||
PhabricatorCountdownDefaultViewCapability::CAPABILITY); | PhabricatorCountdownDefaultViewCapability::CAPABILITY); | ||||
return id(new PhabricatorCountdown()) | return id(new PhabricatorCountdown()) | ||||
->setAuthorPHID($actor->getPHID()) | ->setAuthorPHID($actor->getPHID()) | ||||
->setViewPolicy($view_policy) | ->setViewPolicy($view_policy) | ||||
->setEpoch(PhabricatorTime::getNow()); | ->setEpoch(PhabricatorTime::getNow()) | ||||
->setSpacePHID($actor->getDefaultSpacePHID()); | |||||
} | } | ||||
protected function getConfiguration() { | protected function getConfiguration() { | ||||
return array( | return array( | ||||
self::CONFIG_AUX_PHID => true, | self::CONFIG_AUX_PHID => true, | ||||
self::CONFIG_COLUMN_SCHEMA => array( | self::CONFIG_COLUMN_SCHEMA => array( | ||||
'title' => 'text255', | 'title' => 'text255', | ||||
), | ), | ||||
Show All 28 Lines | /* -( PhabricatorPolicyInterface )----------------------------------------- */ | ||||
public function hasAutomaticCapability($capability, PhabricatorUser $viewer) { | public function hasAutomaticCapability($capability, PhabricatorUser $viewer) { | ||||
return ($viewer->getPHID() == $this->getAuthorPHID()); | return ($viewer->getPHID() == $this->getAuthorPHID()); | ||||
} | } | ||||
public function describeAutomaticCapability($capability) { | public function describeAutomaticCapability($capability) { | ||||
return pht('The author of a countdown can always view and edit it.'); | return pht('The author of a countdown can always view and edit it.'); | ||||
} | } | ||||
/* -( PhabricatorSpacesInterface )------------------------------------------- */ | |||||
public function getSpacePHID() { | |||||
return $this->spacePHID; | |||||
} | |||||
} | } |