From 819b0e95a9f36fbbc51268e82c5df87b2eb5fb67 Mon Sep 17 00:00:00 2001 From: Angie Byron <webchick@24967.no-reply.drupal.org> Date: Sat, 11 Oct 2008 03:25:36 +0000 Subject: [PATCH] #319699 by Dave Reid: Simplify logic for hiding required modules. --- modules/system/system.admin.inc | 5 +---- modules/system/system.test | 12 ++++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc index 9ef4fcf45576..1d37f6b66671 100644 --- a/modules/system/system.admin.inc +++ b/modules/system/system.admin.inc @@ -645,7 +645,7 @@ function system_modules($form_state = array()) { $extra = array(); // If the module is requried, set it to be so. if (in_array($filename, $modules_required)) { - $extra['required'] = TRUE; + continue; } $extra['enabled'] = (bool) $module->status; // If this module has dependencies, add them to the array. @@ -689,7 +689,6 @@ function system_modules($form_state = array()) { '#type' => 'fieldset', '#title' => t($package), '#collapsible' => TRUE, - '#access' => ($package != 'Core - required'), '#theme' => 'system_modules_fieldset', '#header' => array( array('data' => t('Enabled'), 'class' => 'checkbox'), @@ -722,7 +721,6 @@ function system_sort_modules_by_info_name($a, $b) { function _system_modules_build_row($info, $extra) { // Add in the defaults. $extra += array( - 'required' => FALSE, 'dependencies' => array(), 'dependents' => array(), 'disabled' => FALSE, @@ -773,7 +771,6 @@ function _system_modules_build_row($info, $extra) { $form['enable'] = array( '#type' => 'checkbox', '#title' => t('Enable'), - '#required' => $extra['required'], '#default_value' => $extra['enabled'], ); if ($extra['disabled']) { diff --git a/modules/system/system.test b/modules/system/system.test index 52c51db725ee..dc36470e4459 100644 --- a/modules/system/system.test +++ b/modules/system/system.test @@ -88,6 +88,18 @@ class EnableDisableCoreTestCase extends DrupalWebTestCase { $this->assertTableCount('locale', TRUE); } + /** + * Assert that core required modules cannot be disabled. + */ + function testDisableRequired() { + $required_modules = drupal_required_modules(); + foreach($required_modules as $module) { + // Check to make sure the checkbox for required module is not found. + $this->drupalGet('admin/build/modules'); + $this->assertNoFieldByName('modules[Core][' . $module . '][enable]'); + } + } + /** * Assert tables that begin with the specified base table name. * -- GitLab