diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php index 4e7f32d..aa1b696 100644 --- a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php @@ -127,8 +127,8 @@ public function testReorderDisplay() { // Put the block display in front of the page display. $edit = array( - 'page_1[weight]' => 2, - 'block_1[weight]' => 1 + 'displays[page_1][weight]' => 2, + 'displays[block_1][weight]' => 1 ); $this->drupalPost(NULL, $edit, t('Apply')); $this->drupalPost(NULL, array(), t('Save')); diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php b/core/modules/views/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php index 588b1ee..e12bc7f 100644 --- a/core/modules/views/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php +++ b/core/modules/views/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php @@ -143,26 +143,29 @@ public function submitForm(array &$form, array &$form_state) { // Sort the order array asort($order); - // Fixing up positions + // Remove the default display from ordering. + unset($order['default']); + // Increment up positions. $position = 1; foreach (array_keys($order) as $display) { - $order[$display] = $position++; + $order[$display] = $position; + $position++; } // Setting up position and removing deleted displays $displays = $view->get('display'); - foreach ($displays as $display_id => $display) { + foreach ($displays as $display_id => &$display) { // Don't touch the default !!! if ($display_id === 'default') { - $displays[$display_id]['position'] = 0; + $display['position'] = 0; continue; } if (isset($order[$display_id])) { - $displays[$display_id]['position'] = $order[$display_id]; + $display['position'] = $order[$display_id]; } else { - $displays[$display_id]['deleted'] = TRUE; + $display['deleted'] = TRUE; } } $view->set('display', $displays);