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

Audit - add mail tags

Summary: Fixes T2497. I'm not sure where we are with subscribers and custom vs normal codepath, but the mailtags implementation makes no assumptions and can handle it either way.

Test Plan: made a commit and got some sensible mail tags

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T2497

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

+89
+27
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 702 702 return implode("\n", $block); 703 703 } 704 704 705 + public function getMailTagsMap() { 706 + return array( 707 + PhabricatorAuditTransaction::MAILTAG_COMMIT => 708 + pht('A commit is created.'), 709 + PhabricatorAuditTransaction::MAILTAG_ACTION_CONCERN => 710 + pht('A commit has a concerned raised against it.'), 711 + PhabricatorAuditTransaction::MAILTAG_ACTION_ACCEPT => 712 + pht('A commit is accepted.'), 713 + PhabricatorAuditTransaction::MAILTAG_ACTION_RESIGN => 714 + pht('A commit has an auditor resign.'), 715 + PhabricatorAuditTransaction::MAILTAG_ACTION_CLOSE => 716 + pht('A commit is closed.'), 717 + PhabricatorAuditTransaction::MAILTAG_ADD_AUDITORS => 718 + pht('A commit has auditors added.'), 719 + PhabricatorAuditTransaction::MAILTAG_ADD_CCS => 720 + pht("A commit's subscribers change."), 721 + PhabricatorAuditTransaction::MAILTAG_PROJECTS => 722 + pht("A commit's projects change."), 723 + PhabricatorAuditTransaction::MAILTAG_COMMENT => 724 + pht('Someone comments on a commit.'), 725 + PhabricatorAuditTransaction::MAILTAG_OTHER => 726 + pht('Other commit activity not listed above occurs.'), 727 + ); 728 + } 729 + 730 + 731 + 705 732 protected function shouldPublishFeedStory( 706 733 PhabricatorLiskDAO $object, 707 734 array $xactions) {
+62
src/applications/audit/storage/PhabricatorAuditTransaction.php
··· 5 5 6 6 const TYPE_COMMIT = 'audit:commit'; 7 7 8 + const MAILTAG_ACTION_CONCERN = 'audit-action-concern'; 9 + const MAILTAG_ACTION_ACCEPT = 'audit-action-accept'; 10 + const MAILTAG_ACTION_RESIGN = 'audit-action-resign'; 11 + const MAILTAG_ACTION_CLOSE = 'audit-action-close'; 12 + const MAILTAG_ADD_AUDITORS = 'audit-add-auditors'; 13 + const MAILTAG_ADD_CCS = 'audit-add-ccs'; 14 + const MAILTAG_COMMENT = 'audit-comment'; 15 + const MAILTAG_COMMIT = 'audit-commit'; 16 + const MAILTAG_PROJECTS = 'audit-projects'; 17 + const MAILTAG_OTHER = 'audit-other'; 18 + 8 19 public function getApplicationName() { 9 20 return 'audit'; 10 21 } ··· 403 414 return parent::getBodyForMail(); 404 415 } 405 416 417 + public function getMailTags() { 418 + $tags = array(); 419 + switch ($this->getTransactionType()) { 420 + case PhabricatorAuditActionConstants::ACTION: 421 + switch ($this->getNewValue()) { 422 + case PhabricatorAuditActionConstants::CONCERN: 423 + $tags[] = self::MAILTAG_ACTION_CONCERN; 424 + break; 425 + case PhabricatorAuditActionConstants::ACCEPT: 426 + $tags[] = self::MAILTAG_ACTION_ACCEPT; 427 + break; 428 + case PhabricatorAuditActionConstants::RESIGN: 429 + $tags[] = self::MAILTAG_ACTION_RESIGN; 430 + break; 431 + case PhabricatorAuditActionConstants::CLOSE: 432 + $tags[] = self::MAILTAG_ACTION_CLOSE; 433 + break; 434 + } 435 + break; 436 + case PhabricatorAuditActionConstants::ADD_AUDITORS: 437 + $tags[] = self::MAILTAG_ADD_AUDITORS; 438 + break; 439 + case PhabricatorAuditActionConstants::ADD_CCS: 440 + $tags[] = self::MAILTAG_ADD_CCS; 441 + break; 442 + case PhabricatorAuditActionConstants::INLINE: 443 + case PhabricatorTransactions::TYPE_COMMENT: 444 + $tags[] = self::MAILTAG_COMMENT; 445 + break; 446 + case self::TYPE_COMMIT: 447 + $tags[] = self::MAILTAG_COMMIT; 448 + break; 449 + case PhabricatorTransactions::TYPE_EDGE: 450 + switch ($this->getMetadataValue('edge:type')) { 451 + case PhabricatorProjectObjectHasProjectEdgeType::EDGECONST: 452 + $tags[] = self::MAILTAG_PROJECTS; 453 + break; 454 + case PhabricatorEdgeConfig::TYPE_OBJECT_HAS_SUBSCRIBER: 455 + $tags[] = self::MAILTAG_ADD_CCS; 456 + break; 457 + default: 458 + $tags[] = self::MAILTAG_OTHER; 459 + break; 460 + } 461 + break; 462 + default: 463 + $tags[] = self::MAILTAG_OTHER; 464 + break; 465 + } 466 + return $tags; 467 + } 406 468 }