Page MenuHomePhabricator

D20654.diff
No OneTemporary

D20654.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -412,7 +412,7 @@
'rsrc/js/application/phortune/phortune-credit-card-form.js' => 'd12d214f',
'rsrc/js/application/policy/behavior-policy-control.js' => '0eaa33a9',
'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '9347f172',
- 'rsrc/js/application/projects/WorkboardBoard.js' => '50147a89',
+ 'rsrc/js/application/projects/WorkboardBoard.js' => '19df903f',
'rsrc/js/application/projects/WorkboardCard.js' => '0392a5d8',
'rsrc/js/application/projects/WorkboardCardTemplate.js' => '84f82dad',
'rsrc/js/application/projects/WorkboardColumn.js' => 'c3d24e63',
@@ -743,7 +743,7 @@
'javelin-view-renderer' => '9aae2b66',
'javelin-view-visitor' => '308f9fe4',
'javelin-websocket' => 'fdc13e4e',
- 'javelin-workboard-board' => '50147a89',
+ 'javelin-workboard-board' => '19df903f',
'javelin-workboard-card' => '0392a5d8',
'javelin-workboard-card-template' => '84f82dad',
'javelin-workboard-column' => 'c3d24e63',
@@ -1030,6 +1030,18 @@
'17b71bbc' => array(
'phui-theme-css',
),
+ '19df903f' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phabricator-draggable-list',
+ 'javelin-workboard-column',
+ 'javelin-workboard-header-template',
+ 'javelin-workboard-card-template',
+ 'javelin-workboard-order-template',
+ ),
'1b6acc2a' => array(
'javelin-magical-init',
'javelin-util',
@@ -1357,18 +1369,6 @@
'4feea7d3' => array(
'trigger-rule-control',
),
- '50147a89' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-workflow',
- 'phabricator-draggable-list',
- 'javelin-workboard-column',
- 'javelin-workboard-header-template',
- 'javelin-workboard-card-template',
- 'javelin-workboard-order-template',
- ),
'506aa3f4' => array(
'javelin-behavior',
'javelin-stratcom',
diff --git a/src/applications/project/controller/PhabricatorProjectBoardReloadController.php b/src/applications/project/controller/PhabricatorProjectBoardReloadController.php
--- a/src/applications/project/controller/PhabricatorProjectBoardReloadController.php
+++ b/src/applications/project/controller/PhabricatorProjectBoardReloadController.php
@@ -11,6 +11,15 @@
return $response;
}
+ $order = $request->getStr('order');
+ if (!strlen($order)) {
+ $order = PhabricatorProjectColumnNaturalOrder::ORDERKEY;
+ }
+
+ $ordering = PhabricatorProjectColumnOrder::getOrderByKey($order);
+ $ordering = id(clone $ordering)
+ ->setViewer($viewer);
+
$project = $this->getProject();
$state = $this->getViewState();
$board_uri = $state->newWorkboardURI();
@@ -53,15 +62,11 @@
$engine = id(new PhabricatorBoardResponseEngine())
->setViewer($viewer)
->setBoardPHID($board_phid)
+ ->setOrdering($ordering)
->setObjects($objects)
->setUpdatePHIDs($update_phids)
->setVisiblePHIDs($visible_phids);
- // TODO: We don't currently process "order" properly. If a user is viewing
- // a board grouped by "Owner", and another user changes a task to be owned
- // by a user who currently owns nothing on the board, the new header won't
- // generate correctly if the first user presses "R".
-
return $engine->buildResponse();
}
diff --git a/webroot/rsrc/js/application/projects/WorkboardBoard.js b/webroot/rsrc/js/application/projects/WorkboardBoard.js
--- a/webroot/rsrc/js/application/projects/WorkboardBoard.js
+++ b/webroot/rsrc/js/application/projects/WorkboardBoard.js
@@ -746,6 +746,7 @@
var data = {
state: JX.JSON.stringify(state),
+ order: this.getOrder()
};
var on_reload = JX.bind(this, this._onReloadResponse);

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 23, 3:21 PM (18 h, 42 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6921503
Default Alt Text
D20654.diff (3 KB)

Event Timeline