@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.

Transactions - add "view raw" action

Summary: Use cutlery icon for hilarity. Ref T5768.

Test Plan: made something with remarkup in it, used 'view raw' and saw the remarkup raw in a nice little dialogue.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5768

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

+86 -12
+11 -11
resources/celerity/map.php
··· 8 8 return array( 9 9 'names' => array( 10 10 'core.pkg.css' => '519e8478', 11 - 'core.pkg.js' => '4c28870b', 11 + 'core.pkg.js' => 'eb8d4f82', 12 12 'darkconsole.pkg.js' => 'df001cab', 13 13 'differential.pkg.css' => '4a93db37', 14 14 'differential.pkg.js' => 'eb182ccd', ··· 425 425 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 426 426 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => 'd6f54db0', 427 427 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => '9f7309fb', 428 - 'rsrc/js/application/transactions/behavior-transaction-list.js' => '71f66c08', 428 + 'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea', 429 429 'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807', 430 430 'rsrc/js/application/uiexample/ReactorButtonExample.js' => 'd19198c8', 431 431 'rsrc/js/application/uiexample/ReactorCheckboxExample.js' => '519705ea', ··· 629 629 'javelin-behavior-phabricator-show-all-transactions' => '7c273581', 630 630 'javelin-behavior-phabricator-tooltips' => '3ee3408b', 631 631 'javelin-behavior-phabricator-transaction-comment-form' => '9f7309fb', 632 - 'javelin-behavior-phabricator-transaction-list' => '71f66c08', 632 + 'javelin-behavior-phabricator-transaction-list' => '13c739ea', 633 633 'javelin-behavior-phabricator-watch-anchor' => '06e05112', 634 634 'javelin-behavior-phame-post-preview' => 'be807912', 635 635 'javelin-behavior-pholio-mock-edit' => '9c2623f4', ··· 925 925 'javelin-util', 926 926 'phabricator-shaped-request', 927 927 ), 928 + '13c739ea' => array( 929 + 'javelin-behavior', 930 + 'javelin-stratcom', 931 + 'javelin-workflow', 932 + 'javelin-dom', 933 + 'javelin-uri', 934 + 'phabricator-textareautils', 935 + ), 928 936 '14a827de' => array( 929 937 'javelin-behavior', 930 938 'javelin-stratcom', ··· 1279 1287 'phuix-action-view', 1280 1288 'phabricator-phtize', 1281 1289 'changeset-view-manager', 1282 - ), 1283 - '71f66c08' => array( 1284 - 'javelin-behavior', 1285 - 'javelin-stratcom', 1286 - 'javelin-workflow', 1287 - 'javelin-dom', 1288 - 'javelin-uri', 1289 - 'phabricator-textareautils', 1290 1290 ), 1291 1291 '7319e029' => array( 1292 1292 'javelin-behavior',
+2
src/__phutil_library_map__.php
··· 1109 1109 'PhabricatorApplicationTransactionCommentHistoryController' => 'applications/transactions/controller/PhabricatorApplicationTransactionCommentHistoryController.php', 1110 1110 'PhabricatorApplicationTransactionCommentQuery' => 'applications/transactions/query/PhabricatorApplicationTransactionCommentQuery.php', 1111 1111 'PhabricatorApplicationTransactionCommentQuoteController' => 'applications/transactions/controller/PhabricatorApplicationTransactionCommentQuoteController.php', 1112 + 'PhabricatorApplicationTransactionCommentRawController' => 'applications/transactions/controller/PhabricatorApplicationTransactionCommentRawController.php', 1112 1113 'PhabricatorApplicationTransactionCommentRemoveController' => 'applications/transactions/controller/PhabricatorApplicationTransactionCommentRemoveController.php', 1113 1114 'PhabricatorApplicationTransactionCommentView' => 'applications/transactions/view/PhabricatorApplicationTransactionCommentView.php', 1114 1115 'PhabricatorApplicationTransactionController' => 'applications/transactions/controller/PhabricatorApplicationTransactionController.php', ··· 3912 3913 'PhabricatorApplicationTransactionCommentHistoryController' => 'PhabricatorApplicationTransactionController', 3913 3914 'PhabricatorApplicationTransactionCommentQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 3914 3915 'PhabricatorApplicationTransactionCommentQuoteController' => 'PhabricatorApplicationTransactionController', 3916 + 'PhabricatorApplicationTransactionCommentRawController' => 'PhabricatorApplicationTransactionController', 3915 3917 'PhabricatorApplicationTransactionCommentRemoveController' => 'PhabricatorApplicationTransactionController', 3916 3918 'PhabricatorApplicationTransactionCommentView' => 'AphrontView', 3917 3919 'PhabricatorApplicationTransactionController' => 'PhabricatorController',
+2
src/applications/transactions/application/PhabricatorTransactionsApplication.php
··· 25 25 => 'PhabricatorApplicationTransactionCommentHistoryController', 26 26 'quote/(?<phid>[^/]+)/' 27 27 => 'PhabricatorApplicationTransactionCommentQuoteController', 28 + 'raw/(?<phid>[^/]+)/' 29 + => 'PhabricatorApplicationTransactionCommentRawController', 28 30 'detail/(?<phid>[^/]+)/' 29 31 => 'PhabricatorApplicationTransactionDetailController', 30 32 '(?P<value>old|new)/(?<phid>[^/]+)/'
+59
src/applications/transactions/controller/PhabricatorApplicationTransactionCommentRawController.php
··· 1 + <?php 2 + 3 + final class PhabricatorApplicationTransactionCommentRawController 4 + extends PhabricatorApplicationTransactionController { 5 + 6 + private $phid; 7 + 8 + public function willProcessRequest(array $data) { 9 + $this->phid = $data['phid']; 10 + } 11 + 12 + public function processRequest() { 13 + $request = $this->getRequest(); 14 + $user = $request->getUser(); 15 + 16 + $xaction = id(new PhabricatorObjectQuery()) 17 + ->withPHIDs(array($this->phid)) 18 + ->setViewer($user) 19 + ->executeOne(); 20 + 21 + if (!$xaction) { 22 + return new Aphront404Response(); 23 + } 24 + 25 + if (!$xaction->getComment()) { 26 + // You can't view a raw comment if there is no comment. 27 + return new Aphront404Response(); 28 + } 29 + 30 + if ($xaction->getComment()->getIsRemoved()) { 31 + // You can't view a raw comment if the comment is deleted. 32 + return new Aphront400Response(); 33 + } 34 + 35 + $obj_phid = $xaction->getObjectPHID(); 36 + $obj_handle = id(new PhabricatorHandleQuery()) 37 + ->setViewer($user) 38 + ->withPHIDs(array($obj_phid)) 39 + ->executeOne(); 40 + 41 + $dialog = id(new AphrontDialogView()) 42 + ->setUser($user) 43 + ->addCancelButton($obj_handle->getURI()) 44 + ->setTitle(pht('Raw Comment')); 45 + 46 + $dialog 47 + ->addHiddenInput('anchor', $request->getStr('anchor')) 48 + ->appendChild( 49 + id(new PHUIFormLayoutView()) 50 + ->setFullWidth(true) 51 + ->appendChild( 52 + id(new AphrontFormTextAreaControl()) 53 + ->setReadOnly(true) 54 + ->setValue($xaction->getComment()->getContent()))); 55 + 56 + return id(new AphrontDialogResponse())->setDialog($dialog); 57 + } 58 + 59 + }
+11
src/view/phui/PHUITimelineEventView.php
··· 528 528 'uri' => '/transactions/quote/'.$xaction_phid.'/', 529 529 'ref' => $ref, 530 530 )); 531 + 532 + // if there is something to quote then there is something to view raw 533 + $items[] = id(new PhabricatorActionView()) 534 + ->setIcon('fa-cutlery') 535 + ->setHref('/transactions/raw/'.$xaction_phid.'/') 536 + ->setName(pht('View Raw')) 537 + ->addSigil('transaction-raw') 538 + ->setMetadata( 539 + array( 540 + 'anchor' => $anchor, 541 + )); 531 542 } 532 543 533 544 if ($this->getIsRemovable()) {
+1 -1
webroot/rsrc/js/application/transactions/behavior-transaction-list.js
··· 12 12 13 13 JX.Stratcom.listen( 14 14 'click', 15 - [['transaction-edit'], ['transaction-remove']], 15 + [['transaction-edit'], ['transaction-remove'], ['transaction-raw']], 16 16 function(e) { 17 17 if (!e.isNormalClick()) { 18 18 return;