--- 1101638-limit-menu-32.patch 2012-01-22 15:08:53.000000000 -0500 +++ default-menu-form-support-1101638-46.patch 2012-09-25 12:31:06.000000000 -0400 @@ -1,5 +1,5 @@ diff --git a/modules/menu.workbench_access.inc b/modules/menu.workbench_access.inc -index 8dbb438..f362ddd 100644 +index 92e97eb..265442b 100644 --- a/modules/menu.workbench_access.inc +++ b/modules/menu.workbench_access.inc @@ -80,6 +80,12 @@ function menu_workbench_access_configuration(&$form, &$form_state) { @@ -15,7 +15,7 @@ } /** -@@ -238,3 +244,52 @@ function workbench_access_menu_link_delete($link) { +@@ -247,3 +253,52 @@ function workbench_access_menu_link_delete($link) { workbench_access_section_delete($access_scheme); } } @@ -68,72 +68,20 @@ + } + } +} -diff --git a/workbench_access.admin.inc b/workbench_access.admin.inc -index 00281e1..2160329 100644 ---- a/workbench_access.admin.inc -+++ b/workbench_access.admin.inc -@@ -72,7 +72,8 @@ function workbench_access_settings_form($form, &$form_state) { - '#markup' => '' . t('Only selected content types will have Workbench Access rules enforced.') . '', - ); - // Set the field settings for Taxonomy, if required. -- if (!variable_get('workbench_access_custom_form', 1)) { -+ // @todo: This should likely change to a hook with a default implementation. -+ if (!variable_get('workbench_access_custom_form', 1) && $active != 'menu') { - $form['field_elements'] = array( - '#type' => 'fieldset', - '#title' => t('Access control fields'), diff --git a/workbench_access.module b/workbench_access.module -index aa48beb..b967507 100644 +index e2f44ec..2efadc3 100644 --- a/workbench_access.module +++ b/workbench_access.module -@@ -636,7 +636,7 @@ function workbench_access_node_insert($node) { - $active = workbench_access_get_active_tree(); - foreach ($node->workbench_access as $id) { - // Prevent false records from being saved accidentally. -- if (isset($active['active'][$id])) { -+ if (isset($active['active'][$id]) || variable_get('workbench_access_auto_assign', 1)) { - $record = array( - 'nid' => $node->nid, - 'access_id' => $id, -@@ -703,7 +703,7 @@ function workbench_access_node_presave($node) { - function workbench_access_prepare_field_save($node) { - // If using a default form element, or the form data is already present, then - // we do not need this step. -- if (variable_get('workbench_access_custom_form', 1) || isset($node->workbench_access_fields)) { -+ if (variable_get('workbench_access_custom_form', 1)) { - return; +@@ -1384,9 +1384,9 @@ function workbench_access_form_alter(&$form, $form_state, $form_id) { + // Provide a form element. + workbench_access_node_form_element($form, $form_state); } - $tree = workbench_access_get_active_tree(); -@@ -720,13 +720,16 @@ function workbench_access_prepare_field_save($node) { - $node->workbench_access_fields[] = $field; - } - } -+ $node->workbench_access_fields = array_unique($node->workbench_access_fields); - } - - /** - * Implements hook_node_update(). - */ - function workbench_access_node_update($node) { -+ dsm($node); - workbench_access_node_insert($node); +- else { +- workbench_access_default_form_element($form, $form_state); +- } ++ ++ workbench_access_default_form_element($form, $form_state); + } /** -@@ -898,6 +901,7 @@ function workbench_access_rebuild_scheme($access_scheme, $sections = array()) { - */ - function workbench_access_section_save($section) { - // Reset the tree. -+ dsm($section); - workbench_access_reset_tree(); - // Write the record. - drupal_write_record('workbench_access', $section); -@@ -946,6 +950,7 @@ function workbench_access_section_delete($section) { - */ - function workbench_access_reset_tree() { - cache_clear_all('workbench_access_tree', 'cache_bootstrap'); -+ drupal_static_reset('workbench_access_get_active_tree'); - drupal_static_reset('workbench_access_get_access_tree'); - drupal_static_reset('workbench_access_get_ids_by_scheme'); - drupal_static_reset('workbench_access_get_user_tree');