Browse Source

added permission to view soap errors

pull/245/head
Alan Stanley 12 years ago
parent
commit
90a1de79a7
  1. 1
      ObjectHelper.inc
  2. 7
      api/fedora_item.inc
  3. 1
      fedora_repository.module

1
ObjectHelper.inc

@ -19,6 +19,7 @@ class ObjectHelper {
public static $INGEST_FEDORA_OBJECTS = 'ingest new fedora objects';
public static $EDIT_TAGS_DATASTREAM = 'edit tags datastream';
public static $VIEW_DETAILED_CONTENT_LIST = 'view detailed list of content';
public static $VIEW_FEDORA_SOAP_ERROR_MESSAGES = 'view fedora soap error messages';
// TODO: Make this into a static member constant
public $availableDataStreamsText = 'Detailed list of content';

7
api/fedora_item.inc

@ -1,9 +1,9 @@
<?php
/**
* @file
* Fedora Item
*/
define('RELS_EXT_URI', 'info:fedora/fedora-system:def/relations-external#');
define("FEDORA_MODEL_URI", 'info:fedora/fedora-system:def/model#');
define("ISLANDORA_PAGE_URI", 'info:islandora/islandora-system:def/pageinfo#');
@ -25,7 +25,6 @@ class Fedora_Item {
public $pid = NULL;
public $objectProfile = NULL;
public $ownerId = NULL;
// A SimpleXML object to store a list of this item's datastreams.
private $datastreams_list = NULL;
public $datastreams = NULL;
@ -1445,6 +1444,7 @@ RDF;
* The return value from the soap function if successful, NULL otherwise.
*/
static function soap_call($function, $parameters, $quiet = FALSE) {
module_load_include('inc', 'fedora_repository', 'ObjectHelper');
if (!self::$connection_helper) {
module_load_include('inc', 'fedora_repository', 'ConnectionHelper');
self::$connection_helper = new ConnectionHelper();
@ -1467,7 +1467,7 @@ RDF;
return NULL;
}
} catch (Exception $e) {
if (!$quiet) {
if (!$quiet && user_access($VIEW_FEDORA_SOAP_ERROR_MESSAGES)) {
preg_match('/org\.fcrepo\.server\.security\.xacml\.pep\.AuthzDeniedException/', $e->getMessage()) ?
drupal_set_message(t('Insufficient permissions to call SOAP function "%func".', array('%func' => $function)), 'error') :
drupal_set_message(t('Error trying to call SOAP function "%func". Check watchdog logs for more information.', array('%func' => $function)), 'error');
@ -1595,4 +1595,5 @@ RDF;
return $ownerId;
}
}

1
fedora_repository.module

@ -935,6 +935,7 @@ function fedora_repository_perm() {
OBJECTHELPER::$INGEST_FEDORA_OBJECTS,
OBJECTHELPER::$EDIT_TAGS_DATASTREAM,
OBJECTHELPER::$VIEW_DETAILED_CONTENT_LIST,
OBJECTHELPER::$VIEW_FEDORA_SOAP_ERROR_MESSAGES,
);
}

Loading…
Cancel
Save