</class>
<class id="vst" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="vandelay::session_tracker"
- oils_persist:tablename="vandelay.session_tracker"
- reporter:label="Vandelay Session Tracker">
+ oils_obj:fieldmapper="vandelay::session_tracker"
+ oils_persist:tablename="vandelay.session_tracker"
+ reporter:label="Vandelay Session Tracker">
<fields oils_persist:primary="id" oils_persist:sequence="vandelay.session_tracker_id_seq">
<field reporter:label="ID" name="id" reporter:datatype="id"/>
<field reporter:label="Session Key" name="session_key" reporter:datatype="text"/>
<field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
<field reporter:label="Record Type" name="record_type" reporter:datatype="text"/>
<!-- queue doesn't use datatype 'link' because it may refer to a bib
- queue or an auth queue and there's no IDL class for vandelay.queue .
- parent table.
+ queue or an auth queue and there's no IDL class for vandelay.queue .
+ parent table.
-->
<field reporter:label="Source Queue" name="queue" reporter:datatype="int"/>
<field reporter:label="Create Time" name="create_time" reporter:datatype="timestsamp"/>
<actions>
<!-- created by the API -->
<retrieve global_required="true"
- permission="CREATE_BIB_IMPORT_QUEUE CREATE_AUTHORITY_IMPORT_QUEUE"/>
+ permission="CREATE_BIB_IMPORT_QUEUE CREATE_AUTHORITY_IMPORT_QUEUE"/>
<update global_required="true"
- permission="UPDATE_BIB_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE">
+ permission="UPDATE_BIB_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE">
<context link="workstation" field="owning_lib"/>
</update>
<delete
</class>
<class id="czifm" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="config::z3950_index_field_map"
- oils_persist:tablename="config.z3950_index_field_map"
- reporter:label="Z39.50 Index Field Map">
+ oils_obj:fieldmapper="config::z3950_index_field_map"
+ oils_persist:tablename="config.z3950_index_field_map"
+ reporter:label="Z39.50 Index Field Map">
<fields oils_persist:primary="id" oils_persist:sequence="config.z3950_index_field_map_id_seq">
<field reporter:label="Map ID" name="id" reporter:datatype="id"/>
<field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
<class id="atul" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::user_log" reporter:label="Action Trigger User Log" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
SELECT atevdef.hook,
- atevdef.name,
- atevdef.reactor,
- atev.id,
- atev.event_def,
- atev.add_time,
- atev.run_time,
- atev.start_time,
- atev.update_time,
- atev.complete_time,
- atev.update_process,
- atev.state,
- atev.user_data,
- atev.template_output,
- atev.error_output,
- atev.async_output,
- targ_circ.id AS target_circ,
- targ_ahr.id AS target_hold,
- COALESCE(
- targ_circ.circ_lib,
- targ_ahr.pickup_lib
- ) AS perm_lib
+ atevdef.name,
+ atevdef.reactor,
+ atev.id,
+ atev.event_def,
+ atev.add_time,
+ atev.run_time,
+ atev.start_time,
+ atev.update_time,
+ atev.complete_time,
+ atev.update_process,
+ atev.state,
+ atev.user_data,
+ atev.template_output,
+ atev.error_output,
+ atev.async_output,
+ targ_circ.id AS target_circ,
+ targ_ahr.id AS target_hold,
+ COALESCE(
+ targ_circ.circ_lib,
+ targ_ahr.pickup_lib
+ ) AS perm_lib
FROM action_trigger.event atev
JOIN action_trigger.event_definition atevdef ON
- (atevdef.id = atev.event_def)
+ (atevdef.id = atev.event_def)
JOIN action_trigger.hook ath ON
- (ath.key = atevdef.hook)
+ (ath.key = atevdef.hook)
LEFT JOIN action.circulation targ_circ ON
- (ath.core_type = 'circ' AND targ_circ.id = atev.target)
+ (ath.core_type = 'circ' AND targ_circ.id = atev.target)
LEFT JOIN action.hold_request targ_ahr ON
- (ath.core_type = 'ahr' AND targ_ahr.id = atev.target)
+ (ath.core_type = 'ahr' AND targ_ahr.id = atev.target)
WHERE atev.add_time > NOW() - (SELECT MIN(value) FROM (
- SELECT value::INTERVAL FROM actor.org_unit_ancestor_setting(
- 'circ.staff.max_visible_event_age',
- COALESCE(targ_circ.circ_lib, targ_ahr.pickup_lib)
- ) UNION
- SELECT '1000 YEARS'::INTERVAL AS value
+ SELECT value::INTERVAL FROM actor.org_unit_ancestor_setting(
+ 'circ.staff.max_visible_event_age',
+ COALESCE(targ_circ.circ_lib, targ_ahr.pickup_lib)
+ ) UNION
+ SELECT '1000 YEARS'::INTERVAL AS value
) ous)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<class id="atoul" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::optimized_user_log" reporter:label="Action Trigger Optimized User Log" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
SELECT atevdef.hook,
- atevdef.name,
- atevdef.reactor,
- atev.id,
- atev.event_def,
- atev.add_time,
- atev.run_time,
- atev.start_time,
- atev.update_time,
- atev.complete_time,
- atev.update_process,
- atev.state,
- atev.user_data,
- atev.template_output,
- atev.error_output,
- atev.async_output,
- atev.target,
- CASE WHEN ath.core_type = 'circ' THEN atev.target END AS target_circ,
- CASE WHEN ath.core_type = 'ahr' THEN atev.target END AS target_hold,
- atev.context_user,
- atev.context_library,
- atev.context_bib,
- atev.context_item,
- rssr.title,
- rssr.author
+ atevdef.name,
+ atevdef.reactor,
+ atev.id,
+ atev.event_def,
+ atev.add_time,
+ atev.run_time,
+ atev.start_time,
+ atev.update_time,
+ atev.complete_time,
+ atev.update_process,
+ atev.state,
+ atev.user_data,
+ atev.template_output,
+ atev.error_output,
+ atev.async_output,
+ atev.target,
+ CASE WHEN ath.core_type = 'circ' THEN atev.target END AS target_circ,
+ CASE WHEN ath.core_type = 'ahr' THEN atev.target END AS target_hold,
+ atev.context_user,
+ atev.context_library,
+ atev.context_bib,
+ atev.context_item,
+ rssr.title,
+ rssr.author
FROM action_trigger.event atev
JOIN action_trigger.event_definition atevdef ON
- (atevdef.id = atev.event_def)
+ (atevdef.id = atev.event_def)
JOIN action_trigger.hook ath ON
- (ath.key = atevdef.hook AND ath.core_type IN ('circ','ahr'))
+ (ath.key = atevdef.hook AND ath.core_type IN ('circ','ahr'))
LEFT JOIN reporter.super_simple_record rssr ON
- (atev.context_bib = rssr.id)
+ (atev.context_bib = rssr.id)
WHERE atev.add_time > NOW() - (SELECT MIN(value) FROM (
- SELECT value::INTERVAL FROM actor.org_unit_ancestor_setting(
- 'circ.staff.max_visible_event_age',
- atev.context_library
- ) UNION
- SELECT '1000 YEARS'::INTERVAL AS value
+ SELECT value::INTERVAL FROM actor.org_unit_ancestor_setting(
+ 'circ.staff.max_visible_event_age',
+ atev.context_library
+ ) UNION
+ SELECT '1000 YEARS'::INTERVAL AS value
) ous)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<create permission="CREATE_MARC IMPORT_MARC" global_required="true"/>
<retrieve/>
<update permission="UPDATE_MARC" global_required="true"/>
- <!-- WARNING: Deleting records via PCRUD does NOT check that any prerequisite conditions have been handled first. It is your responsibility to check for those conditions before deleting bib records. -->
+ <!-- WARNING: Deleting records via PCRUD does NOT check that any prerequisite conditions have been handled first. It is your responsibility to check for those conditions before deleting bib records. -->
<delete permission="DELETE_RECORD" global_required="true"/>
</actions>
</permacrud>
oils_persist:tablename="action.emergency_closing_circulation"
reporter:label="Emergency Closing Circulation Entry"
oils_persist:readonly="true"
- > <!-- This is not a view, but is managed via functions, so it's readonly. -->
+ > <!-- This is not a view, but is managed via functions, so it's readonly. -->
<fields oils_persist:primary="id">
<field name="id" reporter:datatype="id" />
<field name="circulation" reporter:datatype="link" />
oils_persist:tablename="action.emergency_closing_reservation"
reporter:label="Emergency Closing Reservation Entry"
oils_persist:readonly="true"
- > <!-- This is not a view, but is managed via functions, so it's readonly. -->
+ > <!-- This is not a view, but is managed via functions, so it's readonly. -->
<fields oils_persist:primary="id">
<field name="id" reporter:datatype="id" />
<field name="reservation" reporter:datatype="link" />
oils_persist:tablename="action.emergency_closing_hold"
reporter:label="Emergency Closing Hold Entry"
oils_persist:readonly="true"
- > <!-- This is not a view, but is managed via functions, so it's readonly. -->
+ > <!-- This is not a view, but is managed via functions, so it's readonly. -->
<fields oils_persist:primary="id">
<field name="id" reporter:datatype="id" />
<field name="hold" reporter:datatype="link" />
oils_persist:tablename="action.emergency_closing_status"
reporter:label="Emergency Closing Status"
oils_persist:readonly="true"
- >
+ >
<fields oils_persist:primary="id">
<field name="id" reporter:datatype="id" />
<field name="creator" reporter:datatype="link" />
<field reporter:label="Current Ceiling Date" name="ceiling_date" reporter:datatype="timestamp"/>
<field reporter:label="Owner" name="owner" reporter:datatype="org_unit"/>
<field reporter:label="Values" name="values" oils_persist:virtual="true"
- reporter:datatype="link" config_field="true"/>
+ reporter:datatype="link" config_field="true"/>
</fields>
<links>
<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
</permacrud>
</class>
<class id="mde" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="metabib::display_entry"
- oils_persist:tablename="metabib.display_entry"
- oils_persist:field_safe="true"
- reporter:label="Display Field Entry" oils_persist:readonly="true">
+ oils_obj:fieldmapper="metabib::display_entry"
+ oils_persist:tablename="metabib.display_entry"
+ oils_persist:field_safe="true"
+ reporter:label="Display Field Entry" oils_persist:readonly="true">
<fields oils_persist:primary="id" oils_persist:sequence="metabib.display_entry_id_seq">
<field name="id" reporter:datatype="id" />
<field name="field" reporter:datatype="link"/>
</permacrud>
</class>
<class id="mfde" controller="open-ils.cstore open-ils.pcrud"
- oils_persist:tablename="metabib.flat_display_entry"
- oils_obj:fieldmapper="metabib::flat_display_entry"
- oils_persist:field_safe="true"
- reporter:label="Flat Display Entry"
- oils_persist:readonly="true">
+ oils_persist:tablename="metabib.flat_display_entry"
+ oils_obj:fieldmapper="metabib::flat_display_entry"
+ oils_persist:field_safe="true"
+ reporter:label="Flat Display Entry"
+ oils_persist:readonly="true">
<fields>
<field name="source" reporter:datatype="id" />
<field name="name" reporter:datatype="text"/>
</permacrud>
</class>
<class id="mcde" controller="open-ils.cstore open-ils.pcrud"
- oils_persist:tablename="metabib.compressed_display_entry"
- oils_obj:fieldmapper="metabib::compressed_display_entry"
- oils_persist:field_safe="true"
- reporter:label="Compressed Display Entry"
- oils_persist:readonly="true">
+ oils_persist:tablename="metabib.compressed_display_entry"
+ oils_obj:fieldmapper="metabib::compressed_display_entry"
+ oils_persist:field_safe="true"
+ reporter:label="Compressed Display Entry"
+ oils_persist:readonly="true">
<fields>
<field name="source" reporter:datatype="id" />
<field name="name" reporter:datatype="text"/>
</permacrud>
</class>
<class id="mwde" controller="open-ils.cstore open-ils.pcrud"
- oils_persist:tablename="metabib.wide_display_entry"
- oils_obj:fieldmapper="metabib::wide_display_entry"
- oils_persist:field_safe="true"
- reporter:label="Wide Display Entry"
- oils_persist:readonly="true">
+ oils_persist:tablename="metabib.wide_display_entry"
+ oils_obj:fieldmapper="metabib::wide_display_entry"
+ oils_persist:field_safe="true"
+ reporter:label="Wide Display Entry"
+ oils_persist:readonly="true">
<fields oils_persist:primary="source">
<field name="source" reporter:label="Record ID" reporter:datatype="id" />
<field name="title" reporter:label="Title" reporter:datatype="text"/>
</class>
<class id="cdfm" controller="open-ils.cstore open-ils.pcrud"
- oils_persist:tablename="config.display_field_map"
- oils_obj:fieldmapper="config::display_field_map"
- oils_persist:field_safe="true"
- reporter:label="Display Field Map">
+ oils_persist:tablename="config.display_field_map"
+ oils_obj:fieldmapper="config::display_field_map"
+ oils_persist:field_safe="true"
+ reporter:label="Display Field Map">
<fields oils_persist:primary="name">
<field name="name" reporter:datatype="text"/>
<field name="field" reporter:datatype="link"/>
</class>
<class id="mfe" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::field_entry" reporter:label="Combined Field Entry View" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
- SELECT * FROM metabib.author_field_entry
- UNION ALL
- SELECT * FROM metabib.keyword_field_entry
- UNION ALL
- SELECT * FROM metabib.identifier_field_entry
- UNION ALL
- SELECT * FROM metabib.title_field_entry
- UNION ALL
- SELECT * FROM metabib.subject_field_entry
- UNION ALL
- SELECT * FROM metabib.series_field_entry
+ SELECT * FROM metabib.author_field_entry
+ UNION ALL
+ SELECT * FROM metabib.keyword_field_entry
+ UNION ALL
+ SELECT * FROM metabib.identifier_field_entry
+ UNION ALL
+ SELECT * FROM metabib.title_field_entry
+ UNION ALL
+ SELECT * FROM metabib.subject_field_entry
+ UNION ALL
+ SELECT * FROM metabib.series_field_entry
]]></oils_persist:source_definition>
<fields>
<field name="field" reporter:datatype="link"/>
</class>
<class id="ocirccount" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circ_count" reporter:label="Open Circulation Count" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
-SELECT usr,
+ SELECT usr,
SUM(
- CASE
- WHEN (
- ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval < '1 day' AND due_date > 'now'))
- AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
- ) THEN 1
- ELSE 0
- END
+ CASE
+ WHEN (
+ ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval < '1 day' AND due_date > 'now'))
+ AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+ ) THEN 1
+ ELSE 0
+ END
) AS out,
SUM(
- CASE
- WHEN (
- ((fine_interval >= '1 day' AND due_date < 'today') OR (fine_interval < '1 day' AND due_date < 'now'))
- AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
- ) THEN 1
- ELSE 0
- END
+ CASE
+ WHEN (
+ ((fine_interval >= '1 day' AND due_date < 'today') OR (fine_interval < '1 day' AND due_date < 'now'))
+ AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+ ) THEN 1
+ ELSE 0
+ END
) AS overdue,
SUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LOST') THEN 1 ELSE 0 END) AS lost,
SUM( CASE WHEN stop_fines = 'CLAIMSRETURNED' THEN 1 ELSE 0 END) AS claims_returned,
SUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LONGOVERDUE') THEN 1 ELSE 0 END) AS long_overdue
- FROM action.circulation
- WHERE checkin_time IS NULL
- GROUP BY 1
+ FROM action.circulation
+ WHERE checkin_time IS NULL
+ GROUP BY 1
]]></oils_persist:source_definition>
<fields oils_persist:primary="usr">
<field reporter:label="User ID" name="usr" reporter:datatype="link"/>
</class>
<class id="ocirclist" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circ_list" reporter:label="Open Circulation List" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
-SELECT usr,
+ SELECT usr,
STRING_AGG(
- CASE
- WHEN (
- ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval < '1 day' AND due_date > 'now'))
- AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
- ) THEN id::TEXT
- ELSE '0'
- END
+ CASE
+ WHEN (
+ ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval < '1 day' AND due_date > 'now'))
+ AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+ ) THEN id::TEXT
+ ELSE '0'
+ END
,',') AS out,
STRING_AGG(
- CASE
- WHEN (
- ((fine_interval >= '1 day' AND due_date < 'today') OR (fine_interval < '1 day' AND due_date < 'now'))
- AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
- ) THEN id::TEXT
- ELSE '0'
- END
+ CASE
+ WHEN (
+ ((fine_interval >= '1 day' AND due_date < 'today') OR (fine_interval < '1 day' AND due_date < 'now'))
+ AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+ ) THEN id::TEXT
+ ELSE '0'
+ END
,',') AS overdue,
STRING_AGG( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LOST') THEN id::TEXT ELSE '0' END,',') AS lost,
STRING_AGG( CASE WHEN stop_fines = 'CLAIMSRETURNED' THEN id::TEXT ELSE '0' END,',') AS claims_returned,
STRING_AGG( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LONGOVERDUE') THEN id::TEXT ELSE '0' END,',') AS long_overdue
- FROM action.circulation
- WHERE checkin_time IS NULL
- GROUP BY 1
+ FROM action.circulation
+ WHERE checkin_time IS NULL
+ GROUP BY 1
]]></oils_persist:source_definition>
<fields oils_persist:primary="usr">
<field reporter:label="User ID" name="usr" reporter:datatype="link"/>
</links>
</class>
<class id="auch"
- controller="open-ils.cstore"
- oils_obj:fieldmapper="action::user_circ_history"
- oils_persist:tablename="action.usr_circ_history"
- reporter:label="User Checkout History">
+ controller="open-ils.cstore"
+ oils_obj:fieldmapper="action::user_circ_history"
+ oils_persist:tablename="action.usr_circ_history"
+ reporter:label="User Checkout History">
<fields oils_persist:primary="id" oils_persist:sequence="action.usr_circ_history_id_seq">
<field reporter:label="ID" name="id" reporter:datatype="id"/>
<!-- prevent reporting on the user that owns the checkout history -->
<class id="ahopl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::hold_on_pull_list" reporter:label="Hold On Pull List" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
SELECT
- ahr.*,
- COALESCE(acplo.position, acpl_ordered.fallback_position) AS
- copy_location_order_position,
- CASE WHEN au.alias IS NOT NULL THEN
- au.alias
- ELSE
- au.first_given_name
- END AS usr_alias_or_first_given_name,
- au.first_given_name AS usr_first_given_name,
- au.second_given_name AS usr_second_given_name,
- au.family_name AS usr_family_name,
- au.prefix AS usr_prefix,
- au.suffix AS usr_suffix,
- au.alias AS usr_alias,
- CASE WHEN au.alias IS NOT NULL THEN
- au.alias
- ELSE
- REGEXP_REPLACE(ARRAY_TO_STRING(ARRAY[
- COALESCE(au.family_name, ''),
- COALESCE(au.suffix, ''),
- ', ',
- COALESCE(au.prefix, ''),
- COALESCE(au.first_given_name, ''),
- COALESCE(au.second_given_name, '')
- ], ' '), E'\\s+,', ',')
- END AS usr_alias_or_display_name,
- REGEXP_REPLACE(ARRAY_TO_STRING(ARRAY[
- COALESCE(au.family_name, ''),
- COALESCE(au.suffix, ''),
- ', ',
- COALESCE(au.prefix, ''),
- COALESCE(au.first_given_name, ''),
- COALESCE(au.second_given_name, '')
- ], ' '), E'\\s+,', ',') AS usr_display_name,
- TRIM(acnp.label || ' ' || acn.label || ' ' || acns.label)
- AS call_number_label,
- siss.label AS issuance_label,
- (ahr.usr <> ahr.requestor) AS is_staff_hold,
- ahcm_1.copy_count AS potential_copies
+ ahr.*,
+ COALESCE(acplo.position, acpl_ordered.fallback_position) AS
+ copy_location_order_position,
+ CASE WHEN au.alias IS NOT NULL THEN
+ au.alias
+ ELSE
+ au.first_given_name
+ END AS usr_alias_or_first_given_name,
+ au.first_given_name AS usr_first_given_name,
+ au.second_given_name AS usr_second_given_name,
+ au.family_name AS usr_family_name,
+ au.prefix AS usr_prefix,
+ au.suffix AS usr_suffix,
+ au.alias AS usr_alias,
+ CASE WHEN au.alias IS NOT NULL THEN
+ au.alias
+ ELSE
+ REGEXP_REPLACE(ARRAY_TO_STRING(ARRAY[
+ COALESCE(au.family_name, ''),
+ COALESCE(au.suffix, ''),
+ ', ',
+ COALESCE(au.prefix, ''),
+ COALESCE(au.first_given_name, ''),
+ COALESCE(au.second_given_name, '')
+ ], ' '), E'\\s+,', ',')
+ END AS usr_alias_or_display_name,
+ REGEXP_REPLACE(ARRAY_TO_STRING(ARRAY[
+ COALESCE(au.family_name, ''),
+ COALESCE(au.suffix, ''),
+ ', ',
+ COALESCE(au.prefix, ''),
+ COALESCE(au.first_given_name, ''),
+ COALESCE(au.second_given_name, '')
+ ], ' '), E'\\s+,', ',') AS usr_display_name,
+ TRIM(acnp.label || ' ' || acn.label || ' ' || acns.label)
+ AS call_number_label,
+ siss.label AS issuance_label,
+ (ahr.usr <> ahr.requestor) AS is_staff_hold,
+ ahcm_1.copy_count AS potential_copies
FROM action.hold_request ahr
JOIN asset.copy acp ON (acp.id = ahr.current_copy)
JOIN asset.call_number acn ON (acp.call_number = acn.id)
JOIN asset.call_number_suffix acns ON (acn.suffix = acns.id)
JOIN actor.usr au ON (au.id = ahr.usr)
JOIN (
- SELECT *, (ROW_NUMBER() OVER (ORDER BY name) + 1000000) AS fallback_position
- FROM asset.copy_location
+ SELECT *, (ROW_NUMBER() OVER (ORDER BY name) + 1000000) AS fallback_position
+ FROM asset.copy_location
) acpl_ordered ON (acpl_ordered.id = acp.location)
LEFT JOIN actor.usr_standing_penalty ausp
- ON (ahr.usr = ausp.usr AND (ausp.stop_date IS NULL OR ausp.stop_date > NOW()))
+ ON (ahr.usr = ausp.usr AND (ausp.stop_date IS NULL OR ausp.stop_date > NOW()))
LEFT JOIN config.standing_penalty csp
- ON (
- csp.id = ausp.standing_penalty AND
- csp.block_list LIKE '%CAPTURE%' AND (
- (csp.org_depth IS NULL AND ahr.pickup_lib = ausp.org_unit) OR
- (csp.org_depth IS NOT NULL AND ahr.pickup_lib IN (
- SELECT id FROM actor.org_unit_descendants(ausp.org_unit, csp.org_depth))
- )
- )
- )
+ ON (
+ csp.id = ausp.standing_penalty AND
+ csp.block_list LIKE '%CAPTURE%' AND (
+ (csp.org_depth IS NULL AND ahr.pickup_lib = ausp.org_unit) OR
+ (csp.org_depth IS NOT NULL AND ahr.pickup_lib IN (
+ SELECT id FROM actor.org_unit_descendants(ausp.org_unit, csp.org_depth))
+ )
+ )
+ )
JOIN (
- SELECT COUNT(target_copy) AS copy_count, hold
- FROM action.hold_copy_map
- GROUP BY 2
+ SELECT COUNT(target_copy) AS copy_count, hold
+ FROM action.hold_copy_map
+ GROUP BY 2
) ahcm_1 ON (ahcm_1.hold = ahr.id)
LEFT JOIN serial.issuance siss
- ON (ahr.hold_type = 'I' AND siss.id = ahr.target)
+ ON (ahr.hold_type = 'I' AND siss.id = ahr.target)
LEFT JOIN asset.copy_location_order acplo
- ON (acp.location = acplo.location AND
- acp.circ_lib = acplo.org)
+ ON (acp.location = acplo.location AND
+ acp.circ_lib = acplo.org)
WHERE
- ahr.capture_time IS NULL AND
- ahr.cancel_time IS NULL AND
- csp.id IS NULL AND
- (ahr.expire_time is NULL OR ahr.expire_time > NOW()) AND
- acp.status IN (0,7)
+ ahr.capture_time IS NULL AND
+ ahr.cancel_time IS NULL AND
+ csp.id IS NULL AND
+ (ahr.expire_time is NULL OR ahr.expire_time > NOW()) AND
+ acp.status IN (0,7)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<field reporter:label="Status" name="status" oils_persist:virtual="true" />
</class>
<class id="alhr" controller="open-ils.cstore" oils_obj:fieldmapper="action::last_hold_request" reporter:label="Last Captured Hold Request" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
- SELECT ahr.* FROM action.hold_request ahr JOIN (SELECT current_copy, MAX(capture_time) AS capture_time FROM action.hold_request WHERE capture_time IS NOT NULL AND current_copy IS NOT NULL AND fulfillment_time IS NULL GROUP BY current_copy)x USING (current_copy, capture_time)
+ SELECT ahr.* FROM action.hold_request ahr JOIN (SELECT current_copy, MAX(capture_time) AS capture_time FROM action.hold_request WHERE capture_time IS NOT NULL AND current_copy IS NOT NULL AND fulfillment_time IS NULL GROUP BY current_copy)x USING (current_copy, capture_time)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<field reporter:label="Status" name="status" oils_persist:virtual="true" />
<link field="editor" reltype="has_a" key="id" map="" class="au"/>
<link field="record" reltype="has_a" key="id" map="" class="bre"/>
</links>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
- <actions>
- <create permission="CREATE_RECORD_NOTE" global_required="true"/>
- <retrieve/>
- <update permission="UPDATE_RECORD_NOTE" global_required="true"/>
- <delete permission="DELETE_RECORD_NOTE" global_required="true"/>
- </actions>
- </permacrud>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="CREATE_RECORD_NOTE" global_required="true"/>
+ <retrieve/>
+ <update permission="UPDATE_RECORD_NOTE" global_required="true"/>
+ <delete permission="DELETE_RECORD_NOTE" global_required="true"/>
+ </actions>
+ </permacrud>
</class>
<class id="mucs" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_circulation_summary" oils_persist:tablename="money.usr_circulation_summary" reporter:label="User Circulation Summary">
<fields oils_persist:primary="usr" oils_persist:sequence="">
</permacrud>
</class>
<class id="map" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="money::aged_payment"
- oils_persist:tablename="money.aged_payment"
- reporter:label="Payments: Aged">
+ oils_obj:fieldmapper="money::aged_payment"
+ oils_persist:tablename="money.aged_payment"
+ reporter:label="Payments: Aged">
<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Payment ID" name="id" reporter:datatype="id" />
</permacrud>
</class>
<class id="mallp" controller="open-ils.cstore"
- oils_obj:fieldmapper="money::all_payments"
- oils_persist:tablename="money.all_payments"
- oils_persist="readonly" reporter:core="true"
- reporter:label="Payments: All">
+ oils_obj:fieldmapper="money::all_payments"
+ oils_persist:tablename="money.all_payments"
+ oils_persist="readonly" reporter:core="true"
+ reporter:label="Payments: All">
<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Payment ID" name="id" reporter:datatype="id" />
</permacrud>
</class>
<class id="mab" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="money::aged_billing"
- oils_persist:tablename="money.aged_billing"
- reporter:label="Aged Billing Line Item">
+ oils_obj:fieldmapper="money::aged_billing"
+ oils_persist:tablename="money.aged_billing"
+ reporter:label="Aged Billing Line Item">
<fields oils_persist:primary="id" oils_persist:sequence="money.billing_id_seq">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
</permacrud>
</class>
<class id="mallb" controller="open-ils.cstore"
- oils_obj:fieldmapper="money::all_billings"
- oils_persist:tablename="money.all_billings"
- oils_persist="readonly" reporter:label="All Billing Line Items">
+ oils_obj:fieldmapper="money::all_billings"
+ oils_persist:tablename="money.all_billings"
+ oils_persist="readonly" reporter:label="All Billing Line Items">
<fields oils_persist:primary="id" oils_persist:sequence="">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
<class id="aurs" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::user_request_status" reporter:label="User Purchase Request with Status" oils_persist="readonly">
<oils_persist:source_definition><![CDATA[
- SELECT r.*, CASE
- WHEN r.cancel_reason IS NOT NULL THEN 7 -- Canceled
- WHEN h.fulfillment_time IS NOT NULL THEN 6 -- Fulfilled
- WHEN l.state = 'received' THEN 5 -- Received
- WHEN p.state = 'on-order' AND h.id IS NOT NULL THEN 4 -- Ordered, Hold Placed
- WHEN p.state = 'on-order' AND h.id IS NULL THEN 3 -- Ordered, Hold Not Placed
- WHEN l.id IS NOT NULL THEN 2 -- Pending
- WHEN l.id IS NULL THEN 1 -- New
- ELSE 0 -- Error
- END AS request_status
- ,u.home_ou
- FROM acq.user_request r
- JOIN actor.usr u ON (r.usr = u.id)
- LEFT JOIN acq.lineitem l ON (r.lineitem = l.id)
- LEFT JOIN acq.purchase_order p ON (l.purchase_order = p.id)
- LEFT JOIN action.hold_request h ON (h.acq_request = r.id)
+ SELECT r.*, CASE
+ WHEN r.cancel_reason IS NOT NULL THEN 7 -- Canceled
+ WHEN h.fulfillment_time IS NOT NULL THEN 6 -- Fulfilled
+ WHEN l.state = 'received' THEN 5 -- Received
+ WHEN p.state = 'on-order' AND h.id IS NOT NULL THEN 4 -- Ordered, Hold Placed
+ WHEN p.state = 'on-order' AND h.id IS NULL THEN 3 -- Ordered, Hold Not Placed
+ WHEN l.id IS NOT NULL THEN 2 -- Pending
+ WHEN l.id IS NULL THEN 1 -- New
+ ELSE 0 -- Error
+ END AS request_status
+ ,u.home_ou
+ FROM acq.user_request r
+ JOIN actor.usr u ON (r.usr = u.id)
+ LEFT JOIN acq.lineitem l ON (r.lineitem = l.id)
+ LEFT JOIN acq.purchase_order p ON (l.purchase_order = p.id)
+ LEFT JOIN action.hold_request h ON (h.acq_request = r.id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector='label'/>
</permacrud>
</class>
- <class id="acqafat" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_allocation_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_allocation_total" reporter:label="All Fund Allocation Total">
+ <class id="acqafat" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_allocation_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_allocation_total" reporter:label="All Fund Allocation Total">
<fields oils_persist:primary="fund">
<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
<field reporter:label="Total Allocation Amount" name="amount" reporter:datatype="money" />
</links>
</class>
- <class id="acqafet" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_encumbrance_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_encumbrance_total" reporter:label="All Fund Encumbrance Total">
+ <class id="acqafet" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_encumbrance_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_encumbrance_total" reporter:label="All Fund Encumbrance Total">
<fields oils_persist:primary="fund">
<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
<field reporter:label="Total Encumbered Amount" name="amount" reporter:datatype="money" />
</links>
</class>
- <class id="acqafst" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_total" reporter:label="All Fund Spent Total">
+ <class id="acqafst" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_total" reporter:label="All Fund Spent Total">
<fields oils_persist:primary="fund">
<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
<field reporter:label="Total Spent Amount" name="amount" reporter:datatype="money" />
</links>
</class>
- <class id="acqafsb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_balance" reporter:label="All Fund Spent Balance">
+ <class id="acqafsb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_balance" reporter:label="All Fund Spent Balance">
<fields oils_persist:primary="fund">
<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
<field reporter:label="Total Spent Balance" name="amount" reporter:datatype="money" />
</links>
</class>
- <class id="acqafcb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_combined_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_combined_balance" reporter:label="All Fund Combined Total">
+ <class id="acqafcb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_combined_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_combined_balance" reporter:label="All Fund Combined Total">
<fields oils_persist:primary="fund">
<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
<field reporter:label="Total Combined Balance" name="amount" reporter:datatype="money" />
</class>
<class id="acqfsum" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="acq::fund_summary" reporter:label="Fund Summary" reporter:core="true" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
- SELECT
- acqf.*,
- COALESCE(acqfat.amount, 0.00) AS allocated_total,
- COALESCE(acqfst.amount, 0.00) AS spent_total,
- COALESCE(acqfet.amount, 0.00) AS encumbrance_total,
- COALESCE(acqfcb.amount, 0.00) AS combined_balance
- FROM
- acq.fund acqf
- LEFT JOIN acq.fund_allocation_total acqfat ON (acqfat.fund = acqf.id)
- LEFT JOIN acq.fund_spent_total acqfst ON (acqfst.fund = acqf.id)
- LEFT JOIN acq.fund_encumbrance_total acqfet ON (acqfet.fund = acqf.id)
- LEFT JOIN acq.fund_combined_balance acqfcb ON (acqfcb.fund = acqf.id)
+ SELECT
+ acqf.*,
+ COALESCE(acqfat.amount, 0.00) AS allocated_total,
+ COALESCE(acqfst.amount, 0.00) AS spent_total,
+ COALESCE(acqfet.amount, 0.00) AS encumbrance_total,
+ COALESCE(acqfcb.amount, 0.00) AS combined_balance
+ FROM
+ acq.fund acqf
+ LEFT JOIN acq.fund_allocation_total acqfat ON (acqfat.fund = acqf.id)
+ LEFT JOIN acq.fund_spent_total acqfst ON (acqfst.fund = acqf.id)
+ LEFT JOIN acq.fund_encumbrance_total acqfet ON (acqfet.fund = acqf.id)
+ LEFT JOIN acq.fund_combined_balance acqfcb ON (acqfcb.fund = acqf.id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="acq.fund_id_seq">
<field reporter:label="Fund ID" name="id" reporter:datatype="id" reporter:selector='code'/>
<class id="acqlipad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::lineitem_provider_attr_definition" oils_persist:tablename="acq.lineitem_provider_attr_definition" reporter:label="Line Item Provider Attribute Definition">
<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_attr_definition_id_seq">
- <field reporter:label="Definition ID" name="id" reporter:datatype="id" />
- <field reporter:label="Code" name="code" reporter:datatype="text" oils_obj:required="true" />
- <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true" />
- <field reporter:label="XPath" name="xpath" reporter:datatype="text" oils_obj:required="true" />
- <field reporter:label="Provider" name="provider" reporter:datatype="link" oils_obj:required="true" />
- <field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
- <field reporter:label="Remove" name="remove" reporter:datatype="text" />
+ <field reporter:label="Definition ID" name="id" reporter:datatype="id" />
+ <field reporter:label="Code" name="code" reporter:datatype="text" oils_obj:required="true" />
+ <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true" />
+ <field reporter:label="XPath" name="xpath" reporter:datatype="text" oils_obj:required="true" />
+ <field reporter:label="Provider" name="provider" reporter:datatype="link" oils_obj:required="true" />
+ <field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
+ <field reporter:label="Remove" name="remove" reporter:datatype="text" />
</fields>
<links>
- <link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+ <link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
</links>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
- <actions>
- <create permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </create>
- <retrieve permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </retrieve>
- <update permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </update>
- <delete permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </delete>
- </actions>
- </permacrud>
- </class>
-
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </create>
+ <retrieve permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </retrieve>
+ <update permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </update>
+ <delete permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </delete>
+ </actions>
+ </permacrud>
+ </class>
+
<class id="acqphsm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::provider_holding_subfield_map" oils_persist:tablename="acq.provider_holding_subfield_map" reporter:label="Provider Holding Subfield Map">
<fields oils_persist:primary="id" oils_persist:sequence="acq.provider_holding_subfield_map_id_seq">
- <field reporter:label="ID" name="id" reporter:datatype="id" />
- <field reporter:label="Provider" name="provider" reporter:datatype="link" oils_obj:required="true" />
- <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" />
- <field reporter:label="Subfield" name="subfield" reporter:datatype="text" oils_obj:required="true" />
+ <field reporter:label="ID" name="id" reporter:datatype="id" />
+ <field reporter:label="Provider" name="provider" reporter:datatype="link" oils_obj:required="true" />
+ <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" />
+ <field reporter:label="Subfield" name="subfield" reporter:datatype="text" oils_obj:required="true" />
</fields>
<links>
- <link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+ <link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
</links>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
- <actions>
- <create permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </create>
- <retrieve permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </retrieve>
- <update permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </update>
- <delete permission="ADMIN_PROVIDER">
- <context link="provider" field="owner"/>
- </delete>
- </actions>
- </permacrud>
- </class>
-
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </create>
+ <retrieve permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </retrieve>
+ <update permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </update>
+ <delete permission="ADMIN_PROVIDER">
+ <context link="provider" field="owner"/>
+ </delete>
+ </actions>
+ </permacrud>
+ </class>
+
<class id="acqlilad" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem_local_attr_definition" oils_persist:tablename="acq.lineitem_local_attr_definition" reporter:label="Line Item Local Attribute Definition">
<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_attr_definition_id_seq">
<field reporter:label="Definition ID" name="id" reporter:datatype="id" />
</class>
<class id="aea" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="acq::edi_attr"
- oils_persist:tablename="acq.edi_attr" reporter:label="EDI Attribute">
+ oils_obj:fieldmapper="acq::edi_attr"
+ oils_persist:tablename="acq.edi_attr" reporter:label="EDI Attribute">
<fields oils_persist:primary="key">
<field name="key" reporter:datatype="text" reporter:label="Key" reporter:selector="label"/>
<field name="label" reporter:datatype="text" reporter:label="Label"/>
</permacrud>
</class>
<class id="aeas" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="acq::edi_attr_set"
- oils_persist:tablename="acq.edi_attr_set" reporter:label="EDI Attribute Set">
+ oils_obj:fieldmapper="acq::edi_attr_set"
+ oils_persist:tablename="acq.edi_attr_set" reporter:label="EDI Attribute Set">
<fields oils_persist:primary="id" oils_persist:sequence="acq.edi_attr_set_id_seq">
<field name="id" reporter:datatype="id" reporter:label="ID" reporter:selector="label"/>
<field name="label" reporter:datatype="text" reporter:label="Label"/>
</permacrud>
</class>
<class id="aeasm" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="acq::edi_attr_set_map"
- oils_persist:tablename="acq.edi_attr_set_map" reporter:label="EDI Attribute Set Map">
+ oils_obj:fieldmapper="acq::edi_attr_set_map"
+ oils_persist:tablename="acq.edi_attr_set_map" reporter:label="EDI Attribute Set Map">
<fields oils_persist:primary="id" oils_persist:sequence="acq.edi_attr_set_map_id_seq">
<field name="id" reporter:datatype="id" reporter:label="ID" reporter:selector="label"/>
<field name="attr_set" reporter:datatype="link" reporter:label="Attribute Set"/>
<field reporter:label="Date of Birth" name="dob" reporter:datatype="text"/>
<field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
<field reporter:label="Requesting User" name="requesting_usr" reporter:datatype="link"/>
- <field reporter:label="Preferred First Name" name="pref_first_given_name" reporter:datatype="text"/>
- <field reporter:label="Preferred Middle Name" name="pref_second_given_name" reporter:datatype="text"/>
- <field reporter:label="Preferred Last Name" name="pref_family_name" reporter:datatype="text"/>
+ <field reporter:label="Preferred First Name" name="pref_first_given_name" reporter:datatype="text"/>
+ <field reporter:label="Preferred Middle Name" name="pref_second_given_name" reporter:datatype="text"/>
+ <field reporter:label="Preferred Last Name" name="pref_family_name" reporter:datatype="text"/>
</fields>
<links>
<link field="requesting_usr" reltype="has_a" key="id" map="" class="au"/>
<oils_persist:source_definition><![CDATA[
SELECT DISTINCT l.*
- FROM action.unfulfilled_hold_loops l
- JOIN action.unfulfilled_hold_max_loop m USING (hold)
- WHERE l.count = m.max
+ FROM action.unfulfilled_hold_loops l
+ JOIN action.unfulfilled_hold_max_loop m USING (hold)
+ WHERE l.count = m.max
]]></oils_persist:source_definition>
<fields>
oils_obj:fieldmapper="url_verify::session"
oils_persist:tablename="url_verify.session"
reporter:label="URL Verification Session"
- >
+ >
<fields oils_persist:primary="id" oils_persist:sequence="url_verify.session_id_seq">
<field reporter:label="Session ID" name="id" reporter:datatype="id"/>
<field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true"/>
<class id="uvsbrem" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="url_verify::session_biblio_record_entry_map" oils_persist:readonly="true" reporter:label="URL Verify Session Biblio Record Entry Map">
<oils_persist:source_definition><![CDATA[
- SELECT
- cbrebi.id AS id, -- so we can have a pkey in our view
- uvs.id AS session,
- uvs.owning_lib,
- cbrebi.target_biblio_record_entry
- FROM url_verify.session uvs
- JOIN container.biblio_record_entry_bucket cbreb
- ON (uvs.container = cbreb.id)
- JOIN container.biblio_record_entry_bucket_item cbrebi
- ON (cbrebi.bucket = cbreb.id)
+ SELECT
+ cbrebi.id AS id, -- so we can have a pkey in our view
+ uvs.id AS session,
+ uvs.owning_lib,
+ cbrebi.target_biblio_record_entry
+ FROM url_verify.session uvs
+ JOIN container.biblio_record_entry_bucket cbreb
+ ON (uvs.container = cbreb.id)
+ JOIN container.biblio_record_entry_bucket_item cbrebi
+ ON (cbrebi.bucket = cbreb.id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="container.biblio_record_entry_bucket_item_id_seq">
<field reporter:label="Bucket Item ID" name="id" reporter:datatype="id" />
oils_obj:fieldmapper="url_verify::url_selector"
oils_persist:tablename="url_verify.url_selector"
reporter:label="URL Verification URL Selector"
- >
+ >
<fields oils_persist:primary="id" oils_persist:sequence="url_verify.url_selector_id_seq">
<field reporter:label="URL Selector ID" name="id" reporter:datatype="id"/>
<field reporter:label="XPath" name="xpath" reporter:datatype="text" oils_obj:required="true"/>
oils_obj:fieldmapper="url_verify::url"
oils_persist:tablename="url_verify.url"
reporter:label="URL Verification URL"
- >
+ >
<fields oils_persist:primary="id" oils_persist:sequence="url_verify.url_id_seq">
<field reporter:label="URL ID" name="id" reporter:datatype="id"/>
<field reporter:label="Redirected From" name="redirect_from" reporter:datatype="link"/>
oils_obj:fieldmapper="url_verify::verification_attempt"
oils_persist:tablename="url_verify.verification_attempt"
reporter:label="URL Verification Attempt"
- >
+ >
<fields oils_persist:primary="id" oils_persist:sequence="url_verify.verification_attempt_id_seq">
<field reporter:label="Attempt ID" name="id" reporter:datatype="id"/>
<field reporter:label="User" name="usr" reporter:datatype="link"/>
oils_obj:fieldmapper="url_verify::url_verification"
oils_persist:tablename="url_verify.url_verification"
reporter:label="URL Verification"
- >
+ >
<fields oils_persist:primary="id" oils_persist:sequence="url_verify.url_verification_id_seq">
<field reporter:label="Verification ID" name="id" reporter:datatype="id"/>
<field reporter:label="URL" name="url" reporter:datatype="link"/>
<class id="rlcd" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::last_copy_deleted" oils_persist:readonly="true" reporter:core="true" reporter:label="Last Copy Delete Time">
<oils_persist:source_definition><![CDATA[
- SELECT b.id,
- MAX(dcp.edit_date) AS last_delete_date
- FROM biblio.record_entry b
- JOIN asset.call_number cn ON (cn.record = b.id)
- JOIN asset.copy dcp ON (cn.id = dcp.call_number)
- WHERE NOT b.deleted
- GROUP BY b.id
- HAVING SUM( CASE WHEN NOT dcp.deleted THEN 1 ELSE 0 END) = 0
+ SELECT b.id,
+ MAX(dcp.edit_date) AS last_delete_date
+ FROM biblio.record_entry b
+ JOIN asset.call_number cn ON (cn.record = b.id)
+ JOIN asset.copy dcp ON (cn.id = dcp.call_number)
+ WHERE NOT b.deleted
+ GROUP BY b.id
+ HAVING SUM( CASE WHEN NOT dcp.deleted THEN 1 ELSE 0 END) = 0
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
<field reporter:label="State ID" reporter:selector="label" name="id" reporter:datatype="text"/>
<field reporter:label="State Label" name="label" oils_persist:i18n="true" reporter:datatype="text"/>
</fields>
- <links/>
+ <links/>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve/>
<field reporter:label="State ID" reporter:selector="label" name="id" reporter:datatype="text"/>
<field reporter:label="State Label" name="label" oils_persist:i18n="true" reporter:datatype="text"/>
</fields>
- <links/>
+ <links/>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve/>
<class id="rhcrpb" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib" oils_persist:readonly="true" reporter:core="true" reporter:label="Hold/Copy Ratio per Bib">
<oils_persist:source_definition><![CDATA[
- SELECT
- x.id,
- COALESCE( y.copy_count, 0 ) AS copy_count,
- x.hold_count AS hold_count,
- CASE WHEN y.copy_count = 0 THEN 'Infinity'::FLOAT ELSE x.hold_count::FLOAT/y.copy_count::FLOAT END AS hold_copy_ratio
- FROM
- (SELECT bib_record as id, count(DISTINCT ahr.id) AS hold_count
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record
- )x
- JOIN
- (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record
- )y
- USING (id)
+ SELECT
+ x.id,
+ COALESCE( y.copy_count, 0 ) AS copy_count,
+ x.hold_count AS hold_count,
+ CASE WHEN y.copy_count = 0 THEN 'Infinity'::FLOAT ELSE x.hold_count::FLOAT/y.copy_count::FLOAT END AS hold_copy_ratio
+ FROM
+ (SELECT bib_record as id, count(DISTINCT ahr.id) AS hold_count
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record
+ )x
+ JOIN
+ (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record
+ )y
+ USING (id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
<field reporter:label="Record ID" name="id" reporter:datatype="id"/>
<class id="rhcrpbap" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib_and_pickup" oils_persist:readonly="true" reporter:label="Hold/Copy Ratio per Bib and Pickup Library">
<oils_persist:source_definition><![CDATA[
- SELECT *,
- CASE WHEN copy_count_at_pickup_library = 0 THEN 'Infinity'::FLOAT ELSE holds_at_pickup_library::FLOAT/copy_count_at_pickup_library END AS pickup_library_ratio,
- CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE holds_everywhere::FLOAT/copy_count_everywhere END AS everywhere_ratio
- FROM
- (SELECT bib_record as id, pickup_lib, count(DISTINCT ahr.id) AS holds_at_pickup_library
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND ahr.pickup_lib = ac.circ_lib)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record, pickup_lib
- )x
- JOIN
- (SELECT bib_record as id, pickup_lib, COALESCE(count(DISTINCT ac.id),0) as copy_count_at_pickup_library
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND ahr.pickup_lib = ac.circ_lib)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record, pickup_lib
- )y
- USING(id,pickup_lib)
- JOIN
- (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record
- )z
- USING (id)
- JOIN
- (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record
- )u
- USING (id)
+ SELECT *,
+ CASE WHEN copy_count_at_pickup_library = 0 THEN 'Infinity'::FLOAT ELSE holds_at_pickup_library::FLOAT/copy_count_at_pickup_library END AS pickup_library_ratio,
+ CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE holds_everywhere::FLOAT/copy_count_everywhere END AS everywhere_ratio
+ FROM
+ (SELECT bib_record as id, pickup_lib, count(DISTINCT ahr.id) AS holds_at_pickup_library
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND ahr.pickup_lib = ac.circ_lib)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record, pickup_lib
+ )x
+ JOIN
+ (SELECT bib_record as id, pickup_lib, COALESCE(count(DISTINCT ac.id),0) as copy_count_at_pickup_library
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND ahr.pickup_lib = ac.circ_lib)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record, pickup_lib
+ )y
+ USING(id,pickup_lib)
+ JOIN
+ (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record
+ )z
+ USING (id)
+ JOIN
+ (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record
+ )u
+ USING (id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
<field reporter:label="Record ID" name="id" reporter:datatype="link"/>
<class id="rhcrpbah" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib_and_home" oils_persist:readonly="true" reporter:label="Hold/Copy Ratio per Bib and Home Library">
<oils_persist:source_definition><![CDATA[
- SELECT *,
- CASE WHEN copy_count_at_home_library = 0 THEN 'Infinity'::FLOAT ELSE holds_at_home_library::FLOAT/copy_count_at_home_library END AS home_library_ratio,
- CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE holds_everywhere::FLOAT/copy_count_everywhere END AS everywhere_ratio
- FROM
- (SELECT bib_record as id, home_ou, count(DISTINCT ahr.id) AS holds_at_home_library
- FROM
- action.hold_request ahr
- JOIN actor.usr au ON (ahr.usr = au.id)
- JOIN reporter.hold_request_record rhrr ON (rhrr.id = ahr.id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND au.home_ou = ac.circ_lib)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record, home_ou
- )x
- JOIN
- (SELECT bib_record as id, home_ou, COALESCE(count(DISTINCT ac.id),0) as copy_count_at_home_library
- FROM
- action.hold_request ahr
- JOIN actor.usr au ON (ahr.usr = au.id)
- JOIN reporter.hold_request_record rhrr ON (rhrr.id = ahr.id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND au.home_ou = ac.circ_lib)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record, home_ou
- )y
- USING (id,home_ou)
- JOIN
- (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record
- )z
- USING (id)
- JOIN
- (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record
- )u
- USING (id)
- ]]></oils_persist:source_definition>
- <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
- <field reporter:label="Record ID" name="id" reporter:datatype="link"/>
- <field reporter:label="User Home Library" name="home_ou" reporter:datatype="org_unit"/>
- <field reporter:label="Active Holds at Home Library" name="holds_at_home_library" reporter:datatype="int"/>
- <field reporter:label="Holdable Copy Count at Home Library" name="copy_count_at_home_library" reporter:datatype="int"/>
- <field reporter:label="Active Holds Everywhere" name="holds_everywhere" reporter:datatype="int"/>
- <field reporter:label="Holdable Copy Count Everywhere" name="copy_count_everywhere" reporter:datatype="int"/>
- <field reporter:label="Hold/Copy Ratio at Home Library" name="home_library_ratio" reporter:datatype="float"/>
- <field reporter:label="Hold/Copy Ratio Everywhere" name="everywhere_ratio" reporter:datatype="float"/>
- </fields>
- <links>
- <link field="id" reltype="has_a" key="id" map="" class="bre"/>
- <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
- </links>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
- <actions>
- <retrieve/>
- </actions>
- </permacrud>
-</class>
+ SELECT *,
+ CASE WHEN copy_count_at_home_library = 0 THEN 'Infinity'::FLOAT ELSE holds_at_home_library::FLOAT/copy_count_at_home_library END AS home_library_ratio,
+ CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE holds_everywhere::FLOAT/copy_count_everywhere END AS everywhere_ratio
+ FROM
+ (SELECT bib_record as id, home_ou, count(DISTINCT ahr.id) AS holds_at_home_library
+ FROM
+ action.hold_request ahr
+ JOIN actor.usr au ON (ahr.usr = au.id)
+ JOIN reporter.hold_request_record rhrr ON (rhrr.id = ahr.id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND au.home_ou = ac.circ_lib)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record, home_ou
+ )x
+ JOIN
+ (SELECT bib_record as id, home_ou, COALESCE(count(DISTINCT ac.id),0) as copy_count_at_home_library
+ FROM
+ action.hold_request ahr
+ JOIN actor.usr au ON (ahr.usr = au.id)
+ JOIN reporter.hold_request_record rhrr ON (rhrr.id = ahr.id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id AND au.home_ou = ac.circ_lib)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record, home_ou
+ )y
+ USING (id,home_ou)
+ JOIN
+ (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record
+ )z
+ USING (id)
+ JOIN
+ (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record
+ )u
+ USING (id)
+ ]]></oils_persist:source_definition>
+ <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
+ <field reporter:label="Record ID" name="id" reporter:datatype="link"/>
+ <field reporter:label="User Home Library" name="home_ou" reporter:datatype="org_unit"/>
+ <field reporter:label="Active Holds at Home Library" name="holds_at_home_library" reporter:datatype="int"/>
+ <field reporter:label="Holdable Copy Count at Home Library" name="copy_count_at_home_library" reporter:datatype="int"/>
+ <field reporter:label="Active Holds Everywhere" name="holds_everywhere" reporter:datatype="int"/>
+ <field reporter:label="Holdable Copy Count Everywhere" name="copy_count_everywhere" reporter:datatype="int"/>
+ <field reporter:label="Hold/Copy Ratio at Home Library" name="home_library_ratio" reporter:datatype="float"/>
+ <field reporter:label="Hold/Copy Ratio Everywhere" name="everywhere_ratio" reporter:datatype="float"/>
+ </fields>
+ <links>
+ <link field="id" reltype="has_a" key="id" map="" class="bre"/>
+ <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
+ </links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <retrieve/>
+ </actions>
+ </permacrud>
+ </class>
<class id="rhcrpbapd" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib_and_pickup_desc" oils_persist:readonly="true" reporter:label="Hold/Copy Ratio per Bib and Pickup Library (and Descendants) ">
<oils_persist:source_definition><![CDATA[
- WITH counts_at_ou AS (
- SELECT a.id, a.pickup_lib_or_desc, a.holds_at_or_below, b.copy_count_at_or_below
- FROM
- (SELECT rhrr.bib_record AS id,
- aou.id AS pickup_lib_or_desc,
- COUNT(DISTINCT ahr.id) AS holds_at_or_below
- FROM actor.org_unit aou
- JOIN actor.org_unit_type aout ON (aou.ou_type = aout.id),
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id)
- WHERE ahr.cancel_time IS NULL AND ahr.fulfillment_time IS NULL
- AND ac.circ_lib IN (SELECT id FROM actor.org_unit_descendants(aou.id))
- AND (actor.org_unit_ancestor_at_depth(ahr.pickup_lib,aout.depth)).id = (actor.org_unit_ancestor_at_depth(ac.circ_lib,aout.depth)).id
- GROUP BY 1, 2
- ) a
- JOIN
- (SELECT rhrr.bib_record AS id,
- aou.id AS pickup_lib_or_desc,
- COALESCE(COUNT(DISTINCT ahcm.target_copy),0) AS copy_count_at_or_below
- FROM actor.org_unit aou
- JOIN actor.org_unit_type aout ON (aou.ou_type = aout.id),
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id)
- WHERE ahr.cancel_time IS NULL AND ahr.fulfillment_time IS NULL AND ahr.capture_time IS NULL AND NOT ahr.frozen
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- AND ac.circ_lib IN (SELECT id FROM actor.org_unit_descendants(aou.id))
- AND (actor.org_unit_ancestor_at_depth(ahr.pickup_lib,aout.depth)).id = (actor.org_unit_ancestor_at_depth(ac.circ_lib,aout.depth)).id
- GROUP BY 1, 2
- ) b
- USING (id,pickup_lib_or_desc)
- )
- SELECT x.id, x.pickup_lib_or_desc, x.holds_at_or_below, x.copy_count_at_or_below,
- y.holds_everywhere, z.copy_count_everywhere,
- CASE WHEN copy_count_at_or_below = 0 THEN 'Infinity'::FLOAT ELSE x.holds_at_or_below::FLOAT/x.copy_count_at_or_below END AS hold_copy_ratio_at_or_below_ou,
- CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE y.holds_everywhere::FLOAT/z.copy_count_everywhere END AS everywhere_ratio
- FROM counts_at_ou x
- JOIN
- (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- GROUP BY bib_record
- )y
- USING (id)
- JOIN
- (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
- FROM
- action.hold_request ahr
- JOIN reporter.hold_request_record rhrr USING (id)
- LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
- WHERE
- ahr.cancel_time IS NULL
- AND ahr.fulfillment_time IS NULL
- AND ahr.capture_time IS NULL
- AND ahr.frozen IS FALSE
- -- Comment out the next line to count copies included from other bibs by metarecord holds
- AND ahr.hold_type != 'M'
- GROUP BY bib_record
- )z
- USING (id)
+ WITH counts_at_ou AS (
+ SELECT a.id, a.pickup_lib_or_desc, a.holds_at_or_below, b.copy_count_at_or_below
+ FROM
+ (SELECT rhrr.bib_record AS id,
+ aou.id AS pickup_lib_or_desc,
+ COUNT(DISTINCT ahr.id) AS holds_at_or_below
+ FROM actor.org_unit aou
+ JOIN actor.org_unit_type aout ON (aou.ou_type = aout.id),
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id)
+ WHERE ahr.cancel_time IS NULL AND ahr.fulfillment_time IS NULL
+ AND ac.circ_lib IN (SELECT id FROM actor.org_unit_descendants(aou.id))
+ AND (actor.org_unit_ancestor_at_depth(ahr.pickup_lib,aout.depth)).id = (actor.org_unit_ancestor_at_depth(ac.circ_lib,aout.depth)).id
+ GROUP BY 1, 2
+ ) a
+ JOIN
+ (SELECT rhrr.bib_record AS id,
+ aou.id AS pickup_lib_or_desc,
+ COALESCE(COUNT(DISTINCT ahcm.target_copy),0) AS copy_count_at_or_below
+ FROM actor.org_unit aou
+ JOIN actor.org_unit_type aout ON (aou.ou_type = aout.id),
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ LEFT JOIN asset.copy ac ON (ahcm.target_copy = ac.id)
+ WHERE ahr.cancel_time IS NULL AND ahr.fulfillment_time IS NULL AND ahr.capture_time IS NULL AND NOT ahr.frozen
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ AND ac.circ_lib IN (SELECT id FROM actor.org_unit_descendants(aou.id))
+ AND (actor.org_unit_ancestor_at_depth(ahr.pickup_lib,aout.depth)).id = (actor.org_unit_ancestor_at_depth(ac.circ_lib,aout.depth)).id
+ GROUP BY 1, 2
+ ) b
+ USING (id,pickup_lib_or_desc)
+ )
+ SELECT x.id, x.pickup_lib_or_desc, x.holds_at_or_below, x.copy_count_at_or_below,
+ y.holds_everywhere, z.copy_count_everywhere,
+ CASE WHEN copy_count_at_or_below = 0 THEN 'Infinity'::FLOAT ELSE x.holds_at_or_below::FLOAT/x.copy_count_at_or_below END AS hold_copy_ratio_at_or_below_ou,
+ CASE WHEN copy_count_everywhere = 0 THEN 'Infinity'::FLOAT ELSE y.holds_everywhere::FLOAT/z.copy_count_everywhere END AS everywhere_ratio
+ FROM counts_at_ou x
+ JOIN
+ (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ GROUP BY bib_record
+ )y
+ USING (id)
+ JOIN
+ (SELECT bib_record as id, COALESCE(count(DISTINCT target_copy),0) as copy_count_everywhere
+ FROM
+ action.hold_request ahr
+ JOIN reporter.hold_request_record rhrr USING (id)
+ LEFT JOIN action.hold_copy_map ahcm ON (ahr.id = ahcm.hold)
+ WHERE
+ ahr.cancel_time IS NULL
+ AND ahr.fulfillment_time IS NULL
+ AND ahr.capture_time IS NULL
+ AND ahr.frozen IS FALSE
+ -- Comment out the next line to count copies included from other bibs by metarecord holds
+ AND ahr.hold_type != 'M'
+ GROUP BY bib_record
+ )z
+ USING (id)
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
<field reporter:label="Record ID" name="id" reporter:datatype="link"/>
<class id="rlc" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::last_circ_date" oils_persist:readonly="true" reporter:label="Last Circulation or Creation Date">
<oils_persist:source_definition><![CDATA[
- SELECT
- ac.id,
- COALESCE(MAX(actac.xact_start), ac.create_date) AS last_circ_or_create,
- MAX(actac.xact_start) AS last_circ
- FROM asset.copy ac
- LEFT JOIN action.all_circulation actac ON ac.id = actac.target_copy
- GROUP BY ac.id
-
- -- Alternate version, say if you have migrated last checkout information in extend_reporter.legacy_circ_timestamp:
- --SELECT
- -- ac.id,
- -- GREATEST(MAX(actac.xact_start), erlct.last_cko_ts, ac.create_date) AS last_circ_or_create,
- -- GREATEST(MAX(actac.xact_start), erlct.last_cko_ts) AS last_circ
- --FROM asset.copy ac
- -- LEFT JOIN action.all_circulation actac ON ac.id = actac.target_copy
- -- LEFT JOIN extend_reporter.legacy_circ_timestamp erlct ON ac.id = erlct.id
- --GROUP BY ac.id, ac.create_date, erlct.last_cko_ts
+ SELECT
+ ac.id,
+ COALESCE(MAX(actac.xact_start), ac.create_date) AS last_circ_or_create,
+ MAX(actac.xact_start) AS last_circ
+ FROM asset.copy ac
+ LEFT JOIN action.all_circulation actac ON ac.id = actac.target_copy
+ GROUP BY ac.id
+
+ -- Alternate version, say if you have migrated last checkout information in extend_reporter.legacy_circ_timestamp:
+ --SELECT
+ -- ac.id,
+ -- GREATEST(MAX(actac.xact_start), erlct.last_cko_ts, ac.create_date) AS last_circ_or_create,
+ -- GREATEST(MAX(actac.xact_start), erlct.last_cko_ts) AS last_circ
+ --FROM asset.copy ac
+ -- LEFT JOIN action.all_circulation actac ON ac.id = actac.target_copy
+ -- LEFT JOIN extend_reporter.legacy_circ_timestamp erlct ON ac.id = erlct.id
+ --GROUP BY ac.id, ac.create_date, erlct.last_cko_ts
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
<field reporter:label="Copy ID" name="id" reporter:datatype="link"/>
<class id="acrlid" controller="open-ils.cstore" oils_obj:fieldmapper="acq::claim_ready_lineitem_detail" oils_persist:readonly="true" reporter:label="Claim Ready Lineitem Details">
<oils_persist:source_definition><![CDATA[
- SELECT
- po.ordering_agency AS ordering_agency,
- po.id AS purchase_order,
- li.id AS lineitem,
- lid.id AS lineitem_detail,
- cpa.id AS claim_policy_action
- FROM
- acq.lineitem_detail lid
- JOIN acq.lineitem li ON (li.id = lid.lineitem)
- JOIN acq.purchase_order po ON (po.id = li.purchase_order)
- JOIN acq.claim_policy cp ON (li.claim_policy = cp.id)
- JOIN acq.claim_policy_action cpa ON (
- cpa.claim_policy = cp.id
-
- -- we only care about claim policy actions whose claim
- -- interval we'd reached or exceeded
- AND (NOW() - cpa.action_interval) > po.order_date
-
- -- filter out all claim policy actions where claim events
- -- have occurred on or after the action's action_interval
- AND NOT EXISTS (
- SELECT 1
- FROM
- acq.claim_event evt
- JOIN acq.claim claim ON (
- claim.id = evt.claim
- AND claim.lineitem_detail = lid.id
- )
- WHERE
- evt.event_date >= (po.order_date + cpa.action_interval)
- )
- )
- WHERE
- lid.cancel_reason IS NULL
- AND li.cancel_reason IS NULL -- belt/suspenders
- AND po.cancel_reason IS NULL -- belt/suspenders
- AND lid.recv_time IS NULL
- AND po.state = 'on-order'
- ORDER BY 1, 2, 3, 4, 5
+ SELECT
+ po.ordering_agency AS ordering_agency,
+ po.id AS purchase_order,
+ li.id AS lineitem,
+ lid.id AS lineitem_detail,
+ cpa.id AS claim_policy_action
+ FROM
+ acq.lineitem_detail lid
+ JOIN acq.lineitem li ON (li.id = lid.lineitem)
+ JOIN acq.purchase_order po ON (po.id = li.purchase_order)
+ JOIN acq.claim_policy cp ON (li.claim_policy = cp.id)
+ JOIN acq.claim_policy_action cpa ON (
+ cpa.claim_policy = cp.id
+
+ -- we only care about claim policy actions whose claim
+ -- interval we'd reached or exceeded
+ AND (NOW() - cpa.action_interval) > po.order_date
+
+ -- filter out all claim policy actions where claim events
+ -- have occurred on or after the action's action_interval
+ AND NOT EXISTS (
+ SELECT 1
+ FROM
+ acq.claim_event evt
+ JOIN acq.claim claim ON (
+ claim.id = evt.claim
+ AND claim.lineitem_detail = lid.id
+ )
+ WHERE
+ evt.event_date >= (po.order_date + cpa.action_interval)
+ )
+ )
+ WHERE
+ lid.cancel_reason IS NULL
+ AND li.cancel_reason IS NULL -- belt/suspenders
+ AND po.cancel_reason IS NULL -- belt/suspenders
+ AND lid.recv_time IS NULL
+ AND po.state = 'on-order'
+ ORDER BY 1, 2, 3, 4, 5
]]></oils_persist:source_definition>
<fields>
</class>
<class id="acqlisumi" controller="open-ils.cstore" oils_obj:fieldmapper="acq::lineitem_summary_invoiceable" oils_persist:readonly="true" reporter:label="Invoiceable Lineitem Summary">
<oils_persist:source_definition><![CDATA[
- SELECT * FROM acq.lineitem_summary
- WHERE item_count > (invoice_count + cancel_count)
+ SELECT * FROM acq.lineitem_summary
+ WHERE item_count > (invoice_count + cancel_count)
]]></oils_persist:source_definition>
<fields oils_persist:primary="lineitem" oils_persist:sequence="acq.lineitem_id_seq">
<field reporter:label="Lineitem" name="lineitem" reporter:datatype="link"/>
<class id="iatc" controller="open-ils.reporter-store" oils_obj:fieldmapper="action::intersystem_transit_copy" oils_persist:readonly="true" reporter:core="true" reporter:label="Inter-system Copy Transit">
<oils_persist:source_definition><![CDATA[
- SELECT t.*
- FROM action.transit_copy t
- JOIN actor.org_unit AS s ON (t.source = s.id)
- JOIN actor.org_unit AS d ON (t.dest = d.id)
- WHERE s.parent_ou <> d.parent_ou
+ SELECT t.*
+ FROM action.transit_copy t
+ JOIN actor.org_unit AS s ON (t.source = s.id)
+ JOIN actor.org_unit AS d ON (t.dest = d.id)
+ WHERE s.parent_ou <> d.parent_ou
]]></oils_persist:source_definition>
<fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
<class id="circbyyr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::circ_counts_by_year" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
- SELECT copy, SUM(count) AS count, year, is_renewal FROM (
+ SELECT copy, SUM(count) AS count, year, is_renewal FROM (
SELECT
- cp.id as copy,
- COUNT(circ.id),
- EXTRACT(YEAR FROM circ.xact_start) AS year,
- (phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
+ cp.id as copy,
+ COUNT(circ.id),
+ EXTRACT(YEAR FROM circ.xact_start) AS year,
+ (phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
FROM
- asset.copy cp
- JOIN action.circulation circ ON (cp.id = circ.target_copy)
+ asset.copy cp
+ JOIN action.circulation circ ON (cp.id = circ.target_copy)
GROUP BY 1, 3, 4
UNION ALL
SELECT
- cp.id as copy,
- COUNT(circ.id),
- EXTRACT(YEAR FROM circ.xact_start) AS year,
- (phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
+ cp.id as copy,
+ COUNT(circ.id),
+ EXTRACT(YEAR FROM circ.xact_start) AS year,
+ (phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
FROM
- asset.copy cp
- JOIN action.aged_circulation circ ON (cp.id = circ.target_copy)
+ asset.copy cp
+ JOIN action.aged_circulation circ ON (cp.id = circ.target_copy)
GROUP BY 1, 3, 4
UNION ALL
SELECT
- id as copy,
- circ_count,
- -1 AS year,
- false as is_renewal
+ id as copy,
+ circ_count,
+ -1 AS year,
+ false as is_renewal
FROM
- extend_reporter.legacy_circ_count
- )x GROUP BY 1, 3, 4
+ extend_reporter.legacy_circ_count
+ )x GROUP BY 1, 3, 4
]]></oils_persist:source_definition>
<fields>
<link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
<link field="status" reltype="has_a" key="id" map="" class="ccs"/>
<link field="stat_cat_1" reltype="might_have" key="id" map="" class="rsce1"/>
- <link field="stat_cat_2" reltype="might_have" key="id" map="" class="rsce2"/>
+ <link field="stat_cat_2" reltype="might_have" key="id" map="" class="rsce2"/>
</links>
</class>
<create permission="ADMIN_ACQ_FUND_TAG" context_field="owner"/>
<retrieve permission="ADMIN_ACQ_FUND_TAG ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND" context_field="owner"/>
<update permission="ADMIN_ACQ_FUND_TAG" context_field="owner"/>
- <delete permission="ADMIN_ACQ_FUND_TAG" context_field="owner"/>
+ <delete permission="ADMIN_ACQ_FUND_TAG" context_field="owner"/>
</actions>
</permacrud>
</class>
<links>
<link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
<link field="tag" reltype="has_a" key="id" map="" class="acqft"/>
- </links>
+ </links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<create permission="ADMIN_ACQ_FUND_TAG">
<class id="acqmapinv" controller="open-ils.cstore" oils_obj:fieldmapper="acq::map_to_invoice" reporter:label="Acq Map to Invoice View" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
SELECT
- poi.purchase_order AS purchase_order,
- ii.invoice AS invoice,
- NULL AS lineitem,
- poi.id AS po_item,
- NULL AS picklist
+ poi.purchase_order AS purchase_order,
+ ii.invoice AS invoice,
+ NULL AS lineitem,
+ poi.id AS po_item,
+ NULL AS picklist
FROM
- acq.po_item poi
- JOIN acq.invoice_item ii ON (ii.po_item = poi.id)
+ acq.po_item poi
+ JOIN acq.invoice_item ii ON (ii.po_item = poi.id)
UNION SELECT
- jub.purchase_order AS purchase_order,
- ie.invoice AS invoice,
- jub.id AS lineitem,
- NULL AS po_item,
- jub.picklist AS picklist
+ jub.purchase_order AS purchase_order,
+ ie.invoice AS invoice,
+ jub.id AS lineitem,
+ NULL AS po_item,
+ jub.picklist AS picklist
FROM
- acq.lineitem jub
- JOIN acq.invoice_entry ie ON (ie.lineitem = jub.id)
+ acq.lineitem jub
+ JOIN acq.invoice_entry ie ON (ie.lineitem = jub.id)
UNION SELECT
- ii.purchase_order AS purchase_order,
- ii.invoice AS invoice,
- NULL AS lineitem,
- NULL AS po_item,
- NULL AS picklist
+ ii.purchase_order AS purchase_order,
+ ii.invoice AS invoice,
+ NULL AS lineitem,
+ NULL AS po_item,
+ NULL AS picklist
FROM
- acq.invoice_item ii
+ acq.invoice_item ii
WHERE ii.po_item IS NULL
UNION SELECT
- ie.purchase_order AS purchase_order,
- ie.invoice AS invoice,
- NULL AS lineitem,
- NULL AS po_item,
- NULL AS picklist
+ ie.purchase_order AS purchase_order,
+ ie.invoice AS invoice,
+ NULL AS lineitem,
+ NULL AS po_item,
+ NULL AS picklist
FROM
- acq.invoice_entry ie
+ acq.invoice_entry ie
WHERE ie.lineitem IS NULL
UNION SELECT
- NULL AS purchase_order,
- NULL AS invoice,
- jub.id AS lineitem,
- NULL AS po_item,
- jub.picklist AS picklist
+ NULL AS purchase_order,
+ NULL AS invoice,
+ jub.id AS lineitem,
+ NULL AS po_item,
+ jub.picklist AS picklist
FROM
- acq.lineitem jub
+ acq.lineitem jub
WHERE jub.purchase_order IS NULL
]]></oils_persist:source_definition>
<fields>
</class>
<class id="hasholdscount" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::has_holds_count" reporter:label="Copy Has Holds Count" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
- SELECT ahcm.target_copy AS id,count(*) AS count
- FROM
- action.hold_request ahr,
- action.hold_copy_map ahcm
- WHERE
- ahr.cancel_time IS NULL AND
- ahr.fulfillment_time IS NULL AND
- ahr.capture_time IS NULL AND
- ahr.id = ahcm.hold
- GROUP BY ahcm.target_copy
+ SELECT ahcm.target_copy AS id,count(*) AS count
+ FROM
+ action.hold_request ahr,
+ action.hold_copy_map ahcm
+ WHERE
+ ahr.cancel_time IS NULL AND
+ ahr.fulfillment_time IS NULL AND
+ ahr.capture_time IS NULL AND
+ ahr.id = ahcm.hold
+ GROUP BY ahcm.target_copy
]]></oils_persist:source_definition>
<fields oils_persist:primary="id">
<field reporter:label="Copy ID" name="id" reporter:datatype="id"/>
<field reporter:label="Holds Count" name="count" reporter:datatype="text"/>
</fields>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <retrieve/>
+ <retrieve/>
</actions>
- </permacrud>
- </class>
+ </permacrud>
+ </class>
<class id="cwst" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="config::workstation_setting_type"
- oils_persist:tablename="config.workstation_setting_type"
- reporter:label="Workstation Setting Type">
+ oils_obj:fieldmapper="config::workstation_setting_type"
+ oils_persist:tablename="config.workstation_setting_type"
+ reporter:label="Workstation Setting Type">
<fields oils_persist:primary="name">
<field name="name" reporter:datatype="text"/>
<field name="label" reporter:datatype="text" oils_persist:i18n="true"/>
</class>
<!-- no pcrud access is granted for now, because it's assumed these
- setting values will be applied and retrived via the API. -->
+ setting values will be applied and retrived via the API. -->
<class id="awss"
- controller="open-ils.cstore"
- oils_obj:fieldmapper="actor::workstation_setting"
- oils_persist:tablename="actor.workstation_setting"
- reporter:label="Workstation Setting">
+ controller="open-ils.cstore"
+ oils_obj:fieldmapper="actor::workstation_setting"
+ oils_persist:tablename="actor.workstation_setting"
+ reporter:label="Workstation Setting">
<fields oils_persist:primary="id" oils_persist:sequence="actor.workstation_setting_id_seq">
<field reporter:label="Setting ID" name="id" reporter:datatype="id" />
<field reporter:label="Name" name="name" reporter:datatype="link"/>
</class>
<class id="cpt" controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="config::print_template"
- oils_persist:tablename="config.print_template"
- reporter:label="Print Templates">
+ oils_obj:fieldmapper="config::print_template"
+ oils_persist:tablename="config.print_template"
+ reporter:label="Print Templates">
<fields oils_persist:primary="id" oils_persist:sequence="config.print_template_id_seq">
<field name="id" reporter:datatype="id" reporter:selector="label"/>
<field name="name" reporter:datatype="text" oils_obj:required="true"/>
</class>
<class id="cct"
- controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="config::carousel_type"
- oils_persist:tablename="config.carousel_type"
- reporter:label="Carousel Types">
+ controller="open-ils.cstore open-ils.pcrud"
+ oils_obj:fieldmapper="config::carousel_type"
+ oils_persist:tablename="config.carousel_type"
+ reporter:label="Carousel Types">
<fields oils_persist:primary="id" oils_persist:sequence="config.carousel_type_id_seq">
<field reporter:label="Carousel Type ID" reporter:selector="name" name="id" reporter:datatype="id" />
<field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" oils_obj:i18n="true"/>
</class>
<class id="cc"
- controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="container::carousel"
- oils_persist:tablename="container.carousel"
- reporter:label="Carousels">
+ controller="open-ils.cstore open-ils.pcrud"
+ oils_obj:fieldmapper="container::carousel"
+ oils_persist:tablename="container.carousel"
+ reporter:label="Carousels">
<fields oils_persist:primary="id" oils_persist:sequence="container.carousel_id_seq">
<field reporter:label="Carousel ID" name="id" reporter:datatype="id" reporter:selector="name"/>
<field reporter:label="Carousel Type" name="type" reporter:datatype="link" oils_obj:required="true"/>
</class>
<class id="ccou"
- controller="open-ils.cstore open-ils.pcrud"
- oils_obj:fieldmapper="container::carousel_org_unit"
- oils_persist:tablename="container.carousel_org_unit"
- reporter:label="Carousels Visible at Library">
+ controller="open-ils.cstore open-ils.pcrud"
+ oils_obj:fieldmapper="container::carousel_org_unit"
+ oils_persist:tablename="container.carousel_org_unit"
+ reporter:label="Carousels Visible at Library">
<fields oils_persist:primary="id" oils_persist:sequence="container.carousel_org_unit_id_seq">
<field reporter:label="ID" name="id" reporter:datatype="id" />
<field reporter:label="Carousel" name="carousel" reporter:datatype="link"/>