diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-02-17 05:46:16 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-02-17 05:46:16 +0000 |
commit | 833ab255e92b5a8a1e9294282a4851c58d26a25f (patch) | |
tree | a5071dfcec07592f56f03abe9af998eda8bec121 | |
parent | fd7a32443705f6b4adcf77a6d6480301f90d5858 (diff) | |
download | brdo-833ab255e92b5a8a1e9294282a4851c58d26a25f.tar.gz brdo-833ab255e92b5a8a1e9294282a4851c58d26a25f.tar.bz2 |
#605926 by jim0203, sun, jhodgdon, dman, eileenmcnaughton, Gábor Hojtsy: Fixed Menu link weight changes when editing a node. (with tests)
-rw-r--r-- | includes/menu.inc | 3 | ||||
-rw-r--r-- | modules/menu/menu.test | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/includes/menu.inc b/includes/menu.inc index 5362aafd9..83d36aa7b 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -2194,7 +2194,8 @@ function menu_link_load($mlid) { $query = db_select('menu_links', 'ml'); $query->leftJoin('menu_router', 'm', 'm.path = ml.router_path'); $query->fields('ml'); - $query->fields('m'); + // Weight should be taken from {menu_links}, not {menu_router}. + $query->fields('m', array_diff(drupal_schema_fields_sql('menu_router'), array('weight'))); $query->condition('ml.mlid', $mlid); if ($item = $query->execute()->fetchAssoc()) { _menu_link_translate($item); diff --git a/modules/menu/menu.test b/modules/menu/menu.test index f00238e9b..ef7edf43a 100644 --- a/modules/menu/menu.test +++ b/modules/menu/menu.test @@ -606,12 +606,16 @@ class MenuNodeTestCase extends DrupalWebTestCase { $edit = array( 'menu[enabled]' => 1, 'menu[link_title]' => $node_title, + 'menu[weight]' => 17, ); $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save')); // Assert that the link exists. $this->drupalGet(''); $this->assertLink($node_title); + $this->drupalGet('node/' . $node->nid . '/edit'); + $this->assertOptionSelected('edit-menu-weight', 17, t('Menu weight correct in edit form')); + // Edit the node and remove the menu link. $edit = array( 'menu[enabled]' => FALSE, @@ -622,4 +626,3 @@ class MenuNodeTestCase extends DrupalWebTestCase { $this->assertNoLink($node_title); } } - |