diff --git a/RestConnection.inc b/RestConnection.inc index f4671e92..1a43a9d3 100644 --- a/RestConnection.inc +++ b/RestConnection.inc @@ -61,5 +61,8 @@ class RestConnection { $this->repository = new FedoraRepository($this->api, $this->cache); } + static function exists() { + return class_exists('RepositoryConnection'); + } } diff --git a/admin/islandora.admin.inc b/admin/islandora.admin.inc index 7018efa1..1e8b5e51 100644 --- a/admin/islandora.admin.inc +++ b/admin/islandora.admin.inc @@ -7,13 +7,26 @@ */ function islandora_repository_admin() { - if (!user_access('administer site configuration')) { - drupal_set_message(t('You must be a site administrator to edit the Fedora collections list.'), 'error'); + module_load_include('inc', 'islandora', 'RestConnection'); + + if (!RestConnection::exists()) { + $message = t('This module requires the !url. Please install sites all libraries folder before continuing.', array('!url' => l(t('Tuque Fedora API'), 'http://github.com/islandora/tuque'))); + drupal_set_message(check_plain($message)); return; } $form = array(); - $form['islandora_repository_pid'] = array( + + $form['islandora_tabs'] = array( + '#type' => 'vertical_tabs', + ); + + $form['islandora_tabs']['islandora_general'] = array( + '#type' => 'fieldset', + '#title' => t('General Configuarion'), + ); + + $form['islandora_tabs']['islandora_general']['islandora_repository_pid'] = array( '#type' => 'textfield', '#title' => t('Root Collection PID'), '#default_value' => variable_get('islandora_repository_pid', 'islandora:root'), @@ -22,7 +35,7 @@ '#weight' => -18 ); - $form['islandora_base_url'] = array( + $form['islandora_tabs']['islandora_general']['islandora_base_url'] = array( '#type' => 'textfield', '#title' => t('Fedora base URL'), '#default_value' => variable_get('islandora_base_url', 'http://localhost:8080/fedora'), @@ -32,23 +45,20 @@ ); // will allow admin user to remove namepsace restrictions if not explicitly disallowed in settings.php - $form['islandora_namespace'] = array( + $form['islandora_tabs']['islandora_namespace'] = array( '#type' => 'fieldset', + '#title' => t('Namespaces'), ); - $form['islandora_namespace']['islandora_namespace_restriction_enforced'] = array( + $form['islandora_tabs']['islandora_namespace']['islandora_namespace_restriction_enforced'] = array( '#weight' => -1, - '#type' => 'radios', + '#type' => 'checkbox', '#title' => t('Enforce namespace restrictions'), - '#options' => array( - TRUE => t('Enabled'), - FALSE => t('Disabled') - ), '#description' => t('Allow administrator to restrict user\'s access to the PID namepaces listed below'), '#default_value' => variable_get('islandora_namespace_restriction_enforced', FALSE), ); - $form['islandora_namespace']['islandora_pids_allowed'] = array( + $form['islandora_tabs']['islandora_namespace']['islandora_pids_allowed'] = array( '#type' => 'textfield', '#title' => t('PID namespaces allowed in this Drupal install'), '#default_value' => variable_get('islandora_pids_allowed', 'default: demo: changeme: ilives: islandora-book: books: newspapers: '), @@ -56,6 +66,5 @@ '#weight' => 0, ); - return system_settings_form($form); } \ No newline at end of file