1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-29 02:02:41 +01:00
phorge-phorge/src/applications/differential/storage/DifferentialDiffTransaction.php
Bob Trahan ffe0765b50 Differential - make DifferentialDiffEditor into a real transaction editor.
Summary: Ref T6237. This sets us up for some future work like T6152, T6200 and generally cleaning up this workflow a bit. Tried to do as little as possible so not exposing transaction view yet. (Though that timeline is going to be a little funky in the common case of just the lone create transaction.)

Test Plan: made a diff from web ui and it worked. made a herald rule to block certain diffs then tried to make such a diff and saw UI letting me know i was blocked

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6237

Differential Revision: https://secure.phabricator.com/D10869
2014-11-18 15:32:23 -08:00

64 lines
1.4 KiB
PHP

<?php
final class DifferentialDiffTransaction
extends PhabricatorApplicationTransaction {
const TYPE_DIFF_CREATE = 'differential:diff:create';
public function getApplicationName() {
return 'differential';
}
public function getApplicationTransactionType() {
return DifferentialDiffPHIDType::TYPECONST;
}
public function shouldHideForMail(array $xactions) {
return true;
}
public function getActionName() {
switch ($this->getTransactionType()) {
case self::TYPE_DIFF_CREATE;
return pht('Created');
}
return parent::getActionName();
}
public function getTitle() {
$author_phid = $this->getAuthorPHID();
$author_handle = $this->renderHandleLink($author_phid);
$old = $this->getOldValue();
$new = $this->getNewValue();
switch ($this->getTransactionType()) {
case self::TYPE_DIFF_CREATE;
return pht(
'%s created this diff.',
$author_handle);
}
return parent::getTitle();
}
public function getIcon() {
switch ($this->getTransactionType()) {
case self::TYPE_DIFF_CREATE:
return 'fa-refresh';
}
return parent::getIcon();
}
public function getColor() {
switch ($this->getTransactionType()) {
case self::TYPE_DIFF_CREATE:
return PhabricatorTransactions::COLOR_SKY;
}
return parent::getColor();
}
}