mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 08:52:39 +01:00
In Maniphest tasks, only move old owner to CC if owner changed
Summary: Fixes T10426. When the owner of a task changes, we try to add the old owner to CC so they're kept in the loop. Currently, we do this unconditionally. This can add the owner as a subscriber when someone didn't change anything, which is confusing. Instead, only do this if the owner actually changed. Test Plan: - With "A" as owner, edited task and saved. - Before patch, A was added as subscriber. - After patch, A not added. - With "A" as owner, changed owner to "B" and saved. - Both before and after patch, "A" is added as a subscriber. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10426 Differential Revision: https://secure.phabricator.com/D15333
This commit is contained in:
parent
2cdc40eb00
commit
0799c91822
1 changed files with 9 additions and 3 deletions
|
@ -1033,16 +1033,22 @@ final class ManiphestTransactionEditor
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
case ManiphestTransaction::TYPE_OWNER:
|
case ManiphestTransaction::TYPE_OWNER:
|
||||||
|
// If this is a no-op update, don't expand it.
|
||||||
|
$old_value = $object->getOwnerPHID();
|
||||||
|
$new_value = $xaction->getNewValue();
|
||||||
|
if ($old_value === $new_value) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// When a task is reassigned, move the old owner to the subscriber
|
// When a task is reassigned, move the old owner to the subscriber
|
||||||
// list so they're still in the loop.
|
// list so they're still in the loop.
|
||||||
$owner_phid = $object->getOwnerPHID();
|
if ($old_value) {
|
||||||
if ($owner_phid) {
|
|
||||||
$results[] = id(new ManiphestTransaction())
|
$results[] = id(new ManiphestTransaction())
|
||||||
->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)
|
->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)
|
||||||
->setIgnoreOnNoEffect(true)
|
->setIgnoreOnNoEffect(true)
|
||||||
->setNewValue(
|
->setNewValue(
|
||||||
array(
|
array(
|
||||||
'+' => array($owner_phid => $owner_phid),
|
'+' => array($old_value => $old_value),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue