mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 22:10:55 +01:00
Allow structured destruction of Maniphest tasks
Summary: Ref T4749. Ref T3265. Ref T4909. - Support ManiphestTasks in `bin/remove`. - Transactions need manual help for now. Test Plan: - Destroyed tasks. - Examined log to verify task, transaction, and comment destruction. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T3265, T4749, T4909 Differential Revision: https://secure.phabricator.com/D8944
This commit is contained in:
parent
74faacee4d
commit
6bced2170e
1 changed files with 24 additions and 1 deletions
|
@ -7,7 +7,8 @@ final class ManiphestTask extends ManiphestDAO
|
|||
PhabricatorTokenReceiverInterface,
|
||||
PhabricatorFlaggableInterface,
|
||||
PhrequentTrackableInterface,
|
||||
PhabricatorCustomFieldInterface {
|
||||
PhabricatorCustomFieldInterface,
|
||||
PhabricatorDestructableInterface {
|
||||
|
||||
const MARKUP_FIELD_DESCRIPTION = 'markup:desc';
|
||||
|
||||
|
@ -282,4 +283,26 @@ final class ManiphestTask extends ManiphestDAO
|
|||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/* -( PhabricatorDestructableInterface )----------------------------------- */
|
||||
|
||||
|
||||
public function destroyObjectPermanently(
|
||||
PhabricatorDestructionEngine $engine) {
|
||||
|
||||
$this->openTransaction();
|
||||
|
||||
// TODO: Once this implements PhabricatorTransactionInterface, this
|
||||
// will be handled automatically and can be removed.
|
||||
$xactions = id(new ManiphestTransaction())->loadAllWhere(
|
||||
'objectPHID = %s',
|
||||
$this->getPHID());
|
||||
foreach ($xactions as $xaction) {
|
||||
$engine->destroyObject($xaction);
|
||||
}
|
||||
|
||||
$this->delete();
|
||||
$this->saveTransaction();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue