<field reporter:label="Is Group Lead Account" name="master_account" reporter:datatype="bool"/>
<field reporter:label="Internet Access Level" name="net_access_level" reporter:datatype="link"/>
<field reporter:label="Other Phone" name="other_phone" reporter:datatype="text"/>
- <field reporter:label="Password" name="passwd" reporter:datatype="text"/>
+ <field reporter:label="Password" name="passwd" suppress_controller="open-ils.pcrud open-ils.reporter-store" reporter:datatype="text"/>
<field reporter:label="Photo URL" name="photo_url" reporter:datatype="text"/>
<field reporter:label="Prefix/Title" name="prefix" reporter:datatype="text"/>
<field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="link"/>
<xs:element ref="idl:description" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="name"/>
+ <xs:attribute name="suppress_controller"/>
<xs:attribute ref="oils_obj:array_position"/>
<xs:attribute ref="oils_obj:required"/>
<xs:attribute ref="oils_obj:validate"/>
snprintf( array_pos_buf, sizeof( array_pos_buf ), "%u", array_pos++ );
osrfHashSet( field_def_hash, strdup( array_pos_buf ), "array_position" );
+ // Tokenize suppress_controller attribute into an osrfStringArray
+ if( (prop_str = (char*)xmlGetProp(_f, BAD_CAST "suppress_controller")) ) {
+ osrfLogDebug(OSRF_LOG_MARK, "Controller suppression list is %s", prop_str );
+ osrfStringArray* controller = osrfStringArrayTokenize( prop_str, ' ' );
+ osrfHashSet( field_def_hash, controller, "suppress_controller");
+ }
+
if( (prop_str = (char*)xmlGetNsProp(_f, BAD_CAST "i18n", BAD_CAST PERSIST_NS)) ) {
osrfHashSet(
field_def_hash,
// Look up the field in the IDL
const char* col_name = jsonObjectGetString( selfield );
- osrfHash* field_def = osrfHashGet( class_field_set, col_name );
+ osrfHash* field_def;
+
+ if (!osrfStringArrayContains(
+ osrfHashGet(
+ osrfHashGet( class_field_set, col_name ),
+ "suppress_controller"),
+ modulename
+ ))
+ field_def = osrfHashGet( class_field_set, col_name );
+
if( !field_def ) {
// No such field in current class
osrfLogError(
jsonObjectGetKeyConst( selfield, "column" ) );
// Get the field definition from the IDL
- osrfHash* field_def = osrfHashGet( class_field_set, col_name );
+ osrfHash* field_def;
+ if (!osrfStringArrayContains(
+ osrfHashGet(
+ osrfHashGet( class_field_set, col_name ),
+ "suppress_controller"),
+ modulename
+ ))
+ field_def = osrfHashGet( class_field_set, col_name );
+
+
if( !field_def ) {
// No such field in current class
osrfLogError(
if( !field )
continue;
+ if (osrfStringArrayContains( osrfHashGet(field, "suppress_controller"), modulename ))
+ continue;
+
if( first ) {
first = 0;
} else {
if( str_is_true( osrfHashGet( field_def, "virtual") ) )
continue;
+ if (osrfStringArrayContains( osrfHashGet(field_def, "suppress_controller"), modulename ))
+ continue;
+
+
const char* field_name = osrfHashIteratorKey( field_itr );
if( ! strcmp( field_name, pkey ) )
continue;
var name = field.getAttributeNS(rptNS,'label');
if (!name) name = field.getAttribute('name');
+ var suppress = field.getAttribute('suppress_controller');
+ if (suppress && suppress.indexOf('open-ils.reporter-store') > -1) continue;
+
var idlclass = link_fields[i].getAttribute('class');
var map = link_fields[i].getAttribute('map');
var link = link_fields[i].getAttribute('field');
var type = fields[i].getAttributeNS(rptNS, 'datatype');
//if (!type) type = 'text';
+ var suppress = fields[i].getAttribute('suppress_controller');
+ if (suppress && suppress.indexOf('open-ils.reporter-store') > -1) continue;
+
var label = fields[i].getAttributeNS(rptNS, 'label');
var name = fields[i].getAttribute('name');
if (!label) label = name;