@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Implementing Spaces in Countdown

Summary: Implements T8734

Test Plan: Verify that countdowns can have spaces associated with them. Verify that non-default spaces are displayed in the header of the countdowns in the result of the query.

Reviewers: lpriestley, epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D13634

authored by

Paul Kassianik and committed by
epriestley
ae281301 184623a7

+21 -2
+2
resources/sql/autopatches/20150714.spaces.countdown.1.sql
··· 1 + ALTER TABLE {$NAMESPACE}_countdown.countdown 2 + ADD spacePHID VARBINARY(64);
+1
src/__phutil_library_map__.php
··· 5496 5496 'PhabricatorCountdown' => array( 5497 5497 'PhabricatorCountdownDAO', 5498 5498 'PhabricatorPolicyInterface', 5499 + 'PhabricatorSpacesInterface', 5499 5500 ), 5500 5501 'PhabricatorCountdownApplication' => 'PhabricatorApplication', 5501 5502 'PhabricatorCountdownController' => 'PhabricatorController',
+4
src/applications/countdown/controller/PhabricatorCountdownEditController.php
··· 41 41 $e_epoch = null; 42 42 43 43 $v_text = $countdown->getTitle(); 44 + $v_space = $countdown->getSpacePHID(); 44 45 45 46 if ($request->isFormPost()) { 46 47 $v_text = $request->getStr('title'); 48 + $v_space = $request->getStr('spacePHID'); 47 49 $date_value = AphrontFormDateControlValue::newFromRequest( 48 50 $request, 49 51 'epoch'); ··· 63 65 $countdown->setTitle($v_text); 64 66 $countdown->setEpoch($date_value->getEpoch()); 65 67 $countdown->setViewPolicy($view_policy); 68 + $countdown->setSpacePHID($v_space); 66 69 $countdown->save(); 67 70 return id(new AphrontRedirectResponse()) 68 71 ->setURI('/countdown/'.$countdown->getID().'/'); ··· 109 112 ->setName('viewPolicy') 110 113 ->setPolicyObject($countdown) 111 114 ->setPolicies($policies) 115 + ->setSpacePHID($v_space) 112 116 ->setCapability(PhabricatorPolicyCapability::CAN_VIEW)) 113 117 ->appendChild( 114 118 id(new AphrontFormSubmitControl())
+2
src/applications/countdown/query/PhabricatorCountdownSearchEngine.php
··· 117 117 $id = $countdown->getID(); 118 118 119 119 $item = id(new PHUIObjectItemView()) 120 + ->setUser($viewer) 121 + ->setObject($countdown) 120 122 ->setObjectName("C{$id}") 121 123 ->setHeader($countdown->getTitle()) 122 124 ->setHref($this->getApplicationURI("{$id}/"))
+12 -2
src/applications/countdown/storage/PhabricatorCountdown.php
··· 2 2 3 3 final class PhabricatorCountdown 4 4 extends PhabricatorCountdownDAO 5 - implements PhabricatorPolicyInterface { 5 + implements PhabricatorPolicyInterface, 6 + PhabricatorSpacesInterface { 6 7 7 8 protected $title; 8 9 protected $authorPHID; 9 10 protected $epoch; 10 11 protected $viewPolicy; 12 + 13 + protected $spacePHID; 11 14 12 15 public static function initializeNewCountdown(PhabricatorUser $actor) { 13 16 $app = id(new PhabricatorApplicationQuery()) ··· 21 24 return id(new PhabricatorCountdown()) 22 25 ->setAuthorPHID($actor->getPHID()) 23 26 ->setViewPolicy($view_policy) 24 - ->setEpoch(PhabricatorTime::getNow()); 27 + ->setEpoch(PhabricatorTime::getNow()) 28 + ->setSpacePHID($actor->getDefaultSpacePHID()); 25 29 } 26 30 27 31 protected function getConfiguration() { ··· 64 68 65 69 public function describeAutomaticCapability($capability) { 66 70 return pht('The author of a countdown can always view and edit it.'); 71 + } 72 + 73 + /* -( PhabricatorSpacesInterface )------------------------------------------- */ 74 + 75 + public function getSpacePHID() { 76 + return $this->spacePHID; 67 77 } 68 78 69 79 }