1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-19 03:50:54 +01:00

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:
epriestley 2015-06-08 10:31:09 -07:00
parent ee4c7268fe
commit e2b0f814d4
2 changed files with 5 additions and 43 deletions

View file

@ -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) {

View file

@ -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;
} }