@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.

at recaptime-dev/main 95 lines 2.4 kB view raw
1<?php 2 3final class PhabricatorSlowvoteEditor 4 extends PhabricatorApplicationTransactionEditor { 5 6 public function getEditorApplicationClass() { 7 return PhabricatorSlowvoteApplication::class; 8 } 9 10 public function getEditorObjectsDescription() { 11 return pht('Slowvote'); 12 } 13 14 public function getCreateObjectTitle($author, $object) { 15 return pht('%s created this poll.', $author); 16 } 17 18 public function getCreateObjectTitleForFeed($author, $object) { 19 return pht('%s created %s.', $author, $object); 20 } 21 22 public function getTransactionTypes() { 23 $types = parent::getTransactionTypes(); 24 $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY; 25 26 return $types; 27 } 28 29 protected function shouldSendMail( 30 PhabricatorLiskDAO $object, 31 array $xactions) { 32 return true; 33 } 34 35 public function getMailTagsMap() { 36 return array( 37 PhabricatorSlowvoteTransaction::MAILTAG_DETAILS => 38 pht('Someone changes the poll details.'), 39 PhabricatorSlowvoteTransaction::MAILTAG_RESPONSES => 40 pht('Someone votes on a poll.'), 41 PhabricatorSlowvoteTransaction::MAILTAG_OTHER => 42 pht('Other poll activity not listed above occurs.'), 43 ); 44 } 45 46 protected function buildMailTemplate(PhabricatorLiskDAO $object) { 47 $monogram = $object->getMonogram(); 48 $name = $object->getQuestion(); 49 50 return id(new PhabricatorMetaMTAMail()) 51 ->setSubject("{$monogram}: {$name}"); 52 } 53 54 protected function buildMailBody( 55 PhabricatorLiskDAO $object, 56 array $xactions) { 57 58 $body = parent::buildMailBody($object, $xactions); 59 $description = $object->getDescription(); 60 61 if (strlen($description)) { 62 $body->addRemarkupSection( 63 pht('SLOWVOTE DESCRIPTION'), 64 $object->getDescription()); 65 } 66 67 $body->addLinkSection( 68 pht('SLOWVOTE DETAIL'), 69 PhabricatorEnv::getProductionURI('/'.$object->getMonogram())); 70 71 return $body; 72 } 73 74 protected function getMailTo(PhabricatorLiskDAO $object) { 75 return array( 76 $object->getAuthorPHID(), 77 $this->requireActor()->getPHID(), 78 ); 79 } 80 protected function getMailSubjectPrefix() { 81 return '[Slowvote]'; 82 } 83 84 protected function buildReplyHandler(PhabricatorLiskDAO $object) { 85 return id(new PhabricatorSlowvoteReplyHandler()) 86 ->setMailReceiver($object); 87 } 88 89 protected function shouldPublishFeedStory( 90 PhabricatorLiskDAO $object, 91 array $xactions) { 92 return true; 93 } 94 95}