Page MenuHomePhabricator

D14670.id35476.diff
No OneTemporary

D14670.id35476.diff

diff --git a/src/applications/maniphest/editor/ManiphestEditEngine.php b/src/applications/maniphest/editor/ManiphestEditEngine.php
--- a/src/applications/maniphest/editor/ManiphestEditEngine.php
+++ b/src/applications/maniphest/editor/ManiphestEditEngine.php
@@ -60,10 +60,6 @@
$priority_map = ManiphestTaskPriority::getTaskPriorityMap();
- // TODO: Restore these or toss them:
- // - When closing an unassigned task, assign the closing user.
- // - Make sure implicit CCs on actions are working reasonably.
-
if ($object->isClosed()) {
$priority_label = null;
$owner_label = null;
diff --git a/src/applications/maniphest/editor/ManiphestTransactionEditor.php b/src/applications/maniphest/editor/ManiphestTransactionEditor.php
--- a/src/applications/maniphest/editor/ManiphestTransactionEditor.php
+++ b/src/applications/maniphest/editor/ManiphestTransactionEditor.php
@@ -745,5 +745,31 @@
return $errors;
}
+ protected function expandTransaction(
+ PhabricatorLiskDAO $object,
+ PhabricatorApplicationTransaction $xaction) {
+
+ $results = parent::expandTransaction($object, $xaction);
+
+ switch ($xaction->getTransactionType()) {
+ case ManiphestTransaction::TYPE_OWNER:
+ // When a task is reassigned, move the old owner to the subscriber
+ // list so they're still in the loop.
+ $owner_phid = $object->getOwnerPHID();
+ if ($owner_phid) {
+ $results[] = id(new ManiphestTransaction())
+ ->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)
+ ->setIgnoreOnNoEffect(true)
+ ->setNewValue(
+ array(
+ '+' => array($owner_phid => $owner_phid),
+ ));
+ }
+ break;
+ }
+
+ return $results;
+ }
+
}

File Metadata

Mime Type
text/plain
Expires
Mar 5 2025, 3:25 PM (6 w, 21 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7225873
Default Alt Text
D14670.id35476.diff (1 KB)

Event Timeline