@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Run Maniphest Conduit writes through new editor

Summary: Ref T2217. Swap the editors for the Conduit writes.

Test Plan: Made a bazillion Conduit calls, saw tasks updated appropriately.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2217

Differential Revision: https://secure.phabricator.com/D7082

+62 -13
+17 -12
src/applications/maniphest/conduit/ConduitAPI_maniphest_Method.php
··· 138 138 $changes[ManiphestTransactionType::TYPE_ATTACH] = $attached; 139 139 } 140 140 141 - $content_source = PhabricatorContentSource::newForSource( 142 - PhabricatorContentSource::SOURCE_CONDUIT, 143 - array()); 144 - 145 - $template = new ManiphestTransaction(); 146 - $template->setContentSource($content_source); 147 - $template->setAuthorPHID($request->getUser()->getPHID()); 141 + $template = new ManiphestTransactionPro(); 148 142 149 143 $transactions = array(); 150 144 foreach ($changes as $type => $value) { 151 145 $transaction = clone $template; 152 146 $transaction->setTransactionType($type); 153 - $transaction->setNewValue($value); 154 147 if ($type == PhabricatorTransactions::TYPE_COMMENT) { 155 - $transaction->setComments($comments); 148 + $transaction->attachComment( 149 + id(new ManiphestTransactionComment()) 150 + ->setContent($comments)); 151 + } else { 152 + $transaction->setNewValue($value); 156 153 } 154 + 157 155 $transactions[] = $transaction; 158 156 } 159 157 160 158 $field_list = PhabricatorCustomField::getObjectFields( 161 159 $task, 162 160 PhabricatorCustomField::ROLE_EDIT); 161 + $field_list->readFieldsFromStorage($task); 163 162 164 163 $auxiliary = $request->getValue('auxiliary'); 165 164 if ($auxiliary) { ··· 196 195 $task = $event->getValue('task'); 197 196 $transactions = $event->getValue('transactions'); 198 197 199 - $editor = new ManiphestTransactionEditor(); 200 - $editor->setActor($request->getUser()); 201 - $editor->setAuxiliaryFields($field_list->getFields()); 198 + $content_source = PhabricatorContentSource::newForSource( 199 + PhabricatorContentSource::SOURCE_CONDUIT, 200 + array()); 201 + 202 + $editor = id(new ManiphestTransactionEditorPro()) 203 + ->setActor($request->getUser()) 204 + ->setContentSource($content_source) 205 + ->setContinueOnNoEffect(true); 206 + 202 207 $editor->applyTransactions($task, $transactions); 203 208 204 209 $event = new PhabricatorEvent(
+44 -1
src/applications/maniphest/editor/ManiphestTransactionEditorPro.php
··· 8 8 9 9 $types[] = PhabricatorTransactions::TYPE_COMMENT; 10 10 $types[] = ManiphestTransactionPro::TYPE_PRIORITY; 11 + $types[] = ManiphestTransactionPro::TYPE_STATUS; 12 + $types[] = ManiphestTransactionPro::TYPE_TITLE; 13 + $types[] = ManiphestTransactionPro::TYPE_DESCRIPTION; 14 + $types[] = ManiphestTransactionPro::TYPE_OWNER; 15 + $types[] = ManiphestTransactionPro::TYPE_CCS; 16 + $types[] = ManiphestTransactionPro::TYPE_PROJECTS; 17 + $types[] = ManiphestTransactionPro::TYPE_ATTACH; 11 18 12 19 return $types; 13 20 } ··· 18 25 19 26 switch ($xaction->getTransactionType()) { 20 27 case ManiphestTransactionPro::TYPE_PRIORITY: 21 - return $object->getPriority(); 28 + return (int)$object->getPriority(); 29 + case ManiphestTransactionPro::TYPE_STATUS: 30 + return (int)$object->getStatus(); 31 + case ManiphestTransactionPro::TYPE_TITLE: 32 + return $object->getTitle(); 33 + case ManiphestTransactionPro::TYPE_DESCRIPTION: 34 + return $object->getDescription(); 35 + case ManiphestTransactionPro::TYPE_OWNER: 36 + return $object->getOwnerPHID(); 37 + case ManiphestTransactionPro::TYPE_CCS: 38 + return $object->getCCPHIDs(); 39 + case ManiphestTransactionPro::TYPE_PROJECTS: 40 + return $object->getProjectPHIDs(); 41 + case ManiphestTransactionPro::TYPE_ATTACH: 42 + return $object->getAttached(); 22 43 } 23 44 24 45 } ··· 29 50 30 51 switch ($xaction->getTransactionType()) { 31 52 case ManiphestTransactionPro::TYPE_PRIORITY: 53 + case ManiphestTransactionPro::TYPE_STATUS: 54 + return (int)$xaction->getNewValue(); 55 + case ManiphestTransactionPro::TYPE_TITLE: 56 + case ManiphestTransactionPro::TYPE_DESCRIPTION: 57 + case ManiphestTransactionPro::TYPE_OWNER: 58 + case ManiphestTransactionPro::TYPE_CCS: 59 + case ManiphestTransactionPro::TYPE_PROJECTS: 60 + case ManiphestTransactionPro::TYPE_ATTACH: 32 61 return $xaction->getNewValue(); 33 62 } 34 63 ··· 41 70 switch ($xaction->getTransactionType()) { 42 71 case ManiphestTransactionPro::TYPE_PRIORITY: 43 72 return $object->setPriority($xaction->getNewValue()); 73 + case ManiphestTransactionPro::TYPE_STATUS: 74 + return $object->setStatus($xaction->getNewValue()); 75 + case ManiphestTransactionPro::TYPE_TITLE: 76 + return $object->setTitle($xaction->getNewValue()); 77 + case ManiphestTransactionPro::TYPE_DESCRIPTION: 78 + return $object->setDescription($xaction->getNewValue()); 79 + case ManiphestTransactionPro::TYPE_OWNER: 80 + return $object->setOwnerPHID($xaction->getNewValue()); 81 + case ManiphestTransactionPro::TYPE_CCS: 82 + return $object->setCCPHIDs($xaction->getNewValue()); 83 + case ManiphestTransactionPro::TYPE_PROJECTS: 84 + return $object->setProjectPHIDs($xaction->getNewValue()); 85 + case ManiphestTransactionPro::TYPE_ATTACH: 86 + return $object->setAttached($xaction->getNewValue()); 44 87 } 45 88 46 89 }
+1
src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php
··· 272 272 273 273 if ($this->getRequired()) { 274 274 $value = $this->getOldValueForApplicationTransactions(); 275 + 275 276 $transaction = null; 276 277 foreach ($xactions as $xaction) { 277 278 $value = $xaction->getNewValue();