Use standard subscribers effects in Herald Adapter for Phriction
Summary: Ref T8455. Instead of using an ad-hoc subscribers effect in Phriction, use the new standard one (introduced previously; this depends on D13178). Test Plan: - Wrote an "add subscribers" Herald rule, updated a Phriction document, saw it apply its effect. - Observed availability of "remove" subscribers actions. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T8455 Differential Revision: https://secure.phabricator.com/D13180
This commit is contained in:
		| @@ -776,24 +776,6 @@ final class PhrictionTransactionEditor | |||||||
|       ->setDocument($object); |       ->setDocument($object); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   protected function didApplyHeraldRules( |  | ||||||
|     PhabricatorLiskDAO $object, |  | ||||||
|     HeraldAdapter $adapter, |  | ||||||
|     HeraldTranscript $transcript) { |  | ||||||
|  |  | ||||||
|     $xactions = array(); |  | ||||||
|  |  | ||||||
|     $cc_phids = $adapter->getCcPHIDs(); |  | ||||||
|     if ($cc_phids) { |  | ||||||
|       $value = array_fuse($cc_phids); |  | ||||||
|       $xactions[] = id(new PhrictionTransaction()) |  | ||||||
|         ->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS) |  | ||||||
|         ->setNewValue(array('+' => $value)); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return $xactions; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   private function buildNewContentTemplate( |   private function buildNewContentTemplate( | ||||||
|     PhrictionDocument $document) { |     PhrictionDocument $document) { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | ||||||
|  |  | ||||||
|   private $document; |   private $document; | ||||||
|   private $ccPHIDs = array(); |  | ||||||
|  |  | ||||||
|   public function getAdapterApplicationClass() { |   public function getAdapterApplicationClass() { | ||||||
|     return 'PhabricatorPhrictionApplication'; |     return 'PhabricatorPhrictionApplication'; | ||||||
| @@ -25,19 +24,11 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | |||||||
|     $this->document = $document; |     $this->document = $document; | ||||||
|     return $this; |     return $this; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public function getDocument() { |   public function getDocument() { | ||||||
|     return $this->document; |     return $this->document; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   private function setCcPHIDs(array $cc_phids) { |  | ||||||
|     $this->ccPHIDs = $cc_phids; |  | ||||||
|     return $this; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   public function getCcPHIDs() { |  | ||||||
|     return $this->ccPHIDs; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   public function getAdapterContentName() { |   public function getAdapterContentName() { | ||||||
|     return pht('Phriction Documents'); |     return pht('Phriction Documents'); | ||||||
|   } |   } | ||||||
| @@ -72,6 +63,7 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | |||||||
|         return array_merge( |         return array_merge( | ||||||
|           array( |           array( | ||||||
|             self::ACTION_ADD_CC, |             self::ACTION_ADD_CC, | ||||||
|  |             self::ACTION_REMOVE_CC, | ||||||
|             self::ACTION_EMAIL, |             self::ACTION_EMAIL, | ||||||
|             self::ACTION_NOTHING, |             self::ACTION_NOTHING, | ||||||
|           ), |           ), | ||||||
| @@ -80,6 +72,7 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | |||||||
|         return array_merge( |         return array_merge( | ||||||
|           array( |           array( | ||||||
|             self::ACTION_ADD_CC, |             self::ACTION_ADD_CC, | ||||||
|  |             self::ACTION_REMOVE_CC, | ||||||
|             self::ACTION_EMAIL, |             self::ACTION_EMAIL, | ||||||
|             self::ACTION_FLAG, |             self::ACTION_FLAG, | ||||||
|             self::ACTION_NOTHING, |             self::ACTION_NOTHING, | ||||||
| @@ -116,22 +109,9 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter { | |||||||
|  |  | ||||||
|     $result = array(); |     $result = array(); | ||||||
|     foreach ($effects as $effect) { |     foreach ($effects as $effect) { | ||||||
|       $action = $effect->getAction(); |  | ||||||
|       switch ($action) { |  | ||||||
|         case self::ACTION_ADD_CC: |  | ||||||
|           foreach ($effect->getTarget() as $phid) { |  | ||||||
|             $this->ccPHIDs[] = $phid; |  | ||||||
|           } |  | ||||||
|           $result[] = new HeraldApplyTranscript( |  | ||||||
|             $effect, |  | ||||||
|             true, |  | ||||||
|             pht('Added address to cc list.')); |  | ||||||
|           break; |  | ||||||
|         default: |  | ||||||
|       $result[] = $this->applyStandardEffect($effect); |       $result[] = $this->applyStandardEffect($effect); | ||||||
|           break; |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return $result; |     return $result; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 epriestley
					epriestley