mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 22:10:55 +01:00
When adding {Fnnn}
file references by editing comments, link objects to files
Summary: Fixes T6037. We don't currently write the "this file is attached to such-and-such object" edge on comment edits. Test Plan: Edited a comment, adding `{Fnnn}`. Verified file was not attached before the edit, but was afterward. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T6037 Differential Revision: https://secure.phabricator.com/D10423
This commit is contained in:
parent
af842600ce
commit
25f4a23a95
1 changed files with 18 additions and 3 deletions
|
@ -46,6 +46,12 @@ final class PhabricatorApplicationTransactionCommentEditor
|
|||
$comment->setViewPolicy(PhabricatorPolicies::POLICY_PUBLIC);
|
||||
$comment->setEditPolicy($this->getActingAsPHID());
|
||||
|
||||
$file_phids = PhabricatorMarkupEngine::extractFilePHIDsFromEmbeddedFiles(
|
||||
$actor,
|
||||
array(
|
||||
$comment->getContent(),
|
||||
));
|
||||
|
||||
$xaction->openTransaction();
|
||||
$xaction->beginReadLocking();
|
||||
if ($xaction->getID()) {
|
||||
|
@ -67,10 +73,19 @@ final class PhabricatorApplicationTransactionCommentEditor
|
|||
$xaction->endReadLocking();
|
||||
$xaction->saveTransaction();
|
||||
|
||||
$xaction->attachComment($comment);
|
||||
// Add links to any files newly referenced by the edit.
|
||||
if ($file_phids) {
|
||||
$editor = new PhabricatorEdgeEditor();
|
||||
foreach ($file_phids as $file_phid) {
|
||||
$editor->addEdge(
|
||||
$xaction->getObjectPHID(),
|
||||
PhabricatorEdgeConfig::TYPE_OBJECT_HAS_FILE,
|
||||
$file_phid);
|
||||
}
|
||||
$editor->save();
|
||||
}
|
||||
|
||||
// TODO: Emit an event for notifications/feed? Can we handle them
|
||||
// generically?
|
||||
$xaction->attachComment($comment);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue