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

Support Spaces in Maniphest batch editor

Summary: Ref T8498. This editor is an artifact of the Old World at this point, but it still works fine.

Test Plan: Moved tasks between spaces using the batch editor.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8498

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

+38 -11
+10 -10
resources/celerity/map.php
··· 374 374 'rsrc/js/application/herald/HeraldRuleEditor.js' => 'b2cae298', 375 375 'rsrc/js/application/herald/PathTypeahead.js' => 'f7fc67ec', 376 376 'rsrc/js/application/herald/herald-rule-editor.js' => '7ebaeed3', 377 - 'rsrc/js/application/maniphest/behavior-batch-editor.js' => 'f5d1233b', 377 + 'rsrc/js/application/maniphest/behavior-batch-editor.js' => '782ab6e7', 378 378 'rsrc/js/application/maniphest/behavior-batch-selector.js' => '7b98d7c5', 379 379 'rsrc/js/application/maniphest/behavior-line-chart.js' => '88f0c5b3', 380 380 'rsrc/js/application/maniphest/behavior-list-edit.js' => 'a9f88de2', ··· 587 587 'javelin-behavior-lightbox-attachments' => 'f8ba29d7', 588 588 'javelin-behavior-line-chart' => '88f0c5b3', 589 589 'javelin-behavior-load-blame' => '42126667', 590 - 'javelin-behavior-maniphest-batch-editor' => 'f5d1233b', 590 + 'javelin-behavior-maniphest-batch-editor' => '782ab6e7', 591 591 'javelin-behavior-maniphest-batch-selector' => '7b98d7c5', 592 592 'javelin-behavior-maniphest-list-editor' => 'a9f88de2', 593 593 'javelin-behavior-maniphest-subpriority-editor' => '84845b5b', ··· 1385 1385 'javelin-util', 1386 1386 'phabricator-busy', 1387 1387 ), 1388 + '782ab6e7' => array( 1389 + 'javelin-behavior', 1390 + 'javelin-dom', 1391 + 'javelin-util', 1392 + 'phabricator-prefab', 1393 + 'multirow-row-manager', 1394 + 'javelin-json', 1395 + ), 1388 1396 '7927a7d3' => array( 1389 1397 'javelin-behavior', 1390 1398 'javelin-quicksand', ··· 1966 1974 'javelin-dom', 1967 1975 'javelin-request', 1968 1976 'phabricator-keyboard-shortcut', 1969 - ), 1970 - 'f5d1233b' => array( 1971 - 'javelin-behavior', 1972 - 'javelin-dom', 1973 - 'javelin-util', 1974 - 'phabricator-prefab', 1975 - 'multirow-row-manager', 1976 - 'javelin-json', 1977 1977 ), 1978 1978 'f6555212' => array( 1979 1979 'javelin-install',
+19
src/applications/maniphest/controller/ManiphestBatchEditController.php
··· 88 88 $mailable_source->setViewer($viewer); 89 89 $owner_source = new ManiphestAssigneeDatasource(); 90 90 $owner_source->setViewer($viewer); 91 + $spaces_source = id(new PhabricatorSpacesNamespaceDatasource()) 92 + ->setViewer($viewer); 91 93 92 94 require_celerity_resource('maniphest-batch-editor'); 93 95 Javelin::initBehavior( ··· 111 113 'src' => $mailable_source->getDatasourceURI(), 112 114 'placeholder' => $mailable_source->getPlaceholderText(), 113 115 'browseURI' => $mailable_source->getBrowseURI(), 116 + ), 117 + 'spaces' => array( 118 + 'src' => $spaces_source->getDatasourceURI(), 119 + 'placeholder' => $spaces_source->getPlaceholderText(), 120 + 'browseURI' => $spaces_source->getBrowseURI(), 121 + 'limit' => 1, 114 122 ), 115 123 ), 116 124 'input' => 'batch-form-actions', ··· 201 209 'remove_project' => PhabricatorTransactions::TYPE_EDGE, 202 210 'add_ccs' => PhabricatorTransactions::TYPE_SUBSCRIBERS, 203 211 'remove_ccs' => PhabricatorTransactions::TYPE_SUBSCRIBERS, 212 + 'space' => PhabricatorTransactions::TYPE_SPACE, 204 213 ); 205 214 206 215 $edge_edit_types = array( ··· 246 255 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 247 256 $current = $task->getSubscriberPHIDs(); 248 257 break; 258 + case PhabricatorTransactions::TYPE_SPACE: 259 + $current = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID( 260 + $task); 261 + break; 249 262 } 250 263 } 251 264 ··· 259 272 if (!strlen($value)) { 260 273 continue 2; 261 274 } 275 + break; 276 + case PhabricatorTransactions::TYPE_SPACE: 277 + if (empty($value)) { 278 + continue 2; 279 + } 280 + $value = head($value); 262 281 break; 263 282 case ManiphestTransaction::TYPE_OWNER: 264 283 if (empty($value)) {
+9 -1
webroot/rsrc/js/application/maniphest/behavior-batch-editor.js
··· 24 24 'add_comment': 'Comment', 25 25 'assign': 'Assign', 26 26 'add_ccs' : 'Add CCs', 27 - 'remove_ccs' : 'Remove CCs' 27 + 'remove_ccs' : 'Remove CCs', 28 + 'space': 'Shift to Space' 28 29 }); 29 30 30 31 var proj_tokenizer = build_tokenizer(config.sources.project); 31 32 var owner_tokenizer = build_tokenizer(config.sources.owner); 32 33 var cc_tokenizer = build_tokenizer(config.sources.cc); 34 + var space_tokenizer = build_tokenizer(config.sources.spaces); 33 35 34 36 var priority_select = JX.Prefab.renderSelect(config.priorityMap); 35 37 var status_select = JX.Prefab.renderSelect(config.statusMap); ··· 58 60 JX.DOM.setContent(cell, owner_tokenizer.template); 59 61 vfunc = function() { 60 62 return JX.keys(owner_tokenizer.object.getTokens()); 63 + }; 64 + break; 65 + case 'space': 66 + JX.DOM.setContent(cell, space_tokenizer.template); 67 + vfunc = function() { 68 + return JX.keys(space_tokenizer.object.getTokens()); 61 69 }; 62 70 break; 63 71 case 'add_comment':