From 644e1d96d55973d86f94a64eebc8b33957a2f827 Mon Sep 17 00:00:00 2001 From: Adam Bowling Date: Wed, 26 Aug 2020 15:58:14 -0400 Subject: [PATCH] Version 5 template additions --- config/IDL.json | 25757 ++++++++++++++++++++ controllers/template.controller.php | 2 +- images/PINESLogo.gif | Bin 0 -> 18694 bytes images/pinetree-banner.png | Bin 0 -> 7794 bytes install-ubuntu.sh | 0 models/report.class.php | 16 + models/temp.json | 1 + models/temp2.json | 1 + models/temp3.json | 2 + models/templateDecoder.class.php | 269 +- models/templateDecoder.class.php.20201216 | 355 + models/templateDecoder.class.php.202012162234.php | 355 + models/ver5_formatted.json | 503 + perl/execreports/erconfig.pl | 0 perl/execreports/erprocess.pl | 0 perl/execreports/erqueries.pl | 0 tester.20201216.php.bak | 266 + tester.php | 133 + update-installed.sh | 26 + ver5.json | 809 + views/baseReport.view.php | 16 +- views/report.view.php | 2 +- views/template.view.php | 2 +- views/terran_equal_in_list.json | 1 + views/terran_saved_list.json | 1 + 25 files changed, 28397 insertions(+), 120 deletions(-) create mode 100644 config/IDL.json create mode 100644 images/PINESLogo.gif create mode 100644 images/pinetree-banner.png mode change 100755 => 100644 install-ubuntu.sh create mode 100644 models/temp.json create mode 100644 models/temp2.json create mode 100644 models/temp3.json create mode 100644 models/templateDecoder.class.php.20201216 create mode 100644 models/templateDecoder.class.php.202012162234.php create mode 100644 models/ver5_formatted.json mode change 100755 => 100644 perl/execreports/erconfig.pl mode change 100755 => 100644 perl/execreports/erprocess.pl mode change 100755 => 100644 perl/execreports/erqueries.pl create mode 100644 tester.20201216.php.bak create mode 100644 tester.php create mode 100755 update-installed.sh create mode 100644 ver5.json create mode 100644 views/terran_equal_in_list.json create mode 100644 views/terran_saved_list.json diff --git a/config/IDL.json b/config/IDL.json new file mode 100644 index 0000000..e047cb5 --- /dev/null +++ b/config/IDL.json @@ -0,0 +1,25757 @@ +{ + "aaactsc": { + "name": "aaactsc", + "label": "Circ-Archived Patron Statistical Category Entries", + "table": "action.archive_actor_stat_cat", + "pkey": "id", + "pkey_sequence": "action.archive_actor_stat_cat_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "xact", + "label": "Circ", + "type": "link", + "key": "id", + "class": "combcirc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "label": "Statistical Category", + "type": "link", + "key": "id", + "class": "actsc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Entry Value", "datatype": "text" } + ] + }, + "aaasc": { + "name": "aaasc", + "label": "Circ-Archived Copy Statistical Category Entries", + "table": "action.archive_asset_stat_cat", + "pkey": "id", + "pkey_sequence": "action.archive_actor_stat_cat_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "xact", + "label": "Circ", + "type": "link", + "key": "id", + "class": "combcirc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "label": "Statistical Category", + "type": "link", + "key": "id", + "class": "asc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Entry Value", "datatype": "text" } + ] + }, + "aaca": { + "name": "aaca", + "label": "Active Copy Alert", + "table": "asset.active_copy_alert", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Id", "datatype": "id" }, + { + "name": "alert_type", + "label": "Alert Type", + "type": "link", + "key": "id", + "class": "ccat", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy", + "label": "Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "temp", "label": "Temporary", "datatype": "bool" }, + { + "name": "create_time", + "label": "Create Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_staff", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "ack_time", + "label": "Acknowledge Date/Time", + "datatype": "timestamp" + }, + { + "name": "ack_staff", + "label": "Acknowledger", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_ALERT", "CREATE_COPY_ALERT"] }, + "retrieve": { "perms": ["ADMIN_COPY_ALERT", "VIEW_COPY_ALERT"] }, + "update": { "perms": ["ADMIN_COPY_ALERT", "UPDATE_COPY_ALERT"] }, + "delete": { "perms": ["ADMIN_COPY_ALERT", "DELETE_COPY_ALERT"] } + } + }, + "aacct": { + "name": "aacct", + "label": "All Circulation Combined Types", + "table": "action.all_circulation_combined_types", + "core": true, + "fields": [ + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Circ ID", "datatype": "int" }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Create Date/Time", + "datatype": "timestamp" + }, + { "name": "circ_type", "label": "Circulation Type", "datatype": "text" }, + { "name": "item_type", "label": "Item Type", "datatype": "text" } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_CIRCULATIONS"] } } + }, + "aacs": { + "name": "aacs", + "label": "Combined Aged and Active circulations", + "table": "action.all_circulation_slim", + "core": true, + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "checkin_lib", + "label": "Check In Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "checkin_staff", + "label": "Check In Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Check In Date/Time", + "datatype": "timestamp" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "desk_renewal", "label": "Desk Renewal", "datatype": "bool" }, + { "name": "due_date", "label": "Due Date/Time", "datatype": "timestamp" }, + { + "name": "duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "duration_rule", + "label": "Circ Duration Rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "id", "label": "Circ ID", "datatype": "id" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "label": "OPAC Renewal", "datatype": "bool" }, + { "name": "phone_renewal", "label": "Phone Renewal", "datatype": "bool" }, + { + "name": "recurring_fine", + "label": "Recurring Fine Amount", + "datatype": "money" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "renewal_remaining", + "label": "Remaining Renewals", + "datatype": "int" + }, + { + "name": "grace_period", + "label": "Grace Period", + "datatype": "interval" + }, + { "name": "stop_fines", "label": "Fine Stop Reason", "datatype": "text" }, + { + "name": "stop_fines_time", + "label": "Fine Stop Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "parent_circ", + "label": "Parent Circulation", + "type": "link", + "key": "id", + "class": "acirc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "checkin_scan_time", + "label": "Checkin Scan Time", + "datatype": "timestamp" + }, + { + "name": "checkin_workstation", + "label": "Checkin Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "Patron", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "billings", + "label": "Transaction Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Transaction Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Base Transaction", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_type", + "label": "Circulation Type", + "virtual": true, + "type": "link", + "key": "id", + "class": "rcirct", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "aaactsc_entries", + "label": "Archived Patron Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaactsc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "aaasc_entries", + "label": "Archived Copy Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaasc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "active_circ", + "label": "Linked Active Circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "aged_circ", + "label": "Linked Aged Circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "acirc", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_CIRCULATIONS"] } } + }, + "aahr": { + "name": "aahr", + "label": "Aged Hold Request", + "table": "action.aged_hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "fields": [ + { + "name": "status", + "label": "Status", + "virtual": true, + "datatype": "text" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp" + }, + { + "name": "current_copy", + "label": "Currently Targeted Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "expire_time", + "label": "Hold Expire Date/Time", + "datatype": "timestamp" + }, + { + "name": "fulfillment_lib", + "label": "Fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "fulfillment_staff", + "label": "Fulfilling Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp" + }, + { "name": "hold_type", "label": "Hold Type", "datatype": "text" }, + { + "name": "holdable_formats", + "label": "Holdable Formats (for M-type hold)", + "datatype": "text" + }, + { "name": "id", "label": "Hold ID", "datatype": "id" }, + { + "name": "phone_notify", + "label": "Notify by Phone?", + "datatype": "bool" + }, + { "name": "sms_notify", "label": "Notify by SMS?", "datatype": "bool" }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "prev_check_time", + "label": "Last Targeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { "name": "usr_post_code", "label": "Patron ZIP", "datatype": "text" }, + { + "name": "usr_home_ou", + "label": "Patron Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_profile", + "label": "Patron Profile Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_birth_year", + "label": "Patron Birth Year", + "datatype": "int" + }, + { "name": "staff_placed", "label": "Staff Placed?", "datatype": "bool" }, + { + "name": "selection_depth", + "label": "Item Selection Depth", + "datatype": "text" + }, + { + "name": "selection_ou", + "label": "Selection Locus", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "target", "label": "Target Object ID", "datatype": "link" }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "bib_rec", + "label": "Bib Record link", + "virtual": true, + "type": "link", + "key": "id", + "class": "rhrr", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "frozen", "label": "Currently Frozen", "datatype": "bool" }, + { + "name": "thaw_date", + "label": "Activation Date", + "datatype": "timestamp" + }, + { "name": "shelf_time", "label": "Shelf Time", "datatype": "timestamp" }, + { + "name": "cancel_cause", + "label": "Cancelation cause", + "type": "link", + "key": "id", + "class": "ahrcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_note", + "label": "Cancelation note", + "datatype": "text" + }, + { "name": "cut_in_line", "label": "Top of Queue", "datatype": "bool" }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "shelf_expire_time", + "label": "Shelf Expire Time", + "datatype": "timestamp" + }, + { + "name": "current_shelf_lib", + "label": "Current Shelf Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_HOLD"] } } + }, + "aal": { + "name": "aal", + "label": "Address Alert", + "table": "actor.address_alert", + "pkey": "id", + "pkey_sequence": "actor.address_alert_id_seq", + "fields": [ + { "name": "id", "label": "Address Alert ID", "datatype": "id" }, + { + "name": "owner", + "label": "Owner", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { "name": "match_all", "label": "Match All Fields", "datatype": "bool" }, + { + "name": "alert_message", + "label": "Alert Message", + "required": true, + "datatype": "text" + }, + { "name": "street1", "label": "Street (1)", "datatype": "text" }, + { "name": "street2", "label": "Street (2)", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "post_code", "label": "Postal Code", "datatype": "text" }, + { + "name": "mailing_address", + "label": "Mailing Address", + "datatype": "bool" + }, + { + "name": "billing_address", + "label": "Billing Address", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ADDRESS_ALERT"] }, + "retrieve": { + "perms": ["ADMIN_ADDRESS_ALERT", "VIEW_ADDRESS_ALERT", "CREATE_USER"] + }, + "update": { "perms": ["ADMIN_ADDRESS_ALERT"] }, + "delete": { "perms": ["ADMIN_ADDRESS_ALERT"] } + } + }, + "aalink": { + "name": "aalink", + "label": "Authority to Authority Linking", + "table": "authority.authority_linking", + "pkey": "id", + "pkey_sequence": "authority.authority_linking_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "source", + "label": "Source Record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target", + "label": "Target Record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "field", + "label": "Authority Field", + "type": "link", + "key": "id", + "class": "acsaf", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "aba": { + "name": "aba", + "label": "Authority Browse Axis", + "table": "authority.browse_axis", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { + "name": "name", + "label": "Name", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "sorter", + "label": "Sorter Attribute", + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "description", "label": "Description", "datatype": "text" }, + { + "name": "fields", + "label": "Authority Fields", + "virtual": true, + "type": "link", + "key": "axis", + "class": "abaafm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "maps", + "label": "Authority Field Maps", + "virtual": true, + "type": "link", + "key": "axis", + "class": "abaafm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "abaafm": { + "name": "abaafm", + "label": "Authority Browse Axis Field Map", + "table": "authority.browse_axis_authority_field_map", + "pkey": "id", + "pkey_sequence": "authority.browse_axis_authority_field_map_id_seq", + "fields": [ + { + "name": "id", + "label": "Axis Authority Field Map ID", + "datatype": "id" + }, + { + "name": "field", + "label": "Authority Field", + "required": true, + "type": "link", + "key": "id", + "class": "acsaf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "axis", + "label": "Axis", + "required": true, + "type": "link", + "key": "code", + "class": "aba", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "abl": { + "name": "abl", + "label": "Authority-Bibliographic Record Link", + "table": "authority.bib_linking", + "pkey": "id", + "pkey_sequence": "authority.bib_linking_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "bib", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "authority", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "ac": { + "name": "ac", + "label": "Library Card", + "table": "actor.card", + "pkey": "id", + "pkey_sequence": "actor.card_id_seq", + "fields": [ + { "name": "active", "label": "IsActive?", "datatype": "bool" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { "name": "id", "label": "Card ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER", "user_request.view"] } } + }, + "aca": { + "name": "aca", + "label": "Copy Alert", + "table": "asset.copy_alert", + "pkey": "id", + "pkey_sequence": "asset.copy_alert_id_seq", + "fields": [ + { "name": "id", "label": "Id", "datatype": "id" }, + { + "name": "alert_type", + "label": "Alert Type", + "type": "link", + "key": "id", + "class": "ccat", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy", + "label": "Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "temp", "label": "Temporary", "datatype": "bool" }, + { + "name": "create_time", + "label": "Create Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_staff", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "ack_time", + "label": "Acknowledge Date/Time", + "datatype": "timestamp" + }, + { + "name": "ack_staff", + "label": "Acknowledger", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_ALERT", "CREATE_COPY_ALERT"] }, + "retrieve": { "perms": ["ADMIN_COPY_ALERT", "VIEW_COPY_ALERT"] }, + "update": { "perms": ["ADMIN_COPY_ALERT", "UPDATE_COPY_ALERT"] }, + "delete": { "perms": ["ADMIN_COPY_ALERT", "DELETE_COPY_ALERT"] } + } + }, + "acas": { + "name": "acas", + "label": "Copy Alert Suppression", + "table": "actor.copy_alert_suppress", + "pkey": "id", + "pkey_sequence": "actor.copy_alert_suppress_id_seq", + "fields": [ + { "name": "id", "label": "Id", "datatype": "id" }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "alert_type", + "label": "Alert Type", + "type": "link", + "key": "id", + "class": "ccat", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_COPY_ALERT_SUPPRESS", "CREATE_COPY_ALERT_SUPPRESS"] + }, + "retrieve": {}, + "update": { + "perms": ["ADMIN_COPY_ALERT_SUPPRESS", "UPDATE_COPY_ALERT_SUPPRESS"] + }, + "delete": { + "perms": ["ADMIN_COPY_ALERT_SUPPRESS", "DELETE_COPY_ALERT_SUPPRESS"] + } + } + }, + "accs": { + "name": "accs", + "label": "Circulation Chain Summary", + "virtual": true, + "fields": [ + { "name": "num_circs", "label": "Total Circs", "datatype": "int" }, + { "name": "start_time", "label": "Start Time", "datatype": "timestamp" }, + { + "name": "checkout_workstation", + "label": "Checkout Workstation", + "datatype": "text" + }, + { + "name": "last_renewal_time", + "label": "Last Renewal Time", + "datatype": "timestamp" + }, + { + "name": "last_stop_fines", + "label": "Last Stop Fines", + "datatype": "text" + }, + { + "name": "last_stop_fines_time", + "label": "Last Stop Fines Time", + "datatype": "timestamp" + }, + { + "name": "last_renewal_workstation", + "label": "Last Renewal Workstation", + "datatype": "text" + }, + { + "name": "last_checkin_workstation", + "label": "Last Checkin Workstation", + "datatype": "text" + }, + { + "name": "last_checkin_time", + "label": "Last Checkin Time", + "datatype": "timestamp" + }, + { + "name": "last_checkin_scan_time", + "label": "Last Checkin Scan Time", + "datatype": "timestamp" + } + ] + }, + "acirc": { + "name": "acirc", + "label": "Aged (patronless) Circulation", + "table": "action.aged_circulation", + "core": true, + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "checkin_lib", + "label": "Check In Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "checkin_staff", + "label": "Check In Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Check In Date/Time", + "datatype": "timestamp" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "desk_renewal", "label": "Desk Renewal", "datatype": "bool" }, + { "name": "due_date", "label": "Due Date/Time", "datatype": "timestamp" }, + { + "name": "duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "duration_rule", + "label": "Circ Duration Rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "id", "label": "Circ ID", "datatype": "id" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "label": "OPAC Renewal", "datatype": "bool" }, + { "name": "phone_renewal", "label": "Phone Renewal", "datatype": "bool" }, + { + "name": "recurring_fine", + "label": "Recurring Fine Amount", + "datatype": "money" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "renewal_remaining", + "label": "Remaining Renewals", + "datatype": "int" + }, + { + "name": "grace_period", + "label": "Grace Period", + "datatype": "interval" + }, + { "name": "stop_fines", "label": "Fine Stop Reason", "datatype": "text" }, + { + "name": "stop_fines_time", + "label": "Fine Stop Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "usr_post_code", "label": "Patron ZIP", "datatype": "text" }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_workstation", + "label": "Checkin Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_scan_time", + "label": "Checkin Scan Date/Time", + "datatype": "timestamp" + }, + { + "name": "parent_circ", + "label": "Parent Circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billings", + "label": "Transaction Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Transaction Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Base Transaction", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circ_type", + "label": "Circulation Type", + "virtual": true, + "type": "link", + "key": "id", + "class": "rcirct", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "usr_home_ou", + "label": "Patron Home Library", + "datatype": "link" + }, + { + "name": "usr_profile", + "label": "Patron Profile Group", + "datatype": "link" + }, + { + "name": "usr_birth_year", + "label": "Patron Birth Year", + "datatype": "int" + }, + { + "name": "copy_call_number", + "label": "Call Number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_location", + "label": "Shelving Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_owning_lib", + "label": "Copy Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_circ_lib", + "label": "Copy Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_bib_record", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "aaactsc_entries", + "label": "Archived Patron Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaactsc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "aaasc_entries", + "label": "Archived Copy Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaasc", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "acn": { + "name": "acn", + "label": "Call Number/Volume", + "table": "asset.call_number", + "pkey": "id", + "pkey_sequence": "asset.call_number_id_seq", + "fields": [ + { + "name": "copies", + "label": "Copies", + "virtual": true, + "type": "link", + "key": "call_number", + "class": "acp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creating User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted", "datatype": "bool" }, + { + "name": "edit_date", + "label": "Last Edit Date/Time", + "datatype": "timestamp" + }, + { + "name": "editor", + "label": "Last Editing User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Call Number/Volume ID", "datatype": "id" }, + { "name": "label", "label": "Call Number Label", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "record", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "call_number", + "class": "acnn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "uri_maps", + "label": "URI Maps", + "virtual": true, + "type": "link", + "key": "call_number", + "class": "auricnm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "uris", + "label": "URIs", + "virtual": true, + "type": "link", + "key": "call_number", + "class": "auricnm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "label_sortkey", + "label": "Call Number Sort Key", + "datatype": "text" + }, + { + "name": "label_class", + "label": "Classification Scheme", + "type": "link", + "key": "id", + "class": "acnc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "prefix", + "label": "Prefix", + "type": "link", + "key": "id", + "class": "acnp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "suffix", + "label": "Suffix", + "type": "link", + "key": "id", + "class": "acns", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_VOLUME"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_VOLUME"] }, + "delete": { "perms": ["DELETE_VOLUME"] } + } + }, + "acnc": { + "name": "acnc", + "label": "Call number classification scheme", + "table": "asset.call_number_class", + "pkey": "id", + "pkey_sequence": "asset.call_number_class_id_seq", + "fields": [ + { "name": "id", "label": "Call number class ID", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "normalizer", + "label": "Normalizer function", + "datatype": "text" + }, + { "name": "field", "label": "Call number fields", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "acnn": { + "name": "acnn", + "label": "Call Number Note", + "table": "asset.call_number_note", + "pkey": "id", + "pkey_sequence": "asset.call_number_note_id_seq", + "fields": [ + { + "name": "call_number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "create_date", "datatype": "timestamp" }, + { "name": "creator", "datatype": "link" }, + { "name": "id", "datatype": "id" }, + { "name": "pub", "datatype": "bool" }, + { "name": "title", "datatype": "text" }, + { "name": "value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_VOLUME_NOTE"] }, + "retrieve": { "perms": ["VIEW_VOLUME_NOTES"] }, + "update": { "perms": ["UPDATE_VOLUME_NOTE"] }, + "delete": { "perms": ["DELETE_VOLUME_NOTE"] } + } + }, + "acnp": { + "name": "acnp", + "label": "Call Number/Volume Prefix", + "table": "asset.call_number_prefix", + "pkey": "id", + "pkey_sequence": "asset.call_number_prefix_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "label_sortkey", + "label": "Label Sort Key", + "datatype": "text" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_VOLUME_PREFIX"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_VOLUME_PREFIX"] }, + "delete": { "perms": ["DELETE_VOLUME_PREFIX"] } + } + }, + "acns": { + "name": "acns", + "label": "Call Number/Volume Suffix", + "table": "asset.call_number_suffix", + "pkey": "id", + "pkey_sequence": "asset.call_number_suffix_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "label_sortkey", + "label": "Label Sort Key", + "datatype": "text" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_VOLUME_SUFFIX"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_VOLUME_SUFFIX"] }, + "delete": { "perms": ["DELETE_VOLUME_SUFFIX"] } + } + }, + "acp": { + "name": "acp", + "label": "Item", + "table": "asset.copy", + "core": true, + "pkey": "id", + "pkey_sequence": "asset.copy_id_seq", + "fields": [ + { + "name": "age_protect", + "label": "Age Hold Protection", + "type": "link", + "key": "id", + "class": "crahp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { + "name": "call_number", + "label": "Call Number/Volume", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_as_type", + "label": "Circulation Type (MARC)", + "type": "link", + "key": "code", + "class": "citm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "circulate", "label": "Can Circulate", "datatype": "bool" }, + { + "name": "copy_number", + "label": "Copy Number on Volume", + "datatype": "text" + }, + { + "name": "create_date", + "label": "Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "active_date", + "label": "Active Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creating User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted", "datatype": "bool" }, + { "name": "dummy_isbn", "label": "Dummy ISBN", "datatype": "text" }, + { "name": "deposit", "label": "Is Deposit Required", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "money" + }, + { + "name": "dummy_author", + "label": "Precat Dummy Author", + "datatype": "text" + }, + { + "name": "dummy_title", + "label": "Precat Dummy Title", + "datatype": "text" + }, + { + "name": "edit_date", + "label": "Last Edit Date/Time", + "datatype": "timestamp" + }, + { + "name": "editor", + "label": "Last Editing User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fine_level", "label": "Fine Level", "datatype": "int" }, + { "name": "holdable", "label": "Is Holdable", "datatype": "bool" }, + { "name": "id", "label": "Copy ID", "datatype": "id" }, + { "name": "loan_duration", "label": "Loan Duration", "datatype": "int" }, + { + "name": "location", + "label": "Shelving Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { "name": "price", "label": "Price", "datatype": "money" }, + { "name": "ref", "label": "Is Reference", "datatype": "bool" }, + { + "name": "status", + "label": "Copy Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "status_changed_time", + "label": "Copy Status Changed Time", + "datatype": "timestamp" + }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "floating", + "label": "Floating Group", + "type": "link", + "key": "id", + "class": "cfg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "cost", "label": "Cost", "datatype": "money" }, + { + "name": "notes", + "label": "Copy Notes", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "acpn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "stat_cat_entry_copy_maps", + "label": "Stat-Cat entry maps", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "ascecm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "circulations", + "label": "Circulations", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "aged_circulations", + "label": "Aged (patronless) Circulations", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "acirc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "all_circulations", + "label": "Combined Aged and Active Circulations", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "combcirc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "total_circ_count", + "label": "Total Circulations", + "virtual": true, + "type": "link", + "key": "id", + "class": "erfcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "last_circ", + "label": "Last Circulation Date", + "virtual": true, + "type": "link", + "key": "id", + "class": "rlc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "holds", + "label": "Holds", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "ahcm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "stat_cat_entries", + "label": "Statistical Category Entries", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "ascecm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "parts", + "label": "Monograph Parts", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "acpm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "peer_record_maps", + "label": "Peer Record Maps", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "bpbcm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "peer_records", + "label": "Peer Records", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "bpbcm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "last_captured_hold", + "label": "Last Captured Hold", + "virtual": true, + "type": "link", + "key": "current_copy", + "class": "alhr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "latest_inventory", + "label": "Latest Inventory", + "virtual": true, + "type": "link", + "key": "copy", + "class": "alci", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "holds_count", + "label": "Has Holds", + "virtual": true, + "type": "link", + "key": "id", + "class": "hasholdscount", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "tags", + "label": "Copy Tags", + "virtual": true, + "type": "link", + "key": "copy", + "class": "acptcm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "copy_alerts", + "label": "Copy Alerts", + "virtual": true, + "type": "link", + "key": "copy", + "class": "aca", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY"] }, + "delete": { "perms": ["DELETE_COPY"] } + } + }, + "acpl": { + "name": "acpl", + "label": "Copy/Shelving Location", + "table": "asset.copy_location", + "pkey": "id", + "pkey_sequence": "asset.copy_location_id_seq", + "fields": [ + { "name": "circulate", "label": "Can Circulate?", "datatype": "bool" }, + { "name": "holdable", "label": "Is Holdable?", "datatype": "bool" }, + { + "name": "hold_verify", + "label": "Hold Capture Requires Verification", + "datatype": "bool" + }, + { + "name": "id", + "label": "Location ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "opac_visible", + "label": "Is OPAC Visible?", + "datatype": "bool" + }, + { + "name": "owning_lib", + "label": "Owning Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "orders", + "label": "Copy Location Orders", + "virtual": true, + "type": "link", + "key": "location", + "class": "acplo", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "copies", + "label": "Copies", + "virtual": true, + "type": "link", + "key": "location", + "class": "acp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "label_prefix", + "label": "Label Prefix", + "i18n": true, + "datatype": "text" + }, + { + "name": "label_suffix", + "label": "Label Suffix", + "i18n": true, + "datatype": "text" + }, + { "name": "checkin_alert", "label": "Checkin Alert", "datatype": "bool" }, + { "name": "deleted", "label": "Is Deleted?", "datatype": "bool" }, + { "name": "url", "label": "URL", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_LOCATION"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY_LOCATION"] }, + "delete": { "perms": ["DELETE_COPY_LOCATION"] } + } + }, + "acplg": { + "name": "acplg", + "label": "Copy/Shelving Location Group", + "table": "asset.copy_location_group", + "pkey": "id", + "pkey_sequence": "asset.copy_location_group_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "opac_visible", + "label": "Is OPAC Visible?", + "datatype": "bool" + }, + { + "name": "owner", + "label": "Owning Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "pos", "label": "Position", "datatype": "int" }, + { "name": "top", "label": "Display Above Orgs", "datatype": "bool" }, + { + "name": "location_maps", + "label": "Copy Location Mappings", + "virtual": true, + "type": "link", + "key": "lgroup", + "class": "acplgm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] }, + "delete": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] } + } + }, + "acplgm": { + "name": "acplgm", + "label": "Copy/Shelving Location Group Map", + "table": "asset.copy_location_group_map", + "pkey": "id", + "pkey_sequence": "asset.copy_location_group_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "lgroup", + "label": "Group", + "type": "link", + "key": "id", + "class": "acplg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "location", + "label": "Copy Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] }, + "delete": { "perms": ["ADMIN_COPY_LOCATION_GROUP"] } + } + }, + "acplo": { + "name": "acplo", + "label": "Copy/Shelving Location Order", + "table": "asset.copy_location_order", + "pkey": "id", + "pkey_sequence": "asset.copy_location_order_id_seq", + "fields": [ + { "name": "id", "label": "Location Order ID", "datatype": "id" }, + { + "name": "location", + "label": "Location ID", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "position", "label": "Position", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_LOCATION_ORDER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_COPY_LOCATION_ORDER"] }, + "delete": { "perms": ["ADMIN_COPY_LOCATION_ORDER"] } + } + }, + "acpm": { + "name": "acpm", + "label": "Copy Monograph Part Map", + "table": "asset.copy_part_map", + "pkey": "id", + "pkey_sequence": "asset.copy_part_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "target_copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "part", + "type": "link", + "key": "id", + "class": "bmp", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["MAP_MONOGRAPH_PART"] }, + "retrieve": {}, + "update": { "perms": ["MAP_MONOGRAPH_PART"] }, + "delete": { "perms": ["MAP_MONOGRAPH_PART"] } + } + }, + "acpn": { + "name": "acpn", + "label": "Copy Note", + "table": "asset.copy_note", + "pkey": "id", + "pkey_sequence": "asset.copy_note_id_seq", + "fields": [ + { + "name": "create_date", + "label": "Note Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Note Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Note ID", "datatype": "id" }, + { + "name": "owning_copy", + "label": "Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pub", "label": "Is OPAC Visible?", "datatype": "bool" }, + { "name": "title", "label": "Note Title", "datatype": "text" }, + { "name": "value", "label": "Note Content", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_NOTE"] }, + "retrieve": { "perms": ["VIEW_COPY_NOTES"] }, + "update": { "perms": ["UPDATE_COPY_NOTE"] }, + "delete": { "perms": ["DELETE_COPY_NOTE"] } + } + }, + "acpt": { + "name": "acpt", + "label": "Copy Tags", + "table": "asset.copy_tag", + "pkey": "id", + "pkey_sequence": "asset.copy_tag_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "tag_type", + "label": "Copy Tag Type", + "type": "link", + "key": "code", + "class": "cctt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" }, + { "name": "staff_note", "label": "Staff Note", "datatype": "text" }, + { "name": "pub", "label": "Is OPAC Visible?", "datatype": "bool" }, + { + "name": "owner", + "label": "Owner", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_TAG"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_COPY_TAG"] }, + "delete": { "perms": ["ADMIN_COPY_TAG"] } + } + }, + "acptcm": { + "name": "acptcm", + "label": "Copy Tag Copy Map", + "table": "asset.copy_tag_copy_map", + "pkey": "id", + "pkey_sequence": "asset.copy_tag_copy_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "copy", + "label": "Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "tag", + "label": "Tag", + "type": "link", + "key": "id", + "class": "acpt", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["UPDATE_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY"] }, + "delete": { "perms": ["UPDATE_COPY"] } + } + }, + "acqafat": { + "name": "acqafat", + "label": "All Fund Allocation Total", + "table": "acq.all_fund_allocation_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Allocation Amount", + "datatype": "money" + } + ] + }, + "acqafcb": { + "name": "acqafcb", + "label": "All Fund Combined Total", + "table": "acq.all_fund_combined_balance", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Combined Balance", + "datatype": "money" + } + ] + }, + "acqafet": { + "name": "acqafet", + "label": "All Fund Encumbrance Total", + "table": "acq.all_fund_encumbrance_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Encumbered Amount", + "datatype": "money" + } + ] + }, + "acqafsb": { + "name": "acqafsb", + "label": "All Fund Spent Balance", + "table": "acq.all_fund_spent_balance", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Total Spent Balance", "datatype": "money" } + ] + }, + "acqafst": { + "name": "acqafst", + "label": "All Fund Spent Total", + "table": "acq.all_fund_spent_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Total Spent Amount", "datatype": "money" } + ] + }, + "acqcl": { + "name": "acqcl", + "label": "Claim", + "table": "acq.claim", + "pkey": "id", + "pkey_sequence": "acq.claim_id_seq", + "fields": [ + { "name": "id", "label": "Claim ID", "datatype": "id" }, + { + "name": "type", + "label": "Claim Type", + "type": "link", + "key": "id", + "class": "acqclt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem_detail", + "label": "Lineitem Detail", + "type": "link", + "key": "id", + "class": "acqlid", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "acqcle": { + "name": "acqcle", + "label": "Claim Event", + "table": "acq.claim_event", + "pkey": "id", + "pkey_sequence": "acq.claim_event_id_seq", + "fields": [ + { "name": "id", "label": "Claim Event ID", "datatype": "id" }, + { + "name": "type", + "label": "Claim Event Type", + "type": "link", + "key": "id", + "class": "acqclet", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claim", + "label": "Claim ID", + "type": "link", + "key": "id", + "class": "acqcl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "event_date", "label": "Event Date", "datatype": "timestamp" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" } + ] + }, + "acqclet": { + "name": "acqclet", + "label": "Claim Event Type", + "table": "acq.claim_event_type", + "pkey": "id", + "pkey_sequence": "acq.claim_event_type_id_seq", + "fields": [ + { + "name": "id", + "label": "Claim Event Type ID", + "selector": "code", + "datatype": "id" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" }, + { + "name": "library_initiated", + "label": "Library Initiated", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_CLAIM_EVENT_TYPE"] }, + "retrieve": { + "perms": [ + "ADMIN_ACQ_CLAIM_EVENT_TYPE", + "ADMIN_ACQ_CLAIM", + "VIEW_CLAIM", + "MANAGE_CLAIM" + ] + }, + "update": { "perms": ["ADMIN_ACQ_CLAIM_EVENT_TYPE"] }, + "delete": { "perms": ["ADMIN_ACQ_CLAIM_EVENT_TYPE"] } + } + }, + "acqclp": { + "name": "acqclp", + "label": "Claim Policy", + "table": "acq.claim_policy", + "pkey": "id", + "pkey_sequence": "acq.claim_policy_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Claim Policy Name", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CLAIM_POLICY"] }, + "retrieve": { "perms": ["ADMIN_CLAIM_POLICY", "VIEW_PROVIDER"] }, + "update": { "perms": ["ADMIN_CLAIM_POLICY"] }, + "delete": { "perms": ["ADMIN_CLAIM_POLICY"] } + } + }, + "acqclpa": { + "name": "acqclpa", + "label": "Claim Policy Action", + "table": "acq.claim_policy_action", + "pkey": "id", + "pkey_sequence": "acq.claim_policy_action_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "action", "datatype": "id" }, + { + "name": "claim_policy", + "label": "Claim Policy ID", + "type": "link", + "key": "id", + "class": "acqclp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "action_interval", + "label": "Action Interval", + "datatype": "interval" + }, + { + "name": "action", + "label": "Action (Event Type)", + "type": "link", + "key": "id", + "class": "acqclet", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CLAIM_POLICY"] }, + "retrieve": { "perms": ["ADMIN_CLAIM_POLICY", "VIEW_PROVIDER"] }, + "update": { "perms": ["ADMIN_CLAIM_POLICY"] }, + "delete": { "perms": ["ADMIN_CLAIM_POLICY"] } + } + }, + "acqclt": { + "name": "acqclt", + "label": "Claim Type", + "table": "acq.claim_type", + "pkey": "id", + "pkey_sequence": "acq.claim_type_id_seq", + "fields": [ + { + "name": "id", + "label": "Claim Type ID", + "selector": "code", + "datatype": "id" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_CLAIM_TYPE"] }, + "retrieve": { + "perms": [ + "ADMIN_ACQ_CLAIM_TYPE", + "ADMIN_ACQ_CLAIM", + "VIEW_CLAIM", + "MANAGE_CLAIM" + ] + }, + "update": { "perms": ["ADMIN_ACQ_CLAIM_TYPE"] }, + "delete": { "perms": ["ADMIN_ACQ_CLAIM_TYPE"] } + } + }, + "acqcr": { + "name": "acqcr", + "label": "Cancel Reason", + "table": "acq.cancel_reason", + "pkey": "id", + "pkey_sequence": "acq.cancel_reason_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "org_unit", + "label": "Using Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "keep_debits", "label": "Keep Debits?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_CANCEL_CAUSE"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_ACQ_CANCEL_CAUSE"] }, + "delete": { "perms": ["ADMIN_ACQ_CANCEL_CAUSE"] } + } + }, + "acqct": { + "name": "acqct", + "label": "Currency Type", + "table": "acq.currency_type", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Currency Code", + "selector": "label", + "datatype": "text" + }, + { + "name": "label", + "label": "Currency Label", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CURRENCY_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CURRENCY_TYPE"] }, + "delete": { "perms": ["ADMIN_CURRENCY_TYPE"] } + } + }, + "acqda": { + "name": "acqda", + "label": "Debit Attribution", + "table": "acq.debit_attribution", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Debit Attribution ID", "datatype": "id" }, + { + "name": "fund_debit", + "label": "Fund Debit", + "type": "link", + "key": "id", + "class": "acqfdeb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "debit_amount", "label": "Debit Amount", "datatype": "money" }, + { + "name": "funding_source_credit", + "label": "Funding Source Credit", + "type": "link", + "key": "id", + "class": "acqfscred", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "credit_amount", "label": "Credit Amount", "datatype": "money" } + ] + }, + "acqdf": { + "name": "acqdf", + "label": "Distribution Formula", + "table": "acq.distribution_formula", + "pkey": "id", + "pkey_sequence": "acq.distribution_formula_id_seq", + "fields": [ + { + "name": "id", + "label": "Formula ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Formula Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Formula Name", "datatype": "text" }, + { "name": "skip_count", "label": "Skip Count", "datatype": "int" }, + { + "name": "entries", + "label": "Entries", + "virtual": true, + "type": "link", + "key": "formula", + "class": "acqdfe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "use_count", + "label": "Use Count", + "virtual": true, + "datatype": "int" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] }, + "retrieve": { + "perms": ["CREATE_PURCHASE_ORDER", "ADMIN_ACQ_DISTRIB_FORMULA"] + }, + "update": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] }, + "delete": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] } + } + }, + "acqdfa": { + "name": "acqdfa", + "label": "Distribution Formula Application", + "table": "acq.distribution_formula_application", + "pkey": "id", + "pkey_sequence": "acq.distribution_formula_application_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { + "name": "formula", + "label": "Distribution Formula", + "type": "link", + "key": "id", + "class": "acqdf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem", + "label": "Lineitem", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "update": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "delete": { "perms": ["CREATE_PURCHASE_ORDER"] } + } + }, + "acqdfe": { + "name": "acqdfe", + "label": "Distribution Formula Entry", + "table": "acq.distribution_formula_entry", + "pkey": "id", + "pkey_sequence": "acq.distribution_formula_entry_id_seq", + "fields": [ + { "name": "id", "label": "Entry ID", "datatype": "id" }, + { + "name": "formula", + "label": "Formula ID", + "type": "link", + "key": "id", + "class": "acqdf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "position", "label": "Position", "datatype": "int" }, + { "name": "item_count", "label": "Item Count", "datatype": "int" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "location", + "label": "Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fund", + "label": "Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "collection_code", + "label": "Collection Code", + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] }, + "retrieve": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] }, + "update": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] }, + "delete": { "perms": ["ADMIN_ACQ_DISTRIB_FORMULA"] } + } + }, + "acqedi": { + "name": "acqedi", + "label": "EDI Account", + "table": "acq.edi_account", + "pkey": "id", + "pkey_sequence": "config.remote_account_id_seq", + "fields": [ + { + "name": "id", + "label": "EDI Account ID", + "selector": "label", + "datatype": "id" + }, + { "name": "label", "label": "Label", "datatype": "text" }, + { "name": "host", "label": "Host", "datatype": "text" }, + { "name": "username", "label": "Username", "datatype": "text" }, + { "name": "password", "label": "Password", "datatype": "text" }, + { "name": "account", "label": "Account", "datatype": "text" }, + { "name": "path", "label": "Path", "datatype": "text" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "last_activity", + "label": "Last Activity", + "datatype": "timestamp" + }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "in_dir", "label": "Incoming Directory", "datatype": "text" }, + { + "name": "vendacct", + "label": "Vendor Account Number", + "datatype": "text" + }, + { + "name": "vendcode", + "label": "Vendor Assigned Code", + "datatype": "text" + }, + { + "name": "attr_set", + "label": "EDI Attribute Set", + "type": "link", + "key": "id", + "class": "aeas", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "use_attrs", "label": "Use EDI Attributes", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqedim": { + "name": "acqedim", + "label": "EDI Message", + "table": "acq.edi_message", + "pkey": "id", + "pkey_sequence": "acq.edi_message_id_seq", + "fields": [ + { "name": "id", "label": "EDI Message ID", "datatype": "id" }, + { + "name": "account", + "label": "EDI Account", + "type": "link", + "key": "id", + "class": "acqedi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "remote_file", "label": "Filename", "datatype": "text" }, + { + "name": "create_time", + "label": "Time Created", + "datatype": "timestamp" + }, + { + "name": "translate_time", + "label": "Time Translated", + "datatype": "timestamp" + }, + { + "name": "process_time", + "label": "Time Processed", + "datatype": "timestamp" + }, + { + "name": "error_time", + "label": "Time of Error", + "datatype": "timestamp" + }, + { "name": "status", "label": "Status", "datatype": "text" }, + { "name": "edi", "label": "EDI Message Body", "datatype": "text" }, + { "name": "jedi", "label": "JEDI Message Body", "datatype": "text" }, + { "name": "error", "label": "Error", "datatype": "text" }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "message_type", "label": "Message Type", "datatype": "text" } + ], + "permacrud": { + "retrieve": { + "perms": ["ADMIN_PROVIDER", "MANAGE_PROVIDER", "VIEW_PROVIDER"] + }, + "update": { + "perms": ["ADMIN_PROVIDER", "MANAGE_PROVIDER", "VIEW_PROVIDER"] + }, + "delete": { + "perms": ["ADMIN_PROVIDER", "MANAGE_PROVIDER", "VIEW_PROVIDER"] + } + } + }, + "acqexr": { + "name": "acqexr", + "label": "Exchange Rate", + "table": "acq.exchange_rate", + "pkey": "id", + "pkey_sequence": "acq.exchange_rate_id_seq", + "fields": [ + { "name": "id", "label": "Exchange Rate ID", "datatype": "id" }, + { + "name": "from_currency", + "label": "From Currency", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "to_currency", + "label": "To Currency", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "ratio", "label": "Ratio", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CURRENCY_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CURRENCY_TYPE"] }, + "delete": { "perms": ["ADMIN_CURRENCY_TYPE"] } + } + }, + "acqf": { + "name": "acqf", + "label": "Fund", + "table": "acq.fund", + "pkey": "id", + "pkey_sequence": "acq.fund_id_seq", + "fields": [ + { + "name": "id", + "label": "Fund ID", + "selector": "code", + "datatype": "id" + }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "year", "label": "Year", "datatype": "int" }, + { + "name": "currency_type", + "label": "Currency Type", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "rollover", "label": "Rollover", "datatype": "bool" }, + { "name": "propagate", "label": "Propagate", "datatype": "bool" }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "balance_warning_percent", + "label": "Balance Warning Percent", + "datatype": "int" + }, + { + "name": "balance_stop_percent", + "label": "Balance Stop Percent", + "datatype": "int" + }, + { + "name": "summary", + "label": "Summary", + "virtual": true, + "datatype": "text" + }, + { + "name": "allocations", + "label": "Allocations", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfa", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "debits", + "label": "Debits", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfdeb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "tags", + "label": "Tags", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqftm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "allocation_total", + "label": "Allocation Total", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfat", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "debit_total", + "label": "Debit Total", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfdt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "encumbrance_total", + "label": "Encumbrance Total", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfet", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "spent_total", + "label": "Spent Total", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfst", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "combined_balance", + "label": "Combined Balance", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfcb", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "spent_balance", + "label": "Spent Balance", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqfsb", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND"] }, + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] }, + "update": { "perms": ["ADMIN_ACQ_FUND"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND"] } + } + }, + "acqfa": { + "name": "acqfa", + "label": "Fund Allocation", + "table": "acq.fund_allocation", + "pkey": "id", + "pkey_sequence": "acq.fund_allocation_id_seq", + "fields": [ + { "name": "id", "label": "Allocation ID", "datatype": "id" }, + { + "name": "fund", + "label": "Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "funding_source", + "label": "Funding Source", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "allocator", + "label": "Allocating User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { "name": "create_time", "label": "Create Time", "datatype": "timestamp" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND"] }, + "retrieve": { "perms": ["ADMIN_ACQ_FUND"] }, + "update": { "perms": ["ADMIN_ACQ_FUND"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND"] } + } + }, + "acqfap": { + "name": "acqfap", + "label": "Fund Allocation Percent", + "table": "acq.fund_allocation_percent", + "pkey": "id", + "pkey_sequence": "acq.fund_allocation_percent_id_seq", + "fields": [ + { "name": "id", "label": "Allocation ID", "datatype": "id" }, + { + "name": "funding_source", + "label": "Funding Source", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "fund_code", "label": "Fund Code", "datatype": "text" }, + { "name": "percent", "label": "Percent", "datatype": "float" }, + { + "name": "allocator", + "label": "Allocating User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { "name": "create_time", "label": "Create Time", "datatype": "timestamp" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND_ALLOCATION_PERCENT"] }, + "retrieve": { "perms": ["VIEW_ACQ_FUND_ALLOCATION_PERCENT"] }, + "update": { "perms": ["ADMIN_ACQ_FUND_ALLOCATION_PERCENT"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND_ALLOCATION_PERCENT"] } + } + }, + "acqfat": { + "name": "acqfat", + "label": "Fund Allocation Total", + "table": "acq.fund_allocation_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Allocation Amount", + "datatype": "money" + } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfc": { + "name": "acqfc", + "label": "Fiscal Calendar", + "table": "acq.fiscal_calendar", + "pkey": "id", + "pkey_sequence": "acq.fiscal_calendar_id_seq", + "fields": [ + { + "name": "id", + "label": "Fiscal Calendar ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Fiscal Calendar Name", "datatype": "text" }, + { + "name": "years", + "label": "Years", + "virtual": true, + "type": "link", + "key": "calendar", + "class": "acqfy", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] }, + "delete": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] } + } + }, + "acqfcb": { + "name": "acqfcb", + "label": "Fund Combined Balance", + "table": "acq.fund_combined_balance", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Balance after Spent and Encumbered", + "datatype": "money" + } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfdeb": { + "name": "acqfdeb", + "label": "Debit From Fund", + "table": "acq.fund_debit", + "pkey": "id", + "pkey_sequence": "acq.fund_debit_id_seq", + "fields": [ + { "name": "id", "label": "Debit ID", "datatype": "id" }, + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "origin_amount", + "label": "Origin Amount", + "datatype": "money" + }, + { + "name": "origin_currency_type", + "label": "Origin Currency", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "encumbrance", "label": "Encumbrance", "datatype": "bool" }, + { "name": "debit_type", "label": "Debit Type", "datatype": "text" }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { + "name": "invoice_entry", + "label": "Invoice Entry", + "type": "link", + "key": "id", + "class": "acqie", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND"] }, + "retrieve": { "perms": ["ADMIN_ACQ_FUND"] }, + "update": { "perms": ["ADMIN_ACQ_FUND"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND"] } + } + }, + "acqfdt": { + "name": "acqfdt", + "label": "Total Debit from Fund", + "table": "acq.fund_debit_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Total Debit Amount", "datatype": "money" } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfet": { + "name": "acqfet", + "label": "Total Fund Encumbrance", + "table": "acq.fund_encumbrance_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Encumbrance Amount", + "datatype": "money" + } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfs": { + "name": "acqfs", + "label": "Funding Source", + "table": "acq.funding_source", + "pkey": "id", + "pkey_sequence": "acq.funding_source_id_seq", + "fields": [ + { + "name": "id", + "label": "Funding Source ID", + "selector": "code", + "datatype": "id" + }, + { + "name": "name", + "label": "Funding Source Name", + "i18n": true, + "datatype": "text" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "currency_type", + "label": "Currency", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "summary", + "label": "Summary", + "virtual": true, + "datatype": "text" + }, + { + "name": "allocations", + "label": "Allocations", + "virtual": true, + "type": "link", + "key": "funding_source", + "class": "acqfa", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "credits", + "label": "Credits", + "virtual": true, + "type": "link", + "key": "funding_source", + "class": "acqfscred", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "fund_alloc_pcts", + "label": "Fund Allocation Percentages", + "virtual": true, + "type": "link", + "key": "funding_source", + "class": "acqfap", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_FUNDING_SOURCE"] }, + "retrieve": { + "perms": [ + "ADMIN_FUNDING_SOURCE", + "MANAGE_FUNDING_SOURCE", + "VIEW_FUNDING_SOURCE" + ] + }, + "update": { "perms": ["ADMIN_FUNDING_SOURCE"] }, + "delete": { "perms": ["ADMIN_FUNDING_SOURCE"] } + } + }, + "acqfsb": { + "name": "acqfsb", + "label": "Fund Spent Balance", + "table": "acq.fund_spent_balance", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Balance after Spent", "datatype": "money" } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfscred": { + "name": "acqfscred", + "label": "Credit to Funding Source", + "table": "acq.funding_source_credit", + "pkey": "id", + "pkey_sequence": "acq.funding_source_credit_id_seq", + "fields": [ + { "name": "id", "label": "Credit ID", "datatype": "id" }, + { + "name": "funding_source", + "label": "Funding Source ID", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "deadline_date", + "label": "Deadline Date", + "datatype": "timestamp" + }, + { + "name": "effective_date", + "label": "Effective Date", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_FUNDING_SOURCE"] }, + "retrieve": { "perms": ["ADMIN_FUNDING_SOURCE"] }, + "update": { "perms": ["ADMIN_FUNDING_SOURCE"] }, + "delete": { "perms": ["ADMIN_FUNDING_SOURCE"] } + } + }, + "acqfsrcat": { + "name": "acqfsrcat", + "label": "Total Allocation to Funding Source", + "table": "acq.funding_source_allocation_total", + "pkey": "funding_source", + "fields": [ + { + "name": "funding_source", + "label": "Funding Source", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Allocated from Funding Source", + "datatype": "money" + } + ] + }, + "acqfsrcb": { + "name": "acqfsrcb", + "label": "Funding Source Balance", + "table": "acq.funding_source_balance", + "pkey": "funding_source", + "fields": [ + { + "name": "funding_source", + "label": "Funding Source", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Balance Remaining", "datatype": "money" } + ] + }, + "acqfsrcct": { + "name": "acqfsrcct", + "label": "Total Credit to Funding Source", + "table": "acq.funding_source_credit_total", + "pkey": "funding_source", + "fields": [ + { + "name": "funding_source", + "label": "Funding Source", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "amount", + "label": "Total Credits to Funding Source", + "datatype": "money" + } + ] + }, + "acqfst": { + "name": "acqfst", + "label": "Total Spent from Fund", + "table": "acq.fund_spent_total", + "pkey": "fund", + "fields": [ + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Total Spent Amount", "datatype": "money" } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqfsum": { + "name": "acqfsum", + "label": "Fund Summary", + "core": true, + "source": "( 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) )", + "pkey": "id", + "pkey_sequence": "acq.fund_id_seq", + "fields": [ + { + "name": "id", + "label": "Fund ID", + "selector": "code", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "year", "label": "Year", "datatype": "int" }, + { + "name": "currency_type", + "label": "Currency Type", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "rollover", "label": "Rollover", "datatype": "bool" }, + { "name": "propagate", "label": "Propagate", "datatype": "bool" }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "balance_warning_percent", + "label": "Balance Warning Percent", + "datatype": "int" + }, + { + "name": "balance_stop_percent", + "label": "Balance Stop Percent", + "datatype": "int" + }, + { + "name": "allocated_total", + "label": "Total Allocated", + "datatype": "money" + }, + { "name": "spent_total", "label": "Total Spent", "datatype": "money" }, + { + "name": "encumbrance_total", + "label": "Total Encumbered", + "datatype": "money" + }, + { + "name": "combined_balance", + "label": "Remaining Balance", + "datatype": "money" + } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_ACQ_FUND", "VIEW_FUND", "MANAGE_FUND"] } + } + }, + "acqft": { + "name": "acqft", + "label": "Fund Tag", + "table": "acq.fund_tag", + "pkey": "id", + "pkey_sequence": "acq.fund_tag_id_seq", + "fields": [ + { "name": "id", "label": "Fund Tag ID", "datatype": "id" }, + { + "name": "owner", + "label": "Fund Tag Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Fund Tag Name", "datatype": "text" }, + { + "name": "map_entries", + "label": "Map Entries", + "virtual": true, + "type": "link", + "key": "fund", + "class": "acqftm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND_TAG"] }, + "retrieve": { + "perms": [ + "ADMIN_ACQ_FUND_TAG", + "ADMIN_ACQ_FUND", + "VIEW_FUND", + "MANAGE_FUND" + ] + }, + "update": { "perms": ["ADMIN_ACQ_FUND_TAG"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND_TAG"] } + } + }, + "acqftm": { + "name": "acqftm", + "label": "Fund Tag Map", + "table": "acq.fund_tag_map", + "pkey": "id", + "pkey_sequence": "acq.fund_tag_map_id_seq", + "fields": [ + { "name": "id", "label": "Map Entry ID", "datatype": "id" }, + { + "name": "fund", + "label": "Fund ID", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "tag", + "label": "Tag ID", + "type": "link", + "key": "id", + "class": "acqft", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FUND_TAG"] }, + "retrieve": { + "perms": [ + "ADMIN_ACQ_FUND_TAG", + "ADMIN_ACQ_FUND", + "VIEW_FUND", + "MANAGE_FUND" + ] + }, + "update": { "perms": ["ADMIN_ACQ_FUND_TAG"] }, + "delete": { "perms": ["ADMIN_ACQ_FUND_TAG"] } + } + }, + "acqftr": { + "name": "acqftr", + "label": "Fund Transfer", + "table": "acq.fund_transfer", + "pkey": "id", + "pkey_sequence": "acq.fund_transfer_id_seq", + "fields": [ + { "name": "id", "label": "Fund Transfer ID", "datatype": "id" }, + { + "name": "src_fund", + "label": "Source Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "src_amount", "label": "Source Amount", "datatype": "money" }, + { + "name": "dest_fund", + "label": "Destination Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest_amount", + "label": "Destination Amount", + "datatype": "money" + }, + { + "name": "transfer_time", + "label": "Transfer Time", + "datatype": "timestamp" + }, + { + "name": "transfer_user", + "label": "Transfer User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "funding_source_credit", + "label": "Funding Source Credit ID", + "type": "link", + "key": "id", + "class": "acqfscred", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "acqfy": { + "name": "acqfy", + "label": "Fiscal Year", + "table": "acq.fiscal_year", + "pkey": "id", + "pkey_sequence": "acq.fiscal_year_id_seq", + "fields": [ + { + "name": "id", + "label": "Fiscal Year ID", + "selector": "year", + "datatype": "id" + }, + { + "name": "calendar", + "label": "Calendar", + "type": "link", + "key": "id", + "class": "acqfc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "year", "label": "Fiscal Year", "datatype": "int" }, + { "name": "year_begin", "label": "Year Begin", "datatype": "timestamp" }, + { "name": "year_end", "label": "Year End", "datatype": "timestamp" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] }, + "delete": { "perms": ["ADMIN_ACQ_FISCAL_YEAR"] } + } + }, + "acqie": { + "name": "acqie", + "label": "Invoice Entry", + "table": "acq.invoice_entry", + "pkey": "id", + "pkey_sequence": "acq.invoice_entry_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "invoice", + "label": "Invoice", + "type": "link", + "key": "id", + "class": "acqinv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem", + "label": "PO Line Item", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "inv_item_count", + "label": "Invoice Item Count", + "datatype": "int" + }, + { + "name": "phys_item_count", + "label": "Physical Item Count", + "datatype": "int" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "billed_per_item", + "label": "Billed Cost per Item", + "datatype": "bool" + }, + { "name": "cost_billed", "label": "Cost Billed", "datatype": "money" }, + { "name": "actual_cost", "label": "Actual Cost", "datatype": "money" }, + { "name": "amount_paid", "label": "Amount Paid", "datatype": "money" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INVOICE"] }, + "retrieve": { "perms": ["ADMIN_INVOICE"] }, + "update": { "perms": ["ADMIN_INVOICE"] }, + "delete": { "perms": ["ADMIN_INVOICE"] } + } + }, + "acqii": { + "name": "acqii", + "label": "Non-bibliographic Invoice Item", + "table": "acq.invoice_item", + "pkey": "id", + "pkey_sequence": "acq.invoice_item_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "invoice", + "label": "Invoice", + "type": "link", + "key": "id", + "class": "acqinv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fund_debit", + "label": "Fund Debit", + "type": "link", + "key": "id", + "class": "acqfdeb", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "inv_item_type", + "label": "Invoice Item Type", + "type": "link", + "key": "code", + "class": "aiit", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "title", "label": "Title or Item Name", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { "name": "cost_billed", "label": "Cost Billed", "datatype": "money" }, + { "name": "actual_cost", "label": "Actual Cost", "datatype": "money" }, + { + "name": "fund", + "label": "Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount_paid", "label": "Amount Paid", "datatype": "money" }, + { + "name": "po_item", + "label": "Purchase Order Item", + "type": "link", + "key": "id", + "class": "acqpoi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "target", "label": "Target", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INVOICE"] }, + "retrieve": { "perms": ["ADMIN_INVOICE"] }, + "update": { "perms": ["ADMIN_INVOICE"] }, + "delete": { "perms": ["ADMIN_INVOICE"] } + } + }, + "acqim": { + "name": "acqim", + "label": "Invoice Method used by Vendor", + "table": "acq.invoice_method", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INVOICE_METHOD", "CREATE_INVOICE_METHOD"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INVOICE_METHOD", "UPDATE_INVOICE_METHOD"] }, + "delete": { "perms": ["ADMIN_INVOICE_METHOD", "DELETE_INVOICE_METHOD"] } + } + }, + "acqinv": { + "name": "acqinv", + "label": "Invoice", + "table": "acq.invoice", + "pkey": "id", + "pkey_sequence": "acq.invoice_id_seq", + "fields": [ + { "name": "id", "label": "Internal Invoice ID", "datatype": "id" }, + { + "name": "receiver", + "label": "Receiver", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "shipper", + "label": "Shipper", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "recv_date", "label": "Invoice Date", "datatype": "timestamp" }, + { + "name": "recv_method", + "label": "Receive Method", + "type": "link", + "key": "code", + "class": "acqim", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "inv_type", "label": "Invoice Type", "datatype": "text" }, + { "name": "inv_ident", "label": "Vendor Invoice ID", "datatype": "text" }, + { "name": "payment_auth", "label": "Payment Auth", "datatype": "text" }, + { + "name": "payment_method", + "label": "Payment Method", + "type": "link", + "key": "code", + "class": "acqipm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { "name": "close_date", "label": "Close Date", "datatype": "timestamp" }, + { + "name": "closed_by", + "label": "Closed By", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "entries", + "label": "Invoice Entries", + "virtual": true, + "type": "link", + "key": "invoice", + "class": "acqie", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "items", + "label": "Invoice Items", + "virtual": true, + "type": "link", + "key": "invoice", + "class": "acqii", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_INVOICE"] }, + "retrieve": { "perms": ["CREATE_INVOICE", "VIEW_INVOICE"] }, + "update": { "perms": ["CREATE_INVOICE"] }, + "delete": { "perms": ["CREATE_INVOICE"] } + } + }, + "acqipm": { + "name": "acqipm", + "label": "Invoice Payment Method", + "table": "acq.invoice_payment_method", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INVOICE_PAYMENT_METHOD"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INVOICE_PAYMENT_METHOD"] }, + "delete": { "perms": ["ADMIN_INVOICE_PAYMENT_METHOD"] } + } + }, + "acqlia": { + "name": "acqlia", + "label": "Line Item Attribute", + "table": "acq.lineitem_attr", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_id_seq", + "fields": [ + { "name": "id", "label": "Attribute Value ID", "datatype": "id" }, + { + "name": "lineitem", + "label": "Lineitem", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "attr_type", "label": "Type", "datatype": "text" }, + { "name": "attr_name", "label": "Name", "datatype": "text" }, + { "name": "attr_value", "label": "Value", "datatype": "text" }, + { + "name": "definition", + "label": "Definition", + "type": "link", + "key": "id", + "class": "acqliad", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "order_ident", "label": "Order Identifier", "datatype": "bool" } + ] + }, + "acqliad": { + "name": "acqliad", + "label": "Line Item Attribute Definition", + "table": "acq.lineitem_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" } + ], + "permacrud": { "retrieve": {} } + }, + "acqliat": { + "name": "acqliat", + "label": "Line Item Alert Text", + "table": "acq.lineitem_alert_text", + "pkey": "id", + "pkey_sequence": "acq.lineitem_alert_text_id_seq", + "fields": [ + { "name": "id", "label": "Alert Text ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ACQ_LINEITEM_ALERT_TEXT"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_ACQ_LINEITEM_ALERT_TEXT"] }, + "delete": { "perms": ["ADMIN_ACQ_LINEITEM_ALERT_TEXT"] } + } + }, + "acqlid": { + "name": "acqlid", + "label": "Line Item Detail", + "table": "acq.lineitem_detail", + "pkey": "id", + "pkey_sequence": "acq.lineitem_detail_id_seq", + "fields": [ + { "name": "id", "label": "Item Detail ID", "datatype": "id" }, + { + "name": "lineitem", + "label": "PO Line Item", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "eg_copy_id", + "label": "Evergreen Copy ID", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { "name": "cn_label", "label": "Call Number Label", "datatype": "text" }, + { + "name": "recv_time", + "label": "Actual Receive Date", + "datatype": "timestamp" + }, + { + "name": "receiver", + "label": "Receiving User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fund", + "label": "Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fund_debit", + "label": "Fund Debit", + "type": "link", + "key": "id", + "class": "acqfdeb", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "location", + "label": "Copy Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_modifier", + "label": "Circ Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "collection_code", + "label": "Collection Code", + "datatype": "text" + }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claims", + "label": "Claims", + "virtual": true, + "type": "link", + "key": "lineitem_detail", + "class": "acqcl", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "acqligad": { + "name": "acqligad", + "label": "Line Item Generated Attribute Definition", + "table": "acq.lineitem_generated_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" } + ] + }, + "acqlih": { + "name": "acqlih", + "label": "Line Item History", + "table": "acq.acq_lineitem_history", + "pkey": "audit_id", + "pkey_sequence": "acq.acq_lineitem_pkey_seq", + "fields": [ + { "name": "audit_id", "label": "Audit ID", "datatype": "id" }, + { "name": "audit_time", "label": "Audit Time", "datatype": "timestamp" }, + { "name": "audit_action", "label": "Audit Action", "datatype": "text" }, + { + "name": "id", + "label": "Lineitem ID", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "selector", + "label": "Selector", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "picklist", + "label": "Selection List", + "type": "link", + "key": "id", + "class": "acqpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "expected_recv_time", + "label": "Expected Receive Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { "name": "marc", "label": "MARC", "datatype": "text" }, + { + "name": "eg_bib_id", + "label": "Evergreen Bib ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "source_label", "label": "Source Label", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { + "name": "claim_policy", + "label": "Claim Policy", + "type": "link", + "key": "id", + "class": "acqclp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "estimated_unit_price", + "label": "Estimated Unit Price", + "datatype": "money" + }, + { + "name": "queued_record", + "label": "Queued Vandelay Record", + "type": "link", + "key": "id", + "class": "vqbr", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER", "VIEW_PURCHASE_ORDER"] } + } + }, + "acqlilad": { + "name": "acqlilad", + "label": "Line Item Local Attribute Definition", + "table": "acq.lineitem_local_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" } + ] + }, + "acqlimad": { + "name": "acqlimad", + "label": "Line Item MARC Attribute Definition", + "table": "acq.lineitem_marc_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" }, + { "name": "remove", "label": "Remove", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_LINEITEM_MARC_ATTR_DEF"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_LINEITEM_MARC_ATTR_DEF"] }, + "delete": { "perms": ["ADMIN_LINEITEM_MARC_ATTR_DEF"] } + } + }, + "acqlin": { + "name": "acqlin", + "label": "Line Item Note", + "table": "acq.lineitem_note", + "pkey": "id", + "pkey_sequence": "acq.lineitem_note_id_seq", + "fields": [ + { "name": "id", "label": "PO Line Item Note ID", "datatype": "id" }, + { + "name": "lineitem", + "label": "Line Item", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Note Value", "datatype": "text" }, + { + "name": "alert_text", + "label": "Alert Text", + "type": "link", + "key": "id", + "class": "acqliat", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "vendor_public", "label": "Vendor Public", "datatype": "bool" } + ] + }, + "acqlipad": { + "name": "acqlipad", + "label": "Line Item Provider Attribute Definition", + "table": "acq.lineitem_provider_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" }, + { "name": "remove", "label": "Remove", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqlisum": { + "name": "acqlisum", + "label": "Lineitem Summary", + "table": "acq.lineitem_summary", + "pkey": "lineitem", + "pkey_sequence": "acq.lineitem_id_seq", + "fields": [ + { + "name": "lineitem", + "label": "Lineitem", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "item_count", "label": "Item Count", "datatype": "int" }, + { "name": "recv_count", "label": "Receive Count", "datatype": "int" }, + { "name": "cancel_count", "label": "Cancel Count", "datatype": "int" }, + { "name": "delay_count", "label": "Delay Count", "datatype": "int" }, + { "name": "invoice_count", "label": "Invoice Count", "datatype": "int" }, + { "name": "claim_count", "label": "Claim Count", "datatype": "int" }, + { + "name": "estimated_amount", + "label": "Estimated Amount", + "datatype": "money" + }, + { + "name": "encumbrance_amount", + "label": "Encumbrance Amount", + "datatype": "money" + }, + { "name": "paid_amount", "label": "Paid Amount", "datatype": "money" } + ] + }, + "acqlisumi": { + "name": "acqlisumi", + "label": "Invoiceable Lineitem Summary", + "source": "( SELECT * FROM acq.lineitem_summary WHERE item_count > (invoice_count + cancel_count) )", + "pkey": "lineitem", + "pkey_sequence": "acq.lineitem_id_seq", + "fields": [ + { + "name": "lineitem", + "label": "Lineitem", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "item_count", "label": "Item Count", "datatype": "int" }, + { "name": "recv_count", "label": "Receive Count", "datatype": "int" }, + { "name": "cancel_count", "label": "Cancel Count", "datatype": "int" }, + { "name": "delay_count", "label": "Delay Count", "datatype": "int" }, + { "name": "invoice_count", "label": "Invoice Count", "datatype": "int" }, + { "name": "claim_count", "label": "Claim Count", "datatype": "int" }, + { + "name": "estimated_amount", + "label": "Estimated Amount", + "datatype": "money" + }, + { + "name": "encumbrance_amount", + "label": "Encumbrance Amount", + "datatype": "money" + }, + { "name": "paid_amount", "label": "Paid Amount", "datatype": "money" } + ] + }, + "acqliuad": { + "name": "acqliuad", + "label": "Line Item User Attribute Definition", + "table": "acq.lineitem_usr_attr_definition", + "pkey": "id", + "pkey_sequence": "acq.lineitem_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "ident", "label": "Is Identifier?", "datatype": "bool" } + ] + }, + "acqmapinv": { + "name": "acqmapinv", + "label": "Acq Map to Invoice View", + "source": "( SELECT 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) UNION SELECT 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) UNION SELECT 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 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 FROM 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 FROM acq.lineitem jub WHERE jub.purchase_order IS NULL )", + "fields": [ + { + "name": "purchase_order", + "label": "Purchase Order ID", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem", + "label": "Lineitem ID", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "invoice", + "label": "Invoice ID", + "type": "link", + "key": "id", + "class": "acqinv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "po_item", + "label": "Purchase Order Item ID", + "type": "link", + "key": "id", + "class": "acqpoi", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "picklist", + "label": "Picklist ID", + "type": "link", + "key": "id", + "class": "acqpl", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "acqofscred": { + "name": "acqofscred", + "label": "Ordered Funding Source Credit", + "table": "acq.ordered_funding_source_credit", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Ordered Fund Src ID", "datatype": "id" }, + { "name": "sort_priority", "label": "Sort Priority", "datatype": "int" }, + { "name": "sort_date", "label": "Sort Date", "datatype": "timestamp" }, + { + "name": "funding_source", + "label": "Funding Source ID", + "type": "link", + "key": "id", + "class": "acqfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "note", "label": "Note", "datatype": "text" } + ] + }, + "acqpa": { + "name": "acqpa", + "label": "Provider Address", + "table": "acq.provider_address", + "pkey": "id", + "pkey_sequence": "acq.provider_address_id_seq", + "fields": [ + { "name": "address_type", "label": "Address Type", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "post_code", "label": "Post Code", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "street1", "label": "Street 1", "datatype": "text" }, + { "name": "street2", "label": "Street 2", "datatype": "text" }, + { "name": "valid", "label": "Is Valid?", "datatype": "bool" }, + { "name": "fax_phone", "label": "Fax Phone", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqpc": { + "name": "acqpc", + "label": "Provider Contact", + "table": "acq.provider_contact", + "pkey": "id", + "pkey_sequence": "acq.provider_contact_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "role", "label": "Role", "datatype": "text" }, + { "name": "email", "label": "Email", "datatype": "text" }, + { "name": "phone", "label": "Phone", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqpca": { + "name": "acqpca", + "label": "Provider Contact Address", + "table": "acq.provider_contact_address", + "pkey": "id", + "pkey_sequence": "acq.provider_contact_address_id_seq", + "fields": [ + { "name": "address_type", "label": "Type", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "id", "label": "Address ID", "datatype": "id" }, + { "name": "post_code", "label": "Postal Code", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "street1", "label": "Street (1)", "datatype": "text" }, + { "name": "street2", "label": "Street (2)", "datatype": "text" }, + { + "name": "contact", + "label": "Contact", + "type": "link", + "key": "id", + "class": "acqpc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "valid", "label": "Valid Address?", "datatype": "bool" }, + { "name": "fax_phone", "label": "Fax Phone", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqphsm": { + "name": "acqphsm", + "label": "Provider Holding Subfield Map", + "table": "acq.provider_holding_subfield_map", + "pkey": "id", + "pkey_sequence": "acq.provider_holding_subfield_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "subfield", "label": "Subfield", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { "perms": ["ADMIN_PROVIDER"] }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqpl": { + "name": "acqpl", + "label": "Selection List", + "table": "acq.picklist", + "pkey": "id", + "pkey_sequence": "acq.picklist_id_seq", + "fields": [ + { + "name": "id", + "label": "Selection List ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "entries", + "label": "Entries", + "virtual": true, + "type": "link", + "key": "picklist", + "class": "jub", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "entry_count", + "label": "Entry Count", + "virtual": true, + "datatype": "text" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "retrieve": { "perms": ["CREATE_PICKLIST", "VIEW_PICKLIST"] } + } + }, + "acqpo": { + "name": "acqpo", + "label": "Purchase Order", + "table": "acq.purchase_order", + "pkey": "id", + "pkey_sequence": "acq.purchase_order_id_seq", + "fields": [ + { + "name": "id", + "label": "Purchase Order ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "state", "label": "State", "datatype": "text" }, + { + "name": "ordering_agency", + "label": "Ordering Agency", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "order_date", "label": "Order Date", "datatype": "timestamp" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "prepayment_required", + "label": "Prepayment Required", + "datatype": "bool" + }, + { + "name": "lineitems", + "label": "Line Items", + "virtual": true, + "type": "link", + "key": "purchase_order", + "class": "jub", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "purchase_order", + "class": "acqpon", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "lineitem_count", + "label": "Line Item Count", + "virtual": true, + "datatype": "int" + }, + { + "name": "amount_encumbered", + "label": "Amount Encumbered", + "virtual": true, + "datatype": "float" + }, + { + "name": "amount_spent", + "label": "Amount Spent", + "virtual": true, + "datatype": "float" + }, + { + "name": "amount_estimated", + "label": "Amount Estimated", + "virtual": true, + "datatype": "float" + }, + { + "name": "po_items", + "label": "PO Items", + "virtual": true, + "type": "link", + "key": "purchase_order", + "class": "acqpoi", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER", "VIEW_PURCHASE_ORDER"] }, + "update": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "delete": { "perms": ["CREATE_PURCHASE_ORDER"] } + } + }, + "acqpoh": { + "name": "acqpoh", + "label": "Purchase Order History", + "table": "acq.acq_purchase_order_history", + "pkey": "audit_id", + "pkey_sequence": "acq.acq_purchase_order_pkey_seq", + "fields": [ + { "name": "audit_id", "label": "Audit ID", "datatype": "id" }, + { "name": "audit_time", "label": "Audit Time", "datatype": "timestamp" }, + { "name": "audit_action", "label": "Audit Action", "datatype": "text" }, + { + "name": "id", + "label": "Purchase Order ID", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "ordering_agency", + "label": "Ordering Agency", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "order_date", "label": "Order Date", "datatype": "timestamp" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "prepayment_required", + "label": "Prepayment Required", + "datatype": "bool" + } + ], + "permacrud": { + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER", "VIEW_PURCHASE_ORDER"] } + } + }, + "acqpoi": { + "name": "acqpoi", + "label": "Purchase Order Item", + "table": "acq.po_item", + "pkey": "id", + "pkey_sequence": "acq.po_item_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fund_debit", + "label": "Fund Debit", + "type": "link", + "key": "id", + "class": "acqfdeb", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "inv_item_type", + "label": "Invoice Item Type", + "type": "link", + "key": "code", + "class": "aiit", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "estimated_cost", + "label": "Estimated Cost", + "datatype": "money" + }, + { + "name": "fund", + "label": "Fund", + "type": "link", + "key": "id", + "class": "acqf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "target", "label": "Target", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER", "VIEW_PURCHASE_ORDER"] }, + "update": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "delete": { "perms": ["CREATE_PURCHASE_ORDER"] } + } + }, + "acqpon": { + "name": "acqpon", + "label": "PO Note", + "table": "acq.po_note", + "pkey": "id", + "pkey_sequence": "acq.po_note_id_seq", + "fields": [ + { "name": "id", "label": "PO Note ID", "datatype": "id" }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Vote Value", "datatype": "text" }, + { "name": "vendor_public", "label": "Vendor Public", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "retrieve": { "perms": ["CREATE_PURCHASE_ORDER", "VIEW_PURCHASE_ORDER"] }, + "update": { "perms": ["CREATE_PURCHASE_ORDER"] }, + "delete": { "perms": ["CREATE_PURCHASE_ORDER"] } + } + }, + "acqpro": { + "name": "acqpro", + "label": "Provider", + "table": "acq.provider", + "pkey": "id", + "pkey_sequence": "acq.provider_id_seq", + "fields": [ + { + "name": "id", + "label": "Provider ID", + "selector": "code", + "datatype": "id" + }, + { + "name": "name", + "label": "Provider Name", + "i18n": true, + "datatype": "text" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "currency_type", + "label": "Currency", + "type": "link", + "key": "code", + "class": "acqct", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "code", "label": "Code", "datatype": "text" }, + { "name": "holding_tag", "label": "Holdings Tag", "datatype": "text" }, + { + "name": "addresses", + "label": "Addresses", + "virtual": true, + "type": "link", + "key": "provider", + "class": "acqpa", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "san", "label": "SAN", "datatype": "text" }, + { + "name": "edi_default", + "label": "EDI Default", + "type": "link", + "key": "id", + "class": "acqedi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "prepayment_required", + "label": "Prepayment Required", + "datatype": "bool" + }, + { "name": "url", "label": "URL", "datatype": "text" }, + { "name": "email", "label": "Email", "datatype": "text" }, + { "name": "phone", "label": "Phone", "datatype": "text" }, + { "name": "fax_phone", "label": "Fax Phone", "datatype": "text" }, + { + "name": "default_claim_policy", + "label": "Default Claim Policy", + "type": "link", + "key": "id", + "class": "acqclp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "default_copy_count", + "label": "Default # Copies", + "datatype": "int" + }, + { + "name": "provider_notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "provider", + "class": "acqpron", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": { + "perms": ["ADMIN_PROVIDER", "MANAGE_PROVIDER", "VIEW_PROVIDER"] + }, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "acqpron": { + "name": "acqpron", + "label": "Provider Note", + "table": "acq.provider_note", + "pkey": "id", + "pkey_sequence": "acq.provider_note_id_seq", + "fields": [ + { "name": "id", "label": "PO Note ID", "datatype": "id" }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Note Value", "datatype": "text" } + ] + }, + "acqscl": { + "name": "acqscl", + "label": "Serial Claim", + "table": "acq.serial_claim", + "pkey": "id", + "pkey_sequence": "acq.serial_claim_id_seq", + "fields": [ + { "name": "id", "label": "Claim ID", "datatype": "id" }, + { + "name": "type", + "label": "Claim Type", + "type": "link", + "key": "id", + "class": "acqclt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "item", + "label": "Serial Item", + "type": "link", + "key": "id", + "class": "sitem", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "acqscle": { + "name": "acqscle", + "label": "Serial Claim Event", + "table": "acq.serial_claim_event", + "pkey": "id", + "pkey_sequence": "acq.serial_claim_event_id_seq", + "fields": [ + { "name": "id", "label": "Claim Event ID", "datatype": "id" }, + { + "name": "type", + "label": "Claim Event Type", + "type": "link", + "key": "id", + "class": "acqclet", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claim", + "label": "Claim ID", + "type": "link", + "key": "id", + "class": "acqscl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "event_date", "label": "Event Date", "datatype": "timestamp" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "label": "Note", "datatype": "text" } + ] + }, + "acrlid": { + "name": "acrlid", + "label": "Claim Ready Lineitem Details", + "source": "( 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 AND (NOW() - cpa.action_interval) > po.order_date 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 AND po.cancel_reason IS NULL AND lid.recv_time IS NULL AND po.state = 'on-order' ORDER BY 1, 2, 3, 4, 5 )", + "fields": [ + { + "name": "ordering_agency", + "label": "Ordering Agency", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem", + "label": "Lineitem", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "lineitem_detail", + "label": "Lineitem Detail", + "type": "link", + "key": "id", + "class": "acqlid", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claim_policy_action", + "label": "Claim Policy Action", + "type": "link", + "key": "id", + "class": "acqclpa", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "acs": { + "name": "acs", + "label": "Authority Control Set", + "table": "authority.control_set", + "pkey": "id", + "pkey_sequence": "authority.control_set_id_seq", + "fields": [ + { + "name": "id", + "label": "Control Set ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "name", + "label": "Name", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "authority_fields", + "label": "Controlling Authority Fields", + "virtual": true, + "type": "link", + "key": "control_set", + "class": "acsaf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "thesauri", + "label": "Thesauri", + "virtual": true, + "type": "link", + "key": "control_set", + "class": "at", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["DELETE_AUTHORITY_CONTROL_SET"] } + } + }, + "acsaf": { + "name": "acsaf", + "label": "Authority Control Set Authority Field", + "table": "authority.control_set_authority_field", + "pkey": "id", + "pkey_sequence": "authority.control_set_authority_field_id_seq", + "fields": [ + { + "name": "id", + "label": "Control Set Authority Field ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "main_entry", + "label": "Main Entry", + "type": "link", + "key": "id", + "class": "acsaf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "control_set", + "label": "Control Set", + "type": "link", + "key": "id", + "class": "acs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "tag", "label": "Tag", "required": true, "datatype": "text" }, + { "name": "sf_list", "label": "Subfield List", "datatype": "text" }, + { + "name": "display_sf_list", + "label": "Subfield List for Display", + "datatype": "text" + }, + { "name": "nfi", "label": "Non-filing Indicator", "datatype": "text" }, + { + "name": "name", + "label": "Name", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "linking_subfield", + "label": "Linking Subfield", + "datatype": "text" + }, + { + "name": "sub_entries", + "label": "Subordinate Entries", + "virtual": true, + "type": "link", + "key": "main_entry", + "class": "acsaf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "bib_fields", + "label": "Controlled Bib Fields", + "virtual": true, + "type": "link", + "key": "authority_field", + "class": "acsbf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "thesauri", + "label": "Thesauri", + "virtual": true, + "type": "link", + "key": "control_set", + "class": "at", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "axis_maps", + "label": "Browse Axis Maps", + "virtual": true, + "type": "link", + "key": "field", + "class": "abaafm", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "joiner", "label": "Joiner", "datatype": "text" }, + { "name": "heading_field", "label": "Heading Field", "datatype": "link" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "acsbf": { + "name": "acsbf", + "label": "Authority Control Set Bib Field", + "table": "authority.control_set_bib_field", + "pkey": "id", + "pkey_sequence": "authority.control_set_bib_field_id_seq", + "fields": [ + { + "name": "id", + "label": "Controlled Bib Field ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "authority_field", + "label": "Controlling Authority Field", + "type": "link", + "key": "id", + "class": "acsaf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "tag", "label": "Tag", "required": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "acsbfmfm": { + "name": "acsbfmfm", + "label": "Authority Control Set Bib Field to Metabib Field Map", + "table": "authority.control_set_bib_field_metabib_field_map", + "pkey": "id", + "pkey_sequence": "authority.control_set_bib_field_metabib_field_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "bib_field", + "label": "Bib Field", + "type": "link", + "key": "id", + "class": "acsbf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "metabib_field", + "label": "Metabib Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "act": { + "name": "act", + "label": "Asset Copy Template", + "table": "asset.copy_template", + "pkey": "id", + "pkey_sequence": "asset.copy_template_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "owning_lib", + "label": "Owning Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "edit_date", "label": "Edit Date", "datatype": "timestamp" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "circ_lib", + "label": "Circ Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "status", + "label": "Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "location", + "label": "Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "loan_duration", "label": "Loan Duration", "datatype": "int" }, + { "name": "fine_level", "label": "Fine Level", "datatype": "int" }, + { + "name": "age_protect", + "label": "Age Protect", + "type": "link", + "key": "id", + "class": "crahp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "circulate", "label": "Circulate?", "datatype": "bool" }, + { "name": "deposit", "label": "Deposit?", "datatype": "bool" }, + { "name": "ref", "label": "Reference?", "datatype": "bool" }, + { "name": "holdable", "label": "Holdable?", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "money" + }, + { "name": "price", "label": "Price", "datatype": "money" }, + { + "name": "circ_modifier", + "label": "Circ Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_as_type", + "label": "Circ As Type", + "type": "link", + "key": "code", + "class": "citm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible?", "datatype": "bool" }, + { + "name": "floating", + "label": "Floating Group", + "type": "link", + "key": "id", + "class": "cfg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "mint_condition", + "label": "Mint Condition?", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ASSET_COPY_TEMPLATE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_ASSET_COPY_TEMPLATE"] }, + "delete": { "perms": ["ADMIN_ASSET_COPY_TEMPLATE"] } + } + }, + "actsc": { + "name": "actsc", + "label": "User Statistical Category", + "table": "actor.stat_cat", + "pkey": "id", + "pkey_sequence": "actor.stat_cat_id_seq", + "fields": [ + { + "name": "entries", + "label": "Entries", + "virtual": true, + "type": "link", + "key": "stat_cat", + "class": "actsce", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "default_entries", + "label": "Default Entries", + "virtual": true, + "type": "link", + "key": "stat_cat", + "class": "actsced", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "id", + "label": "Stat Cat ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "usr_summary", "label": "User Summary", "datatype": "bool" }, + { + "name": "sip_field", + "label": "SIP Field", + "type": "link", + "key": "field", + "class": "actscsf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "sip_format", "label": "SIP Format", "datatype": "text" }, + { + "name": "checkout_archive", + "label": "Checkout Archive", + "datatype": "bool" + }, + { "name": "required", "label": "Required", "datatype": "bool" }, + { "name": "allow_freetext", "label": "Free Text", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PATRON_STAT_CAT"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_PATRON_STAT_CAT"] }, + "delete": { "perms": ["DELETE_PATRON_STAT_CAT"] } + } + }, + "actsce": { + "name": "actsce", + "label": "User Stat Cat Entry", + "table": "actor.stat_cat_entry", + "pkey": "id", + "pkey_sequence": "actor.stat_cat_entry_id_seq", + "fields": [ + { "name": "id", "label": "Entry ID", "datatype": "id" }, + { + "name": "owner", + "label": "Entry Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "label": "Stat Cat", + "type": "link", + "key": "id", + "class": "actsc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Entry Value", "datatype": "text" }, + { + "name": "default_entries", + "label": "Default Entries", + "virtual": true, + "type": "link", + "key": "stat_cat_entry", + "class": "actsced", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "actscecm": { + "name": "actscecm", + "label": "User Statistical Category Entry", + "table": "actor.stat_cat_entry_usr_map", + "pkey": "id", + "pkey_sequence": "actor.stat_cat_entry_usr_map_id_seq", + "fields": [ + { "name": "id", "label": "Entry ID", "datatype": "id" }, + { + "name": "stat_cat", + "label": "Statistical Category", + "type": "link", + "key": "id", + "class": "actsc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "stat_cat_entry", "label": "Entry Text", "datatype": "text" }, + { + "name": "target_usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "actsced": { + "name": "actsced", + "label": "User Stat Cat Default Entry", + "table": "actor.stat_cat_entry_default", + "pkey": "id", + "pkey_sequence": "actor.stat_cat_entry_default_id_seq", + "fields": [ + { "name": "id", "label": "Default Entry ID", "datatype": "id" }, + { + "name": "stat_cat_entry", + "label": "Default Entry Value", + "type": "link", + "key": "id", + "class": "actsce", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "label": "Stat Cat", + "type": "link", + "key": "id", + "class": "actsc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "label": "Default for Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "actscsf": { + "name": "actscsf", + "label": "SIP Statistical Category Field Identifier", + "table": "actor.stat_cat_sip_fields", + "pkey": "field", + "fields": [ + { + "name": "field", + "label": "Field Identifier", + "selector": "name", + "datatype": "text" + }, + { "name": "name", "label": "Field Name", "datatype": "text" }, + { "name": "one_only", "label": "Exclusive?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PATRON_STAT_CAT"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_PATRON_STAT_CAT"] }, + "delete": { "perms": ["DELETE_PATRON_STAT_CAT"] } + } + }, + "aea": { + "name": "aea", + "label": "EDI Attribute", + "table": "acq.edi_attr", + "pkey": "key", + "fields": [ + { + "name": "key", + "label": "Key", + "selector": "label", + "datatype": "text" + }, + { "name": "label", "label": "Label", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "aeas": { + "name": "aeas", + "label": "EDI Attribute Set", + "table": "acq.edi_attr_set", + "pkey": "id", + "pkey_sequence": "acq.edi_attr_set_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "attr_maps", + "label": "Mapped EDI Attributes", + "virtual": true, + "type": "link", + "key": "attr_set", + "class": "aeasm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "aeasm": { + "name": "aeasm", + "label": "EDI Attribute Set Map", + "table": "acq.edi_attr_set_map", + "pkey": "id", + "pkey_sequence": "acq.edi_attr_set_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "attr_set", + "label": "Attribute Set", + "type": "link", + "key": "id", + "class": "aeas", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "attr", + "label": "Attribute", + "type": "link", + "key": "id", + "class": "aea", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROVIDER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_PROVIDER"] }, + "delete": { "perms": ["ADMIN_PROVIDER"] } + } + }, + "aec": { + "name": "aec", + "label": "Emergency Closing", + "table": "action.emergency_closing", + "pkey": "id", + "pkey_sequence": "action.emergency_closing_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "process_start_time", "datatype": "timestamp" }, + { "name": "process_end_time", "datatype": "timestamp" }, + { "name": "last_update_time", "datatype": "timestamp" }, + { + "name": "closing", + "virtual": true, + "type": "link", + "key": "emergency_closing", + "class": "aoucd", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "status", + "virtual": true, + "type": "link", + "key": "id", + "class": "aecs", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circulations", + "virtual": true, + "type": "link", + "key": "emergency_closing", + "class": "aecc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "reservations", + "virtual": true, + "type": "link", + "key": "emergency_closing", + "class": "aecr", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "holds", + "virtual": true, + "type": "link", + "key": "emergency_closing", + "class": "aech", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["EMERGENCY_CLOSING"] }, + "retrieve": {}, + "update": { "perms": ["EMERGENCY_CLOSING"] }, + "delete": { "perms": ["EMERGENCY_CLOSING"] } + } + }, + "aecc": { + "name": "aecc", + "label": "Emergency Closing Circulation Entry", + "table": "action.emergency_closing_circulation", + "pkey": "id", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "emergency_closing", + "type": "link", + "key": "id", + "class": "aec", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "original_due_date", "datatype": "timestamp" }, + { "name": "process_time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": {} } + }, + "aech": { + "name": "aech", + "label": "Emergency Closing Hold Entry", + "table": "action.emergency_closing_hold", + "pkey": "id", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "hold", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "emergency_closing", + "type": "link", + "key": "id", + "class": "aec", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "original_shelf_expire_time", "datatype": "timestamp" }, + { "name": "process_time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": {} } + }, + "aecr": { + "name": "aecr", + "label": "Emergency Closing Reservation Entry", + "table": "action.emergency_closing_reservation", + "pkey": "id", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "reservation", + "type": "link", + "key": "id", + "class": "bresv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "emergency_closing", + "type": "link", + "key": "id", + "class": "aec", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "original_end_time", "datatype": "timestamp" }, + { "name": "process_time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": {} } + }, + "aecs": { + "name": "aecs", + "label": "Emergency Closing Status", + "table": "action.emergency_closing_status", + "pkey": "id", + "fields": [ + { + "name": "id", + "type": "link", + "key": "id", + "class": "aec", + "reltype": "has_a", + "datatype": "id" + }, + { "name": "creator", "datatype": "link" }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "process_start_time", "datatype": "timestamp" }, + { "name": "process_end_time", "datatype": "timestamp" }, + { "name": "last_update_time", "datatype": "timestamp" }, + { "name": "circulations", "datatype": "int" }, + { "name": "circulations_complete", "datatype": "int" }, + { "name": "reservations", "datatype": "int" }, + { "name": "reservations_complete", "datatype": "int" }, + { "name": "holds", "datatype": "int" }, + { "name": "holds_complete", "datatype": "int" } + ], + "permacrud": { "retrieve": {} } + }, + "afr": { + "name": "afr", + "label": "Full Authority Record", + "table": "authority.full_rec", + "pkey": "id", + "pkey_sequence": "authority.full_rec_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "ind1", "datatype": "text" }, + { "name": "ind2", "datatype": "text" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "subfield", "datatype": "text" }, + { "name": "tag", "datatype": "text" }, + { "name": "value", "datatype": "text" } + ] + }, + "afs": { + "name": "afs", + "label": "Fieldset", + "table": "action.fieldset", + "pkey": "id", + "pkey_sequence": "action.fieldset_id_seq", + "fields": [ + { "name": "id", "label": "Fieldset ID", "datatype": "id" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "status", "label": "Status", "datatype": "text" }, + { + "name": "creation_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { + "name": "scheduled_time", + "label": "Scheduled Time", + "datatype": "timestamp" + }, + { + "name": "applied_time", + "label": "Applied Time", + "datatype": "timestamp" + }, + { "name": "classname", "label": "Class Name", "datatype": "text" }, + { "name": "name", "label": "Fieldset Name", "datatype": "text" }, + { + "name": "stored_query", + "label": "Stored Query", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pkey_value", + "label": "Primary Key Value", + "datatype": "text" + }, + { + "name": "fieldset_group", + "label": "Fieldset Group", + "type": "link", + "key": "id", + "class": "afsg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "error_msg", "label": "Error Message", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_FIELDSET", "ADMIN_FIELDSET"] }, + "retrieve": { "perms": ["RETRIEVE_FIELDSET", "ADMIN_FIELDSET"] }, + "update": { "perms": ["UPDATE_FIELDSET", "ADMIN_FIELDSET"] }, + "delete": { "perms": ["DELETE_FIELDSET", "ADMIN_FIELDSET"] } + } + }, + "afscv": { + "name": "afscv", + "label": "Fieldset Column Value", + "table": "action.fieldset_col_val", + "pkey": "id", + "pkey_sequence": "action.fieldset_col_val_id_seq", + "fields": [ + { "name": "id", "label": "Column Value ID", "datatype": "id" }, + { + "name": "fieldset", + "label": "Fieldset ID", + "type": "link", + "key": "id", + "class": "afs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "col", "label": "Column Name", "datatype": "text" }, + { "name": "val", "label": "Column Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_FIELDSET_ENTRY", "ADMIN_FIELDSET_ENTRY"] }, + "retrieve": { + "perms": ["RETRIEVE_FIELDSET_ENTRY", "ADMIN_FIELDSET_ENTRY"] + }, + "update": { "perms": ["UPDATE_FIELDSET_ENTRY", "ADMIN_FIELDSET_ENTRY"] }, + "delete": { "perms": ["DELETE_FIELDSET_ENTRY", "ADMIN_FIELDSET_ENTRY"] } + } + }, + "afsg": { + "name": "afsg", + "label": "Fieldset Group", + "table": "action.fieldset_group", + "pkey": "id", + "pkey_sequence": "action.fieldset_group_id_seq", + "fields": [ + { "name": "id", "label": "Fieldset Group ID", "datatype": "id" }, + { + "name": "name", + "label": "Fieldset Group Name", + "required": true, + "datatype": "text" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { + "name": "complete_time", + "label": "Complete Time", + "datatype": "timestamp" + }, + { + "name": "container", + "label": "Container ID", + "required": true, + "datatype": "int" + }, + { + "name": "container_type", + "label": "Container Type", + "required": true, + "datatype": "text" + }, + { + "name": "rollback_group", + "label": "Rollback Group", + "type": "link", + "key": "id", + "class": "afsg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "rollback_time", + "label": "Rollback Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_FIELDSET_GROUP", "ADMIN_FIELDSET_GROUP"] }, + "retrieve": { + "perms": ["RETRIEVE_FIELDSET_GROUP", "ADMIN_FIELDSET_GROUP"] + }, + "update": { "perms": ["UPDATE_FIELDSET_GROUP", "ADMIN_FIELDSET_GROUP"] }, + "delete": { "perms": ["DELETE_FIELDSET_GROUP", "ADMIN_FIELDSET_GROUP"] } + } + }, + "ahcm": { + "name": "ahcm", + "label": "Hold Copy Map", + "table": "action.hold_copy_map", + "pkey": "id", + "pkey_sequence": "action.hold_copy_map_id_seq", + "fields": [ + { + "name": "hold", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "target_copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "proximity", "datatype": "number" } + ] + }, + "ahf": { + "name": "ahf", + "label": "Authority Heading Fields", + "table": "authority.heading_field", + "pkey": "id", + "pkey_sequence": "authority.heading_fields_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "heading_type", "label": "Heading Type", "datatype": "text" }, + { + "name": "heading_purpose", + "label": "Heading Purpose", + "datatype": "text" + }, + { "name": "label", "label": "Heading Field Label", "datatype": "text" }, + { "name": "format", "label": "Heading XSLT Format", "datatype": "text" }, + { "name": "heading_xpath", "label": "Heading XPath", "datatype": "text" }, + { + "name": "component_xpath", + "label": "Heading Component XPath", + "datatype": "text" + }, + { + "name": "type_xpath", + "label": "Related/Variant Type XPath", + "datatype": "text" + }, + { + "name": "thesaurus_xpath", + "label": "Thesaurus XPath", + "datatype": "text" + }, + { + "name": "thesaurus_override_xpath", + "label": "Thesaurus Override XPath", + "datatype": "text" + }, + { "name": "joiner", "label": "Joiner string", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "ahn": { + "name": "ahn", + "label": "Hold Notification", + "table": "action.hold_notification", + "pkey": "id", + "pkey_sequence": "action.hold_notification_id_seq", + "fields": [ + { + "name": "hold", + "label": "Hold", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Notification ID", "datatype": "id" }, + { "name": "method", "label": "Notification Method", "datatype": "text" }, + { "name": "note", "label": "Notification Note", "datatype": "text" }, + { + "name": "notify_staff", + "label": "Notifying Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "notify_time", + "label": "Notification Date/Time", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_HOLD_NOTIFICATION"] }, + "retrieve": { "perms": ["VIEW_HOLD_NOTIFICATION"] }, + "update": { "perms": ["CREATE_HOLD_NOTIFICATION"] }, + "delete": { "perms": ["CREATE_HOLD_NOTIFICATION"] } + } + }, + "ahopl": { + "name": "ahopl", + "label": "Hold On Pull List", + "source": "( 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 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_prefix acnp ON (acn.prefix = acnp.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 ) 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())) 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)) ) ) ) JOIN ( 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) LEFT JOIN asset.copy_location_order acplo 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) )", + "pkey": "id", + "fields": [ + { + "name": "status", + "label": "Status", + "virtual": true, + "datatype": "text" + }, + { + "name": "transit", + "label": "Transit", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahtc", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp" + }, + { + "name": "current_copy", + "label": "Currently Targeted Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "expire_time", + "label": "Hold Expire Date/Time", + "datatype": "timestamp" + }, + { + "name": "fulfillment_lib", + "label": "Fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "fulfillment_staff", + "label": "Fulfilling Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp" + }, + { "name": "hold_type", "label": "Hold Type", "datatype": "text" }, + { + "name": "holdable_formats", + "label": "Holdable Formats (for M-type hold)", + "datatype": "text" + }, + { "name": "id", "label": "Hold ID", "datatype": "id" }, + { + "name": "phone_notify", + "label": "Notifications Phone Number", + "datatype": "text" + }, + { + "name": "sms_notify", + "label": "Notifications SMS Number", + "datatype": "text" + }, + { + "name": "sms_carrier", + "label": "Notifications SMS Carrier", + "type": "link", + "key": "id", + "class": "csc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "prev_check_time", + "label": "Last Targeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { + "name": "requestor", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "selection_depth", + "label": "Item Selection Depth", + "datatype": "text" + }, + { + "name": "selection_ou", + "label": "Selection Locus", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "target", "label": "Target Object ID", "datatype": "link" }, + { + "name": "usr", + "label": "Hold User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "notify_time", + "label": "Notify Time", + "virtual": true, + "datatype": "timestamp" + }, + { + "name": "notify_count", + "label": "Notify Count", + "virtual": true, + "datatype": "int" + }, + { + "name": "notifications", + "label": "Notifications", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "bib_rec", + "label": "Bib Record link", + "virtual": true, + "type": "link", + "key": "id", + "class": "rhrr", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "eligible_copies", + "label": "Eligible Copies", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahcm", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "frozen", "label": "Currently Frozen", "datatype": "bool" }, + { + "name": "thaw_date", + "label": "Activation Date", + "datatype": "timestamp" + }, + { "name": "shelf_time", "label": "Shelf Time", "datatype": "timestamp" }, + { + "name": "cancel_cause", + "label": "Cancelation cause", + "type": "link", + "key": "id", + "class": "ahrcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_note", + "label": "Cancelation note", + "datatype": "text" + }, + { "name": "cut_in_line", "label": "Top of Queue", "datatype": "bool" }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "shelf_expire_time", + "label": "Shelf Expire Time", + "datatype": "timestamp" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahrn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "current_shelf_lib", + "label": "Current Shelf Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "acq_request", + "label": "Acquisition Request", + "type": "link", + "key": "id", + "class": "aur", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_location_order_position", + "label": "Copy Location Sort Order", + "datatype": "int" + }, + { + "name": "usr_first_given_name", + "label": "User First Given Name", + "datatype": "text" + }, + { + "name": "usr_second_given_name", + "label": "User Second Given Name", + "datatype": "text" + }, + { + "name": "usr_family_name", + "label": "User Family Name", + "datatype": "text" + }, + { "name": "usr_prefix", "label": "User Prefix", "datatype": "text" }, + { "name": "usr_suffix", "label": "User Suffix", "datatype": "text" }, + { + "name": "usr_alias_or_first_given_name", + "label": "User Alias or First Given Name", + "datatype": "text" + }, + { + "name": "usr_display_name", + "label": "User Display Name", + "datatype": "text" + }, + { + "name": "usr_alias_or_display_name", + "label": "User Alias or Display Name", + "datatype": "text" + }, + { "name": "usr_alias", "label": "User Alias", "datatype": "text" }, + { + "name": "call_number_label", + "label": "Call Number Label", + "datatype": "text" + }, + { + "name": "issuance_label", + "label": "Issuance Label", + "datatype": "text" + }, + { + "name": "is_staff_hold", + "label": "Is Staff Hold?", + "datatype": "bool" + }, + { + "name": "potential_copies", + "label": "Potential Copies", + "datatype": "int" + }, + { "name": "behind_desk", "label": "Behind Desk", "datatype": "bool" } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_HOLD"] } } + }, + "ahr": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "fields": [ + { + "name": "status", + "label": "Status", + "virtual": true, + "datatype": "text" + }, + { + "name": "transit", + "label": "Transit", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahtc", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp" + }, + { + "name": "current_copy", + "label": "Currently Targeted Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "expire_time", + "label": "Hold Expire Date/Time", + "datatype": "timestamp" + }, + { + "name": "fulfillment_lib", + "label": "Fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "fulfillment_staff", + "label": "Fulfilling Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp" + }, + { "name": "hold_type", "label": "Hold Type", "datatype": "text" }, + { + "name": "holdable_formats", + "label": "Holdable Formats (for M-type hold)", + "datatype": "text" + }, + { "name": "id", "label": "Hold ID", "datatype": "id" }, + { + "name": "phone_notify", + "label": "Notifications Phone Number", + "datatype": "text" + }, + { + "name": "sms_notify", + "label": "Notifications SMS Number", + "datatype": "text" + }, + { + "name": "sms_carrier", + "label": "Notifications SMS Carrier", + "type": "link", + "key": "id", + "class": "csc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "prev_check_time", + "label": "Last Targeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { + "name": "requestor", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "selection_depth", + "label": "Item Selection Depth", + "datatype": "text" + }, + { + "name": "selection_ou", + "label": "Selection Locus", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "target", "label": "Target Object ID", "datatype": "link" }, + { + "name": "usr", + "label": "Hold User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "notify_time", + "label": "Notify Time", + "virtual": true, + "datatype": "timestamp" + }, + { + "name": "notify_count", + "label": "Notify Count", + "virtual": true, + "datatype": "int" + }, + { + "name": "notifications", + "label": "Notifications", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "bib_rec", + "label": "Bib Record link", + "virtual": true, + "type": "link", + "key": "id", + "class": "rhrr", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "eligible_copies", + "label": "Eligible Copies", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahcm", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "frozen", "label": "Currently Frozen", "datatype": "bool" }, + { + "name": "thaw_date", + "label": "Activation Date", + "datatype": "timestamp" + }, + { "name": "shelf_time", "label": "Shelf Time", "datatype": "timestamp" }, + { + "name": "cancel_cause", + "label": "Cancelation cause", + "type": "link", + "key": "id", + "class": "ahrcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_note", + "label": "Cancelation note", + "datatype": "text" + }, + { "name": "cut_in_line", "label": "Top of Queue", "datatype": "bool" }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "shelf_expire_time", + "label": "Shelf Expire Time", + "datatype": "timestamp" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahrn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "current_shelf_lib", + "label": "Current Shelf Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "behind_desk", "label": "Behind Desk", "datatype": "bool" }, + { + "name": "acq_request", + "label": "Acquisition Request", + "type": "link", + "key": "id", + "class": "aur", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_HOLD"] } } + }, + "ahrcc": { + "name": "ahrcc", + "label": "Hold Request Cancel Cause", + "restrict_primary": "100", + "table": "action.hold_request_cancel_cause", + "pkey": "id", + "pkey_sequence": "action.hold_request_cancel_cause_id_seq", + "fields": [ + { "name": "id", "label": "Cause ID", "datatype": "id" }, + { + "name": "label", + "label": "Cause Label", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_HOLD_CANCEL_CAUSE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_HOLD_CANCEL_CAUSE"] }, + "delete": { "perms": ["ADMIN_HOLD_CANCEL_CAUSE"] } + } + }, + "ahrn": { + "name": "ahrn", + "label": "Hold Request Note", + "table": "action.hold_request_note", + "pkey": "id", + "pkey_sequence": "action.hold_request_note_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "body", "label": "Body", "datatype": "text" }, + { "name": "slip", "label": "Slip?", "datatype": "bool" }, + { "name": "pub", "label": "Pub?", "datatype": "bool" }, + { "name": "staff", "label": "Staff?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["UPDATE_HOLD"] }, + "retrieve": { "perms": ["VIEW_USER"] }, + "update": { "perms": ["UPDATE_HOLD"] }, + "delete": { "perms": ["UPDATE_HOLD"] } + } + }, + "ahtc": { + "name": "ahtc", + "label": "Hold Transit", + "table": "action.hold_transit_copy", + "core": true, + "pkey": "id", + "pkey_sequence": "action.transit_copy_id_seq", + "fields": [ + { + "name": "copy_status", + "label": "Copy Status at Transit", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest", + "label": "Destination Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "dest_recv_time", + "label": "Receive Date/Time", + "datatype": "timestamp" + }, + { + "name": "hold", + "label": "Hold requiring Transit", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Transit ID", "datatype": "id" }, + { + "name": "persistant_transfer", + "label": "Is Persistent?", + "datatype": "bool" + }, + { "name": "prev_hop", "label": "Previous Stop", "datatype": "link" }, + { + "name": "source", + "label": "Sending Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "source_send_time", + "label": "Send Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Transited Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "transit_copy", + "label": "Base Transit", + "virtual": true, + "type": "link", + "key": "id", + "class": "atc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "prev_dest", + "label": "Prev Destination Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["TRANSIT_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_TRANSIT"] }, + "delete": { "perms": ["DELETE_TRANSIT"] } + } + }, + "aihu": { + "name": "aihu", + "label": "In House Use", + "table": "action.in_house_use", + "core": true, + "pkey": "id", + "pkey_sequence": "action.in_house_use_id_seq", + "fields": [ + { "name": "id", "label": "Use ID", "datatype": "id" }, + { + "name": "item", + "label": "Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "int" + }, + { + "name": "org_unit", + "label": "Using Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "staff", + "label": "Recording Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "use_time", "label": "Use Date/Time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": {} } + }, + "aiit": { + "name": "aiit", + "label": "Non-bibliographic Invoice Item Type", + "table": "acq.invoice_item_type", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "prorate", "label": "Prorate?", "datatype": "bool" }, + { "name": "blanket", "label": "Blanket?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_INVOICE_ITEM_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_INVOICE_ITEM_TYPE"] }, + "delete": { "perms": ["DELETE_INVOICE_ITEM_TYPE"] } + } + }, + "alci": { + "name": "alci", + "label": "Latest Inventory", + "table": "asset.latest_inventory", + "core": true, + "pkey": "id", + "pkey_sequence": "asset.latest_inventory_id_seq", + "fields": [ + { "name": "id", "label": "Latest Inventory ID", "datatype": "id" }, + { + "name": "inventory_date", + "label": "Latest Inventory Date", + "datatype": "timestamp" + }, + { + "name": "inventory_workstation", + "label": "Latest Inventory Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy", + "label": "Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "create": {}, "retrieve": {}, "update": {}, "delete": {} } + }, + "alhr": { + "name": "alhr", + "label": "Last Captured Hold Request", + "source": "( 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) )", + "pkey": "id", + "fields": [ + { + "name": "status", + "label": "Status", + "virtual": true, + "datatype": "text" + }, + { + "name": "transit", + "label": "Transit", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahtc", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp" + }, + { + "name": "current_copy", + "label": "Currently Targeted Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "expire_time", + "label": "Hold Expire Date/Time", + "datatype": "timestamp" + }, + { + "name": "fulfillment_lib", + "label": "Fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "fulfillment_staff", + "label": "Fulfilling Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp" + }, + { "name": "hold_type", "label": "Hold Type", "datatype": "text" }, + { + "name": "holdable_formats", + "label": "Holdable Formats (for M-type hold)", + "datatype": "text" + }, + { "name": "id", "label": "Hold ID", "datatype": "id" }, + { + "name": "phone_notify", + "label": "Notifications Phone Number", + "datatype": "text" + }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "prev_check_time", + "label": "Last Targeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { + "name": "requestor", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "selection_depth", + "label": "Item Selection Depth", + "datatype": "text" + }, + { + "name": "selection_ou", + "label": "Selection Locus", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "target", "label": "Target Object ID", "datatype": "link" }, + { + "name": "usr", + "label": "Hold User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "notify_time", + "label": "Notify Time", + "virtual": true, + "datatype": "timestamp" + }, + { + "name": "notify_count", + "label": "Notify Count", + "virtual": true, + "datatype": "int" + }, + { + "name": "notifications", + "label": "Notifications", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "bib_rec", + "label": "Bib Record link", + "virtual": true, + "type": "link", + "key": "id", + "class": "rhrr", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "eligible_copies", + "label": "Eligible Copies", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahcm", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "frozen", "label": "Currently Frozen", "datatype": "bool" }, + { + "name": "thaw_date", + "label": "Activation Date", + "datatype": "timestamp" + }, + { "name": "shelf_time", "label": "Shelf Time", "datatype": "timestamp" }, + { + "name": "cancel_cause", + "label": "Cancelation cause", + "type": "link", + "key": "id", + "class": "ahrcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_note", + "label": "Cancelation note", + "datatype": "text" + }, + { "name": "cut_in_line", "label": "Top of Queue", "datatype": "bool" }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "shelf_expire_time", + "label": "Shelf Expire Time", + "datatype": "timestamp" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "hold", + "class": "ahrn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "current_shelf_lib", + "label": "Current Shelf Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "behind_desk", "label": "Behind Desk", "datatype": "bool" }, + { + "name": "acq_request", + "label": "Acquisition Request", + "type": "link", + "key": "id", + "class": "aur", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "amtr": { + "name": "amtr", + "label": "Matrix Test Result", + "virtual": true, + "pkey": "matchpoint", + "fields": [ + { + "name": "matchpoint", + "label": "Matchpoint ID", + "type": "link", + "key": "id", + "class": "ccmm", + "reltype": "has_a", + "datatype": "id" + }, + { "name": "success", "label": "Success", "datatype": "bool" }, + { "name": "fail_part", "label": "Failure Part", "datatype": "text" } + ] + }, + "ancc": { + "name": "ancc", + "label": "Non-cataloged Circulation", + "table": "action.non_cataloged_circulation", + "core": true, + "pkey": "id", + "pkey_sequence": "action.non_cataloged_circulation_id_seq", + "fields": [ + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_time", + "label": "Circulation Date/Time", + "datatype": "timestamp" + }, + { "name": "id", "label": "Non-cat Circulation ID", "datatype": "id" }, + { + "name": "item_type", + "label": "Non-cat Item Type", + "type": "link", + "key": "id", + "class": "cnct", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "patron", + "label": "Patron", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "duedate", + "label": "Virtual Due Date/Time", + "virtual": true, + "datatype": "timestamp" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_CIRCULATIONS"] } } + }, + "ancihu": { + "name": "ancihu", + "label": "Non-cataloged In House Use", + "table": "action.non_cat_in_house_use", + "core": true, + "pkey": "id", + "pkey_sequence": "action.non_cat_in_house_use_id_seq", + "fields": [ + { "name": "id", "label": "Use ID", "datatype": "id" }, + { + "name": "item_type", + "label": "Item Type", + "type": "link", + "key": "id", + "class": "cnct", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Using Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "staff", + "label": "Recording Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "use_time", "label": "Use Date/Time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": {} } + }, + "aoa": { + "name": "aoa", + "label": "Org Address", + "table": "actor.org_address", + "pkey": "id", + "pkey_sequence": "actor.org_address_id_seq", + "fields": [ + { "name": "address_type", "datatype": "text" }, + { "name": "city", "datatype": "text" }, + { "name": "country", "datatype": "text" }, + { "name": "county", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { + "name": "org_unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "post_code", "datatype": "text" }, + { "name": "state", "datatype": "text" }, + { "name": "street1", "datatype": "text" }, + { "name": "street2", "datatype": "text" }, + { "name": "valid", "datatype": "bool" }, + { "name": "san", "label": "SAN", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_ORG_ADDRESS"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_ORG_ADDRESS"] }, + "delete": { "perms": ["DELETE_ORG_ADDRESS"] } + } + }, + "aoc": { + "name": "aoc", + "label": "Open Circulation", + "table": "action.open_circulation", + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "checkin_lib", "datatype": "link" }, + { "name": "checkin_staff", "datatype": "link" }, + { "name": "checkin_time", "datatype": "timestamp" }, + { "name": "circ_lib", "datatype": "org_unit" }, + { "name": "circ_staff", "datatype": "link" }, + { "name": "desk_renewal", "datatype": "bool" }, + { "name": "due_date", "datatype": "timestamp" }, + { "name": "duration", "datatype": "interval" }, + { + "name": "duration_rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fine_interval", "datatype": "interval" }, + { "name": "id", "datatype": "id" }, + { "name": "max_fine", "datatype": "money" }, + { + "name": "max_fine_rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "datatype": "bool" }, + { "name": "phone_renewal", "datatype": "bool" }, + { "name": "recurring_fine", "datatype": "money" }, + { + "name": "recurring_fine_rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "renewal_remaining", "datatype": "int" }, + { "name": "grace_period", "datatype": "interval" }, + { "name": "stop_fines", "datatype": "text" }, + { "name": "stop_fines_time", "datatype": "timestamp" }, + { "name": "target_copy", "datatype": "link" }, + { "name": "usr", "datatype": "link" }, + { "name": "xact_finish", "datatype": "timestamp" }, + { "name": "xact_start", "datatype": "timestamp" }, + { + "name": "circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "aou": { + "name": "aou", + "label": "Organizational Unit", + "table": "actor.org_unit", + "pkey": "id", + "pkey_sequence": "actor.org_unit_id_seq", + "fields": [ + { + "name": "children", + "label": "Subordinate Organizational Units", + "virtual": true, + "type": "link", + "key": "parent_ou", + "class": "aou", + "reltype": "has_many", + "datatype": "org_unit" + }, + { + "name": "billing_address", + "label": "Billing Address", + "type": "link", + "key": "id", + "class": "aoa", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "holds_address", + "label": "Holds Receiving Address", + "type": "link", + "key": "id", + "class": "aoa", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "id", + "label": "Organizational Unit ID", + "selector": "shortname", + "datatype": "org_unit" + }, + { + "name": "ill_address", + "label": "ILL Receiving Address", + "type": "link", + "key": "id", + "class": "aoa", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "mailing_address", + "label": "Mailing Address", + "type": "link", + "key": "id", + "class": "aoa", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "ou_type", + "label": "Organizational Unit Type", + "type": "link", + "key": "id", + "class": "aout", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "parent_ou", + "label": "Parent Organizational Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "shortname", + "label": "Short (Policy) Name", + "required": true, + "datatype": "text" + }, + { "name": "email", "label": "Email Address", "datatype": "text" }, + { "name": "phone", "label": "Phone Number", "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { + "name": "fiscal_calendar", + "label": "Fiscal Calendar", + "type": "link", + "key": "id", + "class": "acqfc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "users", + "label": "Users", + "virtual": true, + "type": "link", + "key": "home_ou", + "class": "au", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "closed_dates", + "label": "Closed Dates", + "virtual": true, + "type": "link", + "key": "org_unit", + "class": "aoucd", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "circulations", + "label": "Circulations", + "virtual": true, + "type": "link", + "key": "circ_lib", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "settings", + "label": "Settings", + "virtual": true, + "type": "link", + "key": "org_unit", + "class": "aous", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "addresses", + "label": "Addresses", + "virtual": true, + "type": "link", + "key": "org_unit", + "class": "aoa", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "checkins", + "label": "Checkins", + "virtual": true, + "type": "link", + "key": "checkin_lib", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "workstations", + "label": "Workstations", + "virtual": true, + "type": "link", + "key": "owning_lib", + "class": "aws", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "fund_alloc_pcts", + "label": "Fund Allocation Percentages", + "virtual": true, + "type": "link", + "key": "org", + "class": "acqfap", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "copy_location_orders", + "label": "Copy Location Orders", + "virtual": true, + "type": "link", + "key": "org", + "class": "acplo", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "atc_prev_dests", + "label": "Transit Copy Prev Destinations", + "virtual": true, + "type": "link", + "key": "prev_dest", + "class": "atc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "resv_requests", + "label": "Reservation Requests", + "virtual": true, + "type": "link", + "key": "request_lib", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "resv_pickups", + "label": "Reservation Pickups", + "virtual": true, + "type": "link", + "key": "pickup_lib", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "rsrc_types", + "label": "Resource Types", + "virtual": true, + "type": "link", + "key": "owner", + "class": "brt", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "resources", + "label": "Resources", + "virtual": true, + "type": "link", + "key": "owner", + "class": "brsrc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "rsrc_attrs", + "label": "Resource Attributes", + "virtual": true, + "type": "link", + "key": "owner", + "class": "bra", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "attr_vals", + "label": "Attribute Values", + "virtual": true, + "type": "link", + "key": "owner", + "class": "brav", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "hours_of_operation", + "label": "Hours of Operation", + "virtual": true, + "type": "link", + "key": "id", + "class": "aouhoo", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_ORG_UNIT"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_ORG_UNIT"] }, + "delete": { "perms": ["DELETE_ORG_UNIT"] } + } + }, + "aoucd": { + "name": "aoucd", + "label": "Closed Dates", + "table": "actor.org_unit_closed", + "pkey": "id", + "pkey_sequence": "actor.org_unit_closed_id_seq", + "fields": [ + { "name": "close_end", "datatype": "timestamp" }, + { "name": "close_start", "datatype": "timestamp" }, + { "name": "id", "datatype": "id" }, + { + "name": "org_unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "reason", "datatype": "text" }, + { "name": "full_day", "datatype": "bool" }, + { "name": "multi_day", "datatype": "bool" }, + { + "name": "emergency_closing", + "type": "link", + "key": "id", + "class": "aec", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_ORG_UNIT_CLOSING"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_ORG_UNIT_CLOSING"] }, + "delete": { "perms": ["DELETE_ORG_UNIT_CLOSING"] } + } + }, + "aouct": { + "name": "aouct", + "label": "Org Unit Custom Tree", + "table": "actor.org_unit_custom_tree", + "pkey": "id", + "pkey_sequence": "actor.org_unit_custom_tree_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { "name": "purpose", "label": "Purpose", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] }, + "delete": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] } + } + }, + "aouctn": { + "name": "aouctn", + "label": "Org Unit Custom Tree Node", + "table": "actor.org_unit_custom_tree_node", + "pkey": "id", + "pkey_sequence": "actor.org_unit_custom_tree_node_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "tree", + "label": "Tree", + "type": "link", + "key": "id", + "class": "aouct", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "parent_node", + "label": "Parent", + "type": "link", + "key": "id", + "class": "aouctn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "sibling_order", + "label": "Sibling Sort Order", + "datatype": "int" + }, + { + "name": "children", + "label": "Children", + "virtual": true, + "type": "link", + "key": "parent_node", + "class": "aouctn", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] }, + "delete": { "perms": ["ADMIN_ORG_UNIT_CUSTOM_TREE"] } + } + }, + "aouhoo": { + "name": "aouhoo", + "label": "Hours of Operation", + "table": "actor.hours_of_operation", + "pkey": "id", + "fields": [ + { "name": "dow_0_close", "datatype": "text" }, + { "name": "dow_0_open", "datatype": "text" }, + { "name": "dow_1_close", "datatype": "text" }, + { "name": "dow_1_open", "datatype": "text" }, + { "name": "dow_2_close", "datatype": "text" }, + { "name": "dow_2_open", "datatype": "text" }, + { "name": "dow_3_close", "datatype": "text" }, + { "name": "dow_3_open", "datatype": "text" }, + { "name": "dow_4_close", "datatype": "text" }, + { "name": "dow_4_open", "datatype": "text" }, + { "name": "dow_5_close", "datatype": "text" }, + { "name": "dow_5_open", "datatype": "text" }, + { "name": "dow_6_close", "datatype": "text" }, + { "name": "dow_6_open", "datatype": "text" }, + { + "name": "id", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "might_have", + "datatype": "id" + }, + { "name": "org_unit", "virtual": true, "datatype": "org_unit" } + ], + "permacrud": { + "create": { "perms": ["CREATE_HOURS_OF_OPERATION"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_HOURS_OF_OPERATION"] }, + "delete": { "perms": ["DELETE_HOURS_OF_OPERATION"] } + } + }, + "aoup": { + "name": "aoup", + "label": "Org Unit Proximity", + "table": "actor.org_unit_proximity", + "pkey": "id", + "pkey_sequence": "actor.org_unit_proximity_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "from_org", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "to_org", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "prox", "datatype": "int" } + ] + }, + "aoupa": { + "name": "aoupa", + "label": "Org Unit Proximity Adjustment", + "table": "actor.org_unit_proximity_adjustment", + "pkey": "id", + "pkey_sequence": "actor.org_unit_proximity_adjustment_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "item_circ_lib", + "label": "Item Circ Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "item_owning_lib", + "label": "Item Owning Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "hold_pickup_lib", + "label": "Hold Pickup Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "hold_request_lib", + "label": "Hold Request Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "copy_location", + "label": "Copy Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_mod", + "label": "Circ Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pos", "label": "Position", "datatype": "int" }, + { + "name": "absolute_adjustment", + "label": "Absolute adjustment?", + "datatype": "bool" + }, + { + "name": "prox_adjustment", + "label": "Proximity Adjustment", + "datatype": "number" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_PROXIMITY_ADJUSTMENT"] }, + "retrieve": { "perms": ["ADMIN_PROXIMITY_ADJUSTMENT"] }, + "update": { "perms": ["ADMIN_PROXIMITY_ADJUSTMENT"] }, + "delete": { "perms": ["ADMIN_PROXIMITY_ADJUSTMENT"] } + } + }, + "aous": { + "name": "aous", + "label": "Organizational Unit Setting", + "table": "actor.org_unit_setting", + "pkey": "id", + "pkey_sequence": "actor.org_unit_setting_id_seq", + "fields": [ + { "name": "id", "datatype": "text" }, + { + "name": "name", + "type": "link", + "key": "name", + "class": "coust", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "org_unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "value", "datatype": "text" } + ] + }, + "aout": { + "name": "aout", + "label": "Organizational Unit Type", + "table": "actor.org_unit_type", + "pkey": "id", + "pkey_sequence": "actor.org_unit_type_id_seq", + "fields": [ + { + "name": "children", + "label": "Subordinate Types", + "virtual": true, + "type": "link", + "key": "parent", + "class": "aout", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "can_have_users", + "label": "Can Have Users?", + "datatype": "bool" + }, + { + "name": "can_have_vols", + "label": "Can Have Volumes?", + "datatype": "bool" + }, + { "name": "depth", "label": "Type Depth", "datatype": "int" }, + { + "name": "id", + "label": "Type ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "name", + "label": "Type Name", + "i18n": true, + "datatype": "text" + }, + { + "name": "opac_label", + "label": "OPAC Label", + "i18n": true, + "datatype": "text" + }, + { + "name": "parent", + "label": "Parent Type", + "type": "link", + "key": "id", + "class": "aout", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_units", + "label": "Org Units", + "virtual": true, + "type": "link", + "key": "ou_type", + "class": "aou", + "reltype": "has_many", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_ORG_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_ORG_TYPE"] }, + "delete": { "perms": ["DELETE_ORG_TYPE"] } + } + }, + "ard": { + "name": "ard", + "label": "Authority Record Descriptor", + "table": "authority.rec_descriptor", + "pkey": "id", + "pkey_sequence": "authority.rec_descriptor_id_seq", + "fields": [ + { "name": "char_encoding", "datatype": "text" }, + { "name": "id", "datatype": "text" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "record_status", "datatype": "text" }, + { + "name": "thesaurus", + "type": "link", + "key": "code", + "class": "at", + "reltype": "might_have", + "datatype": "text" + } + ] + }, + "are": { + "name": "are", + "label": "Authority Record Entry", + "table": "authority.record_entry", + "pkey": "id", + "pkey_sequence": "authority.record_entry_id_seq", + "fields": [ + { "name": "active", "datatype": "bool" }, + { "name": "create_date", "datatype": "timestamp" }, + { + "name": "creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "deleted", "datatype": "bool" }, + { "name": "edit_date", "datatype": "timestamp" }, + { + "name": "editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "id", "datatype": "id" }, + { "name": "last_xact_id", "datatype": "text" }, + { "name": "marc", "datatype": "text" }, + { "name": "source", "datatype": "text" }, + { + "name": "control_set", + "label": "Control Set", + "type": "link", + "key": "id", + "class": "acs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "heading", "datatype": "text" }, + { "name": "simple_heading", "datatype": "text" }, + { + "name": "fixed_fields", + "virtual": true, + "type": "link", + "key": "record", + "class": "ard", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "notes", + "virtual": true, + "type": "link", + "key": "record", + "class": "arn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "bib_links", + "virtual": true, + "type": "link", + "key": "authority", + "class": "abl", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_RECORD", "IMPORT_MARC"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_RECORD"] }, + "delete": { "perms": ["DELETE_AUTHORITY_RECORD"] } + } + }, + "arn": { + "name": "arn", + "label": "Authority Record Note", + "table": "authority.record_note", + "pkey": "id", + "pkey_sequence": "authority.record_note_id_seq", + "fields": [ + { "name": "create_date", "datatype": "timestamp" }, + { "name": "creator", "datatype": "link" }, + { "name": "edit_date", "datatype": "timestamp" }, + { "name": "editor", "datatype": "link" }, + { "name": "id", "datatype": "id" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_RECORD_NOTE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_RECORD_NOTE"] }, + "delete": { "perms": ["DELETE_AUTHORITY_RECORD_NOTE"] } + } + }, + "artc": { + "name": "artc", + "label": "Reservation Transit", + "table": "action.reservation_transit_copy", + "core": true, + "pkey": "id", + "pkey_sequence": "action.transit_copy_id_seq", + "fields": [ + { + "name": "copy_status", + "label": "Copy Status at Transit", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest", + "label": "Destination Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "dest_recv_time", + "label": "Receive Date/Time", + "datatype": "timestamp" + }, + { + "name": "reservation", + "label": "Reservation requiring Transit", + "type": "link", + "key": "id", + "class": "bresv", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Transit ID", "datatype": "id" }, + { + "name": "persistant_transfer", + "label": "Is Persistent?", + "datatype": "bool" + }, + { "name": "prev_hop", "label": "Previous Stop", "datatype": "link" }, + { + "name": "source", + "label": "Sending Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "source_send_time", + "label": "Send Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Transited Copy", + "type": "link", + "key": "id", + "class": "brsrc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "transit_copy", + "label": "Base Transit", + "virtual": true, + "type": "link", + "key": "id", + "class": "atc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "prev_dest", + "label": "Prev Destination Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["TRANSIT_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_TRANSIT"] }, + "delete": { "perms": ["DELETE_TRANSIT"] } + } + }, + "asc": { + "name": "asc", + "label": "Asset Statistical Category", + "table": "asset.stat_cat", + "pkey": "id", + "pkey_sequence": "asset.stat_cat_id_seq", + "fields": [ + { + "name": "entries", + "label": "Entries", + "virtual": true, + "type": "link", + "key": "stat_cat", + "class": "asce", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "id", + "label": "Stat Cat ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "sip_field", + "label": "SIP Field", + "type": "link", + "key": "field", + "class": "ascsf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "sip_format", "label": "SIP Format", "datatype": "text" }, + { "name": "required", "label": "Required", "datatype": "bool" }, + { + "name": "checkout_archive", + "label": "Checkout Archive", + "datatype": "bool" + } + ], + "permacrud": { "retrieve": { "perms": ["STAFF_LOGIN"] } } + }, + "asce": { + "name": "asce", + "label": "Item Stat Cat Entry", + "table": "asset.stat_cat_entry", + "pkey": "id", + "pkey_sequence": "asset.stat_cat_entry_id_seq", + "fields": [ + { "name": "id", "label": "Entry ID", "datatype": "int" }, + { + "name": "owner", + "label": "Entry Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "label": "Stat Cat", + "type": "link", + "key": "id", + "class": "asc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Value", "i18n": true, "datatype": "text" } + ], + "permacrud": { "retrieve": { "perms": ["STAFF_LOGIN"] } } + }, + "ascecm": { + "name": "ascecm", + "label": "Statistical Category Entry Copy Map", + "table": "asset.stat_cat_entry_copy_map", + "pkey": "id", + "pkey_sequence": "asset.stat_cat_entry_copy_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "owning_copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat", + "type": "link", + "key": "id", + "class": "asc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat_entry", + "type": "link", + "key": "id", + "class": "asce", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": {} } + }, + "ascsf": { + "name": "ascsf", + "label": "SIP Statistical Category Field Identifier", + "table": "asset.stat_cat_sip_fields", + "pkey": "field", + "fields": [ + { + "name": "field", + "label": "Field Identifier", + "selector": "name", + "datatype": "text" + }, + { "name": "name", "label": "Field Name", "datatype": "text" }, + { "name": "one_only", "label": "Exclusive?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_STAT_CAT"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY_STAT_CAT"] }, + "delete": { "perms": ["DELETE_COPY_STAT_CAT"] } + } + }, + "asfg": { + "name": "asfg", + "label": "Search Filter Group", + "table": "actor.search_filter_group", + "pkey": "id", + "pkey_sequence": "actor.search_filter_group_id_seq", + "fields": [ + { "name": "id", "selector": "label", "datatype": "id" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "code", "datatype": "text" }, + { "name": "label", "i18n": true, "datatype": "text" }, + { "name": "create_date", "datatype": "timestamp" }, + { + "name": "entries", + "virtual": true, + "type": "link", + "key": "grp", + "class": "asfge", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] }, + "delete": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] } + } + }, + "asfge": { + "name": "asfge", + "label": "Search Filter Group Entry", + "table": "actor.search_filter_group_entry", + "pkey": "id", + "pkey_sequence": "actor.search_filter_group_entry_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "grp", + "type": "link", + "key": "id", + "class": "asfg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pos", "datatype": "int" }, + { + "name": "query", + "type": "link", + "key": "id", + "class": "asq", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] }, + "delete": { "perms": ["ADMIN_SEARCH_FILTER_GROUP"] } + } + }, + "ash": { + "name": "ash", + "label": "Authority Simple Heading", + "table": "authority.simple_heading", + "pkey": "id", + "pkey_sequence": "authority.simple_heading_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "atag", + "type": "link", + "key": "id", + "class": "acsaf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "asq": { + "name": "asq", + "label": "Search Query", + "table": "actor.search_query", + "pkey": "id", + "pkey_sequence": "actor.search_query_id_seq", + "fields": [ + { "name": "id", "selector": "label", "datatype": "id" }, + { "name": "label", "i18n": true, "datatype": "text" }, + { "name": "query_text", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "asv": { + "name": "asv", + "label": "Survey", + "table": "action.survey", + "pkey": "id", + "pkey_sequence": "action.survey_id_seq", + "fields": [ + { + "name": "questions", + "label": "Questions", + "virtual": true, + "type": "link", + "key": "survey", + "class": "asvq", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "responses", + "label": "Responses", + "virtual": true, + "type": "link", + "key": "survey", + "class": "asvr", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "description", "label": "Description", "datatype": "text" }, + { + "name": "end_date", + "label": "Survey End Date/Time", + "datatype": "timestamp" + }, + { "name": "id", "label": "Survey ID", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "opac", "label": "OPAC Survey?", "datatype": "bool" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "poll", "label": "Poll Style?", "datatype": "bool" }, + { "name": "required", "label": "Is Required?", "datatype": "bool" }, + { + "name": "start_date", + "label": "Survey Start Date/Time", + "datatype": "timestamp" + }, + { + "name": "usr_summary", + "label": "Display in User Summary", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SURVEY"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SURVEY"] }, + "delete": { "perms": ["ADMIN_SURVEY"] } + } + }, + "asva": { + "name": "asva", + "label": "Survey Answer", + "table": "action.survey_answer", + "pkey": "id", + "pkey_sequence": "action.survey_answer_id_seq", + "fields": [ + { + "name": "responses", + "label": "Responses using this Answer", + "virtual": true, + "type": "link", + "key": "answer", + "class": "asvr", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "answer", "label": "Answer Text", "datatype": "text" }, + { "name": "id", "label": "Answer ID", "datatype": "id" }, + { + "name": "question", + "label": "Question", + "type": "link", + "key": "id", + "class": "asvq", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SURVEY"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SURVEY"] }, + "delete": { "perms": ["ADMIN_SURVEY"] } + } + }, + "asvq": { + "name": "asvq", + "label": "User Survey Question", + "table": "action.survey_question", + "pkey": "id", + "pkey_sequence": "action.survey_question_id_seq", + "fields": [ + { + "name": "answers", + "label": "Answers", + "virtual": true, + "type": "link", + "key": "question", + "class": "asva", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "responses", + "label": "Responses", + "virtual": true, + "type": "link", + "key": "question", + "class": "asvr", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "id", "label": "Question ID", "datatype": "id" }, + { "name": "question", "label": "Question", "datatype": "text" }, + { + "name": "survey", + "label": "Survey", + "type": "link", + "key": "id", + "class": "asv", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SURVEY"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SURVEY"] }, + "delete": { "perms": ["ADMIN_SURVEY"] } + } + }, + "asvr": { + "name": "asvr", + "label": "Survey Response", + "table": "action.survey_response", + "pkey": "id", + "pkey_sequence": "action.survey_response_id_seq", + "fields": [ + { + "name": "answer", + "label": "Answer", + "type": "link", + "key": "id", + "class": "asva", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "answer_date", + "label": "Answer Date/Time", + "datatype": "timestamp" + }, + { + "name": "effective_date", + "label": "Effective Answer Date/Time", + "datatype": "timestamp" + }, + { "name": "id", "label": "Answer ID", "datatype": "id" }, + { + "name": "question", + "label": "Question", + "type": "link", + "key": "id", + "class": "asvq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "response_group_id", + "label": "Response Group ID", + "datatype": "int" + }, + { + "name": "survey", + "label": "Survey", + "type": "link", + "key": "id", + "class": "asv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "Responding User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SURVEY"] }, + "retrieve": { "perms": ["VIEW_USER"] }, + "update": { "perms": ["ADMIN_SURVEY"] }, + "delete": { "perms": ["ADMIN_SURVEY"] } + } + }, + "at": { + "name": "at", + "label": "Authority Thesaurus", + "table": "authority.thesaurus", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Thesaurus Code", + "selector": "name", + "datatype": "id" + }, + { + "name": "control_set", + "label": "Control Set", + "type": "link", + "key": "id", + "class": "acs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "name", + "label": "Name", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "short_code", "label": "Short Code", "datatype": "text" }, + { "name": "uri", "label": "URI", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_CONTROL_SET"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] }, + "delete": { "perms": ["UPDATE_AUTHORITY_CONTROL_SET"] } + } + }, + "atb": { + "name": "atb", + "label": "Custom Toolbar", + "table": "actor.toolbar", + "pkey": "id", + "pkey_sequence": "actor.toolbar_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "usr", + "label": "Owning User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "org", + "label": "Owning Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "ws", + "label": "Owning Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "layout", "label": "Layout", "datatype": "text" } + ], + "permacrud": { + "retrieve": { "perms": ["ADMIN_TOOLBAR", "STAFF_LOGIN"] }, + "create": { "perms": ["ADMIN_TOOLBAR"] }, + "update": { "perms": ["ADMIN_TOOLBAR"] }, + "delete": { "perms": ["ADMIN_TOOLBAR"] } + } + }, + "atc": { + "name": "atc", + "label": "Copy Transit", + "table": "action.transit_copy", + "core": true, + "pkey": "id", + "pkey_sequence": "action.transit_copy_id_seq", + "fields": [ + { + "name": "copy_status", + "label": "Pretransit Copy Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "bool" + }, + { + "name": "dest", + "label": "Destination", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest_recv_time", + "label": "Receive Date/Time", + "datatype": "timestamp" + }, + { "name": "id", "label": "Transit ID", "datatype": "id" }, + { + "name": "persistant_transfer", + "label": "Is Persistent? (unused)", + "datatype": "bool" + }, + { + "name": "prev_hop", + "label": "Previous Hop (unused)", + "datatype": "link" + }, + { + "name": "source", + "label": "Source", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "prev_dest", + "label": "Prev Destination", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "source_send_time", + "label": "Send Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Transited Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "hold_transit_copy", + "label": "Hold Transit", + "virtual": true, + "type": "link", + "key": "id", + "class": "ahtc", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["TRANSIT_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_TRANSIT"] }, + "delete": { "perms": ["DELETE_TRANSIT"] } + } + }, + "atclean": { + "name": "atclean", + "label": "Trigger Event Cleanup", + "table": "action_trigger.cleanup", + "pkey": "module", + "fields": [ + { "name": "module", "label": "Module Name", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_CLEANUP", "CREATE_TRIGGER_CLEANUP"] + }, + "retrieve": {}, + "update": { + "perms": ["ADMIN_TRIGGER_CLEANUP", "UPDATE_TRIGGER_CLEANUP"] + }, + "delete": { "perms": ["ADMIN_TRIGGER_CLEANUP", "DELETE_TRIGGER_CLEANUP"] } + } + }, + "atcol": { + "name": "atcol", + "label": "Trigger Environment Collector", + "table": "action_trigger.collector", + "pkey": "module", + "fields": [ + { "name": "module", "label": "Module Name", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + } + ] + }, + "atenv": { + "name": "atenv", + "label": "Trigger Event Environment Entry", + "table": "action_trigger.environment", + "pkey": "id", + "pkey_sequence": "action_trigger.environment_id_seq", + "fields": [ + { "name": "id", "label": "Environment ID", "datatype": "id" }, + { + "name": "event_def", + "label": "Event Definition", + "type": "link", + "key": "id", + "class": "atevdef", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "path", "label": "Field Path", "datatype": "text" }, + { + "name": "collector", + "label": "Collector", + "type": "link", + "key": "id", + "class": "atcol", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "datatype": "text" } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "CREATE_TRIGGER_EVENT_DEF"] + }, + "retrieve": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "VIEW_TRIGGER_EVENT_DEF"] + }, + "update": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "UPDATE_TRIGGER_EVENT_DEF"] + }, + "delete": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "DELETE_TRIGGER_EVENT_DEF"] + } + } + }, + "ateo": { + "name": "ateo", + "label": "Event Output", + "table": "action_trigger.event_output", + "pkey": "id", + "pkey_sequence": "action_trigger.event_output_id_seq", + "fields": [ + { "name": "id", "label": "Output ID", "datatype": "id" }, + { + "name": "create_time", + "label": "Create Date/Time", + "datatype": "timestamp" + }, + { "name": "data", "label": "Data", "datatype": "text" }, + { "name": "is_error", "label": "Is Error", "datatype": "bool" }, + { + "name": "events", + "label": "Events", + "virtual": true, + "type": "link", + "key": "template_output", + "class": "atev", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "error_events", + "label": "Error Events", + "virtual": true, + "type": "link", + "key": "error_output", + "class": "atev", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "retrieve": {}, + "delete": { + "perms": [ + "ADMIN_TRIGGER_TEMPLATE_OUTPUT", + "DELETE_TRIGGER_TEMPLATE_OUTPUT" + ] + } + } + }, + "atev": { + "name": "atev", + "label": "Trigger Event Entry", + "table": "action_trigger.event", + "pkey": "id", + "pkey_sequence": "action_trigger.event_id_seq", + "fields": [ + { "name": "id", "label": "Event ID", "datatype": "id" }, + { "name": "target", "label": "Target ID", "datatype": "int" }, + { + "name": "event_def", + "label": "Event Definition", + "type": "link", + "key": "id", + "class": "atevdef", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "add_time", "label": "Add Time", "datatype": "timestamp" }, + { "name": "run_time", "label": "Run Time", "datatype": "timestamp" }, + { "name": "start_time", "label": "Start Time", "datatype": "timestamp" }, + { + "name": "update_time", + "label": "Update Time", + "datatype": "timestamp" + }, + { + "name": "complete_time", + "label": "Complete Time", + "datatype": "timestamp" + }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "user_data", "label": "User Data", "datatype": "text" }, + { + "name": "template_output", + "label": "Template Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "error_output", + "label": "Error Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "async_output", + "label": "Asynchronous Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "update_process", "label": "Update Process", "datatype": "int" } + ] + }, + "atevdef": { + "name": "atevdef", + "label": "Trigger Event Definition", + "table": "action_trigger.event_definition", + "pkey": "id", + "pkey_sequence": "action_trigger.event_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { "name": "active", "label": "Enabled", "datatype": "bool" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "hook", + "label": "Hook", + "type": "link", + "key": "key", + "class": "ath", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "validator", + "label": "Validator", + "type": "link", + "key": "module", + "class": "atval", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "reactor", + "label": "Reactor", + "type": "link", + "key": "module", + "class": "atreact", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cleanup_success", + "label": "Success Cleanup", + "type": "link", + "key": "module", + "class": "atclean", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cleanup_failure", + "label": "Failure Cleanup", + "type": "link", + "key": "module", + "class": "atclean", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "delay", "label": "Processing Delay", "datatype": "interval" }, + { + "name": "max_delay", + "label": "Max Event Validity Delay", + "datatype": "interval" + }, + { + "name": "delay_field", + "label": "Processing Delay Context Field", + "datatype": "text" + }, + { + "name": "group_field", + "label": "Processing Group Context Field", + "datatype": "text" + }, + { "name": "template", "label": "Template", "datatype": "text" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "granularity", "label": "Granularity", "datatype": "text" }, + { "name": "usr_field", "label": "Opt-In User Field", "datatype": "text" }, + { + "name": "opt_in_setting", + "label": "Opt-In Setting Type", + "type": "link", + "key": "name", + "class": "cust", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "repeat_delay", + "label": "Event Repeatability Delay", + "datatype": "interval" + }, + { + "name": "message_template", + "label": "Message Template", + "datatype": "text" + }, + { "name": "message_title", "label": "Message Title", "datatype": "text" }, + { + "name": "message_usr_path", + "label": "Message User Path", + "datatype": "text" + }, + { + "name": "message_library_path", + "label": "Message Library Path", + "datatype": "text" + }, + { + "name": "env", + "label": "Environment Entries", + "virtual": true, + "type": "link", + "key": "event_def", + "class": "atenv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "params", + "label": "Parameters", + "virtual": true, + "type": "link", + "key": "event_def", + "class": "atevparam", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "retention_interval", + "label": "Retention Interval", + "datatype": "interval" + } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "CREATE_TRIGGER_EVENT_DEF"] + }, + "retrieve": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "VIEW_TRIGGER_EVENT_DEF"] + }, + "update": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "UPDATE_TRIGGER_EVENT_DEF"] + }, + "delete": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "DELETE_TRIGGER_EVENT_DEF"] + } + } + }, + "atevparam": { + "name": "atevparam", + "label": "Trigger Event Parameter", + "table": "action_trigger.event_params", + "pkey": "id", + "pkey_sequence": "action_trigger.event_params_id_seq", + "fields": [ + { "name": "id", "label": "Parameter ID", "datatype": "id" }, + { + "name": "event_def", + "label": "Event Definition", + "type": "link", + "key": "id", + "class": "atevdef", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "param", "label": "Parameter Name", "datatype": "text" }, + { "name": "value", "label": "Parameter Value", "datatype": "text" } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "CREATE_TRIGGER_EVENT_DEF"] + }, + "retrieve": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "VIEW_TRIGGER_EVENT_DEF"] + }, + "update": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "UPDATE_TRIGGER_EVENT_DEF"] + }, + "delete": { + "perms": ["ADMIN_TRIGGER_EVENT_DEF", "DELETE_TRIGGER_EVENT_DEF"] + } + } + }, + "ath": { + "name": "ath", + "label": "Trigger Hook Point", + "table": "action_trigger.hook", + "pkey": "key", + "fields": [ + { "name": "key", "label": "Hook Key", "datatype": "text" }, + { "name": "core_type", "label": "Core Type", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "passive", "label": "Passive", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_TRIGGER_HOOK", "CREATE_TRIGGER_HOOK"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_TRIGGER_HOOK", "UPDATE_TRIGGER_HOOK"] }, + "delete": { "perms": ["ADMIN_TRIGGER_HOOK", "DELETE_TRIGGER_HOOK"] } + } + }, + "atreact": { + "name": "atreact", + "label": "Trigger Event Reactor", + "table": "action_trigger.reactor", + "pkey": "module", + "fields": [ + { "name": "module", "label": "Module Name", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_REACTOR", "CREATE_TRIGGER_REACTOR"] + }, + "retrieve": {}, + "update": { + "perms": ["ADMIN_TRIGGER_REACTOR", "UPDATE_TRIGGER_REACTOR"] + }, + "delete": { "perms": ["ADMIN_TRIGGER_REACTOR", "DELETE_TRIGGER_REACTOR"] } + } + }, + "atul": { + "name": "atul", + "label": "Action Trigger User Log", + "source": "( 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 FROM action_trigger.event atev JOIN action_trigger.event_definition atevdef ON (atevdef.id = atev.event_def) JOIN action_trigger.hook ath ON (ath.key = atevdef.hook) LEFT JOIN action.circulation targ_circ ON (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) 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 ) ous) )", + "pkey": "id", + "fields": [ + { + "name": "hook", + "label": "Hook", + "type": "link", + "key": "key", + "class": "ath", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "reactor", "label": "Reactor", "datatype": "text" }, + { "name": "id", "label": "Event ID", "datatype": "id" }, + { + "name": "event_def", + "label": "Event Definition ID", + "datatype": "int" + }, + { + "name": "add_time", + "label": "Event Add Time", + "datatype": "timestamp" + }, + { + "name": "run_time", + "label": "Event Run Time", + "datatype": "timestamp" + }, + { + "name": "start_time", + "label": "Event Start Time", + "datatype": "timestamp" + }, + { + "name": "update_time", + "label": "Event Update Time", + "datatype": "timestamp" + }, + { + "name": "complete_time", + "label": "Event Complete Time", + "datatype": "timestamp" + }, + { + "name": "update_process", + "label": "Event Update PID", + "datatype": "int" + }, + { "name": "state", "label": "Event State", "datatype": "text" }, + { "name": "user_data", "label": "Event User Data", "datatype": "text" }, + { + "name": "template_output", + "label": "Event Template Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "error_output", + "label": "Event Error Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "async_output", + "label": "Event Async Output", + "type": "link", + "key": "id", + "class": "ateo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target_circ", + "label": "Target Circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target_hold", + "label": "Target Hold", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "perm_lib", + "label": "Permission Context", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_TRIGGER_EVENT"] } } + }, + "atval": { + "name": "atval", + "label": "Trigger Condition Validator", + "table": "action_trigger.validator", + "pkey": "module", + "fields": [ + { "name": "module", "label": "Module Name", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_TRIGGER_VALIDATOR", "CREATE_TRIGGER_VALIDATOR"] + }, + "retrieve": {}, + "update": { + "perms": ["ADMIN_TRIGGER_VALIDATOR", "UPDATE_TRIGGER_VALIDATOR"] + }, + "delete": { + "perms": ["ADMIN_TRIGGER_VALIDATOR", "DELETE_TRIGGER_VALIDATOR"] + } + } + }, + "au": { + "name": "au", + "label": "ILS User", + "table": "actor.usr", + "core": true, + "pkey": "id", + "pkey_sequence": "actor.usr_id_seq", + "fields": [ + { + "name": "addresses", + "label": "All Addresses", + "virtual": true, + "type": "link", + "key": "usr", + "class": "aua", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "cards", + "label": "All Library Cards", + "virtual": true, + "type": "link", + "key": "usr", + "class": "ac", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "checkouts", + "label": "All Circulations", + "virtual": true, + "type": "link", + "key": "usr", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "hold_requests", + "label": "All Hold Requests", + "virtual": true, + "type": "link", + "key": "usr", + "class": "ahr", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "permissions", + "label": "All Permissions", + "virtual": true, + "type": "link", + "key": "usr", + "class": "pupm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "settings", + "label": "All User Settings", + "virtual": true, + "type": "link", + "key": "usr", + "class": "aus", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "standing_penalties", + "label": "Standing Penalties", + "virtual": true, + "type": "link", + "key": "usr", + "class": "ausp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "stat_cat_entries", + "label": "Statistical Category Entries", + "virtual": true, + "type": "link", + "key": "target_usr", + "class": "actscecm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "survey_responses", + "label": "Survey Responses", + "virtual": true, + "type": "link", + "key": "usr", + "class": "asvr", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "ws_ou", + "label": "Workstation Org Unit", + "virtual": true, + "datatype": "link" + }, + { + "name": "wsid", + "label": "Workstation ID", + "virtual": true, + "datatype": "link" + }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "barred", "label": "Barred", "datatype": "bool" }, + { + "name": "billing_address", + "label": "Physical Address", + "type": "link", + "key": "id", + "class": "aua", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "card", + "label": "Current Library Card", + "type": "link", + "key": "id", + "class": "ac", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claims_returned_count", + "label": "Claims-returned Count", + "datatype": "int" + }, + { + "name": "claims_never_checked_out_count", + "label": "Claims Never Checked Out Count", + "datatype": "int" + }, + { + "name": "create_date", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "credit_forward_balance", + "label": "User Credit Balance", + "datatype": "money" + }, + { "name": "day_phone", "label": "Daytime Phone", "datatype": "text" }, + { "name": "dob", "label": "Date of Birth", "datatype": "timestamp" }, + { "name": "email", "label": "Email Address", "datatype": "text" }, + { "name": "evening_phone", "label": "Evening Phone", "datatype": "text" }, + { + "name": "expire_date", + "label": "Privilege Expiration Date", + "datatype": "timestamp" + }, + { "name": "family_name", "label": "Last Name", "datatype": "text" }, + { "name": "first_given_name", "label": "First Name", "datatype": "text" }, + { + "name": "home_ou", + "label": "Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "id", "label": "User ID", "datatype": "id" }, + { + "name": "ident_type", + "label": "Primary Identification Type", + "type": "link", + "key": "id", + "class": "cit", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "ident_type2", + "label": "Secondary Identification Type", + "type": "link", + "key": "id", + "class": "cit", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "ident_value", + "label": "Primary Identification", + "datatype": "text" + }, + { + "name": "ident_value2", + "label": "Secondary Identification", + "datatype": "text" + }, + { + "name": "last_xact_id", + "label": "Last Transaction ID", + "datatype": "text" + }, + { + "name": "mailing_address", + "label": "Mailing Address", + "type": "link", + "key": "id", + "class": "aua", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "master_account", + "label": "Is Group Lead Account", + "datatype": "bool" + }, + { + "name": "net_access_level", + "label": "Internet Access Level", + "type": "link", + "key": "id", + "class": "cnal", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "other_phone", "label": "Other Phone", "datatype": "text" }, + { "name": "passwd", "label": "Password", "datatype": "text" }, + { "name": "photo_url", "label": "Photo URL", "datatype": "text" }, + { "name": "prefix", "label": "Prefix/Title", "datatype": "text" }, + { + "name": "profile", + "label": "Main (Profile) Permission Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "second_given_name", + "label": "Middle Name", + "datatype": "text" + }, + { + "name": "standing", + "label": "Standing (unused)", + "type": "link", + "key": "id", + "class": "cst", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "suffix", "label": "Suffix", "datatype": "text" }, + { "name": "super_user", "label": "Is Super User", "datatype": "bool" }, + { + "name": "usrgroup", + "label": "Family Linkage or other Group", + "type": "link", + "key": "usrgroup", + "class": "au", + "reltype": "has_many", + "datatype": "int" + }, + { + "name": "usrname", + "label": "OPAC/Staff Client User Name", + "datatype": "text" + }, + { + "name": "alias", + "label": "OPAC/Staff Client Holds Alias", + "datatype": "text" + }, + { "name": "juvenile", "label": "Juvenile", "datatype": "bool" }, + { + "name": "last_update_time", + "label": "Record Last Update Time", + "datatype": "timestamp" + }, + { + "name": "pref_prefix", + "label": "Preferred Prefix", + "datatype": "text" + }, + { + "name": "pref_first_given_name", + "label": "Preferred First Name", + "datatype": "text" + }, + { + "name": "pref_second_given_name", + "label": "Preferred Middle Name", + "datatype": "text" + }, + { + "name": "pref_family_name", + "label": "Preferred Last Name", + "datatype": "text" + }, + { + "name": "pref_suffix", + "label": "Preferred Suffix", + "datatype": "text" + }, + { "name": "name_keywords", "label": "Name Keywords", "datatype": "text" }, + { + "name": "groups", + "label": "Additional Permission Groups", + "virtual": true, + "type": "link", + "key": "usr", + "class": "pugm", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted", "datatype": "bool" }, + { + "name": "notes", + "label": "User Notes", + "virtual": true, + "type": "link", + "key": "usr", + "class": "aun", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "demographic", + "label": "Demographic Info", + "virtual": true, + "type": "link", + "key": "id", + "class": "rud", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billable_transactions", + "label": "Billable Transactions", + "virtual": true, + "type": "link", + "key": "usr", + "class": "mbt", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "money_summary", + "label": "Money Summary", + "virtual": true, + "type": "link", + "key": "usr", + "class": "mus", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "open_billable_transactions_summary", + "label": "Open Billable Transactions", + "virtual": true, + "type": "link", + "key": "usr", + "class": "mobts", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "checkins", + "label": "Checkins", + "virtual": true, + "type": "link", + "key": "checkin_staff", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "performed_circulations", + "label": "Circulations Performed as Staff", + "virtual": true, + "type": "link", + "key": "circ_staff", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "fund_alloc_pcts", + "label": "Fund Allocation Percentages", + "virtual": true, + "type": "link", + "key": "allocator", + "class": "acqfap", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "reservations", + "label": "Reservations", + "virtual": true, + "type": "link", + "key": "usr", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "usr_activity", + "label": "User Activity Entries", + "virtual": true, + "type": "link", + "key": "usr", + "class": "auact", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "usr_work_ou_map", + "label": "User/Working Location Map", + "virtual": true, + "type": "link", + "key": "usr", + "class": "puwoum", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER", "user_request.view"] } } + }, + "aua": { + "name": "aua", + "label": "User Address", + "table": "actor.usr_address", + "pkey": "id", + "pkey_sequence": "actor.usr_address_id_seq", + "fields": [ + { "name": "address_type", "label": "Type", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "id", "label": "Address ID", "datatype": "id" }, + { "name": "post_code", "label": "Postal Code", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "street1", "label": "Street (1)", "datatype": "text" }, + { "name": "street2", "label": "Street (2)", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "valid", "label": "Valid Address?", "datatype": "bool" }, + { + "name": "within_city_limits", + "label": "Within City Limits?", + "datatype": "bool" + }, + { + "name": "replaces", + "label": "Replaces", + "type": "link", + "key": "id", + "class": "aua", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pending", "label": "Pending", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["UPDATE_USER"] }, + "retrieve": { "perms": ["VIEW_USER"] }, + "update": { "perms": ["UPDATE_USER"] }, + "delete": { "perms": ["UPDATE_USER"] } + } + }, + "auact": { + "name": "auact", + "label": "User Activity", + "table": "actor.usr_activity", + "pkey": "id", + "pkey_sequence": "actor.usr_activity_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "etype", + "label": "Activity Type", + "type": "link", + "key": "id", + "class": "cuat", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "event_time", "label": "Event Time", "datatype": "timestamp" } + ], + "permacrud": { "retrieve": { "perms": ["RUN_REPORTS"] } } + }, + "auch": { + "name": "auch", + "label": "User Checkout History", + "table": "action.usr_circ_history", + "pkey": "id", + "pkey_sequence": "action.usr_circ_history_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Checkin Time", + "datatype": "timestamp" + }, + { "name": "due_date", "label": "Due Date", "datatype": "timestamp" }, + { + "name": "xact_start", + "label": "Checkout Time", + "datatype": "timestamp" + }, + { + "name": "source_circ", + "label": "Source Circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "aufh": { + "name": "aufh", + "label": "Unfulfilled Hold Targets", + "table": "action.unfulfilled_hold_list", + "pkey": "id", + "pkey_sequence": "action.unfulfilled_hold_list_id_seq", + "fields": [ + { + "name": "circ_lib", + "label": "Non-fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "current_copy", + "label": "Non-fulfilling Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fail_time", + "label": "Retargeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "hold", + "label": "Hold", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Record ID", "datatype": "id" } + ] + }, + "aufhil": { + "name": "aufhil", + "table": "action.unfulfilled_hold_innermost_loop", + "fields": [ + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "count", "label": "Loop Count", "datatype": "int" } + ] + }, + "aufhl": { + "name": "aufhl", + "table": "action.unfulfilled_hold_loops", + "fields": [ + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "count", "label": "Loop Count", "datatype": "int" } + ] + }, + "aufhml": { + "name": "aufhml", + "table": "action.unfulfilled_hold_min_loop", + "fields": [ + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "min", "label": "Min Loop", "datatype": "int" } + ] + }, + "aufhmxl": { + "name": "aufhmxl", + "table": "action.unfulfilled_hold_max_loop", + "fields": [ + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "max", "label": "Max Loop", "datatype": "int" } + ] + }, + "aufhol": { + "name": "aufhol", + "source": "( SELECT DISTINCT l.* FROM action.unfulfilled_hold_loops l JOIN action.unfulfilled_hold_max_loop m USING (hold) WHERE l.count = m.max )", + "fields": [ + { + "name": "hold", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "count", "label": "Loop Count", "datatype": "int" } + ] + }, + "aum": { + "name": "aum", + "label": "User Message", + "table": "actor.usr_message", + "pkey": "id", + "pkey_sequence": "actor.usr_message_id_seq", + "fields": [ + { + "name": "create_date", + "label": "Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "read_date", + "label": "Read Date/Time", + "datatype": "timestamp" + }, + { + "name": "sending_lib", + "label": "Creating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Message ID", "datatype": "id" }, + { "name": "deleted", "label": "Deleted?", "datatype": "bool" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "message", "label": "Message", "datatype": "text" } + ], + "permacrud": { + "retrieve": { "perms": ["VIEW_USER"] }, + "update": { "perms": ["UPDATE_USER"] }, + "delete": { "perms": ["UPDATE_USER"] } + } + }, + "auml": { + "name": "auml", + "label": "User Message (Limited Access)", + "table": "actor.usr_message_limited", + "pkey": "id", + "pkey_sequence": "actor.usr_message_id_seq", + "fields": [ + { + "name": "create_date", + "label": "Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "read_date", + "label": "Read Date/Time", + "datatype": "timestamp" + }, + { + "name": "sending_lib", + "label": "Creating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Message ID", "datatype": "id" }, + { "name": "deleted", "label": "Deleted?", "datatype": "bool" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "message", "label": "Message", "datatype": "text" } + ], + "permacrud": { + "retrieve": { "perms": ["UPDATE_USER"] }, + "update": { "perms": ["UPDATE_USER"] } + } + }, + "aun": { + "name": "aun", + "label": "User Note", + "table": "actor.usr_note", + "pkey": "id", + "pkey_sequence": "actor.usr_note_id_seq", + "fields": [ + { + "name": "create_date", + "label": "Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Note ID", "datatype": "id" }, + { "name": "pub", "label": "Is OPAC Visible?", "datatype": "bool" }, + { "name": "title", "label": "Note Title", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Note Content", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["UPDATE_USER"] }, + "retrieve": { "perms": ["UPDATE_USER"] }, + "update": { "perms": ["UPDATE_USER"] }, + "delete": { "perms": ["UPDATE_USER"] } + } + }, + "auoi": { + "name": "auoi", + "label": "User Sharing Opt-in", + "table": "actor.usr_org_unit_opt_in", + "pkey": "id", + "pkey_sequence": "actor.usr_org_unit_opt_in_id_seq", + "fields": [ + { "name": "id", "label": "Opt-in ID", "datatype": "id" }, + { + "name": "opt_in_ws", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "staff", + "label": "Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Allowed Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "opt_in_ts", + "label": "Opt-in Date/Time", + "datatype": "timestamp" + } + ] + }, + "aupr": { + "name": "aupr", + "label": "User password reset requests", + "table": "actor.usr_password_reset", + "pkey": "id", + "pkey_sequence": "actor.usr_password_reset_id_seq", + "fields": [ + { "name": "id", "label": "Request ID", "datatype": "id" }, + { "name": "uuid", "label": "UUID", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_time", + "label": "Request Time", + "datatype": "timestamp" + }, + { "name": "has_been_reset", "label": "Was Reset?", "datatype": "bool" } + ] + }, + "aur": { + "name": "aur", + "label": "User Purchase Request", + "table": "acq.user_request", + "pkey": "id", + "pkey_sequence": "acq.user_request_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_type", + "label": "Request Type", + "required": true, + "type": "link", + "key": "id", + "class": "aurt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "hold", "label": "Place Hold", "datatype": "bool" }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "holdable_formats", + "label": "Holdable Formats", + "datatype": "text" + }, + { "name": "phone_notify", "label": "Phone Notify", "datatype": "text" }, + { "name": "email_notify", "label": "Email Notify", "datatype": "bool" }, + { + "name": "lineitem", + "label": "PO Line Item", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "eg_bib", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_date", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { + "name": "need_before", + "label": "Need Before Date/Time", + "datatype": "timestamp" + }, + { "name": "max_fee", "label": "Max Acceptable Fee", "datatype": "text" }, + { "name": "isxn", "label": "ISxN", "datatype": "text" }, + { "name": "upc", "label": "UPC", "datatype": "text" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "volume", "label": "Volume", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "article_title", "label": "Article Title", "datatype": "text" }, + { "name": "article_pages", "label": "Article Pages", "datatype": "text" }, + { "name": "publisher", "label": "Publisher", "datatype": "text" }, + { + "name": "location", + "label": "Publication Location", + "datatype": "text" + }, + { "name": "pubdate", "label": "Publication Date", "datatype": "text" }, + { "name": "mentioned", "label": "Mentioned In", "datatype": "text" }, + { "name": "other_info", "label": "Other Info", "datatype": "text" }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["user_request.create"] }, + "retrieve": { "perms": ["user_request.view"] }, + "update": { "perms": ["user_request.update"] }, + "delete": { "perms": ["user_request.delete"] } + } + }, + "auri": { + "name": "auri", + "label": "Electronic Access URI", + "table": "asset.uri", + "pkey": "id", + "pkey_sequence": "asset.uri_id_seq", + "fields": [ + { "name": "id", "label": "URI ID", "datatype": "id" }, + { "name": "href", "label": "URI", "datatype": "text" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "use_restriction", + "label": "Use Information", + "datatype": "text" + }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "call_number_maps", + "label": "Call Number Maps", + "virtual": true, + "type": "link", + "key": "uri", + "class": "auricnm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "call_numbers", + "label": "Call Numbers", + "virtual": true, + "type": "link", + "key": "uri", + "class": "auricnm", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "auricnm": { + "name": "auricnm", + "label": "Electronic Access URI to Call Number Map", + "table": "asset.uri_call_number_map", + "pkey": "id", + "pkey_sequence": "asset.uri_call_number_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "uri", + "label": "URI", + "type": "link", + "key": "id", + "class": "auri", + "reltype": "has_a", + "datatype": "int" + }, + { + "name": "call_number", + "label": "Call Number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "text" + } + ] + }, + "aurs": { + "name": "aurs", + "label": "User Purchase Request with Status", + "source": "( SELECT r.*, CASE WHEN r.cancel_reason IS NOT NULL THEN 7 WHEN h.fulfillment_time IS NOT NULL THEN 6 WHEN l.state = 'received' THEN 5 WHEN p.state = 'on-order' AND h.id IS NOT NULL THEN 4 WHEN p.state = 'on-order' AND h.id IS NULL THEN 3 WHEN l.id IS NOT NULL THEN 2 WHEN l.id IS NULL THEN 1 ELSE 0 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) )", + "pkey": "id", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_type", + "label": "Request Type", + "required": true, + "type": "link", + "key": "id", + "class": "aurt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "hold", "label": "Place Hold", "datatype": "bool" }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "holdable_formats", + "label": "Holdable Formats", + "datatype": "text" + }, + { "name": "phone_notify", "label": "Phone Notify", "datatype": "text" }, + { "name": "email_notify", "label": "Email Notify", "datatype": "bool" }, + { + "name": "lineitem", + "label": "PO Line Item", + "type": "link", + "key": "id", + "class": "jub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "eg_bib", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_date", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { + "name": "need_before", + "label": "Need Before Date/Time", + "datatype": "timestamp" + }, + { "name": "max_fee", "label": "Max Acceptable Fee", "datatype": "text" }, + { "name": "isxn", "label": "ISxN", "datatype": "text" }, + { "name": "upc", "label": "UPC", "datatype": "text" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "volume", "label": "Volume", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "article_title", "label": "Article Title", "datatype": "text" }, + { "name": "article_pages", "label": "Article Pages", "datatype": "text" }, + { "name": "publisher", "label": "Publisher", "datatype": "text" }, + { + "name": "location", + "label": "Publication Location", + "datatype": "text" + }, + { "name": "pubdate", "label": "Publication Date", "datatype": "text" }, + { "name": "mentioned", "label": "Mentioned In", "datatype": "text" }, + { "name": "other_info", "label": "Other Info", "datatype": "text" }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_status", + "label": "Request Status", + "type": "link", + "key": "id", + "class": "aurst", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "home_ou", + "label": "Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["user_request.view"] } } + }, + "aurst": { + "name": "aurst", + "label": "Acquisition Patron Request Status Type", + "table": "acq.user_request_status_type", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Status ID", + "selector": "label", + "datatype": "id" + }, + { "name": "label", "label": "Status", "i18n": true, "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "aurt": { + "name": "aurt", + "label": "User Purchase Request Type", + "table": "acq.user_request_type", + "pkey": "id", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "label", + "label": "Type Label", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_USER_REQUEST_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_USER_REQUEST_TYPE"] }, + "delete": { "perms": ["ADMIN_USER_REQUEST_TYPE"] } + } + }, + "aus": { + "name": "aus", + "label": "User Setting", + "table": "actor.usr_setting", + "pkey": "id", + "pkey_sequence": "actor.usr_setting_id_seq", + "fields": [ + { "name": "id", "label": "Setting ID", "datatype": "id" }, + { + "name": "name", + "label": "Name", + "type": "link", + "key": "name", + "class": "cust", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Value", "datatype": "text" } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER"] } } + }, + "ausp": { + "name": "ausp", + "label": "User Standing Penalty", + "restrict_primary": "100", + "table": "actor.usr_standing_penalty", + "pkey": "id", + "pkey_sequence": "actor.usr_standing_penalty_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "set_date", "label": "Set Date", "datatype": "timestamp" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "staff", + "label": "Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "standing_penalty", + "label": "Standing Penalty", + "type": "link", + "key": "id", + "class": "csp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "stop_date", "label": "Stop Date", "datatype": "timestamp" }, + { "name": "note", "label": "Note", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["UPDATE_USER"] }, + "retrieve": { "perms": ["VIEW_USER"] }, + "update": { "perms": ["UPDATE_USER"] }, + "delete": { "perms": ["UPDATE_USER"] } + } + }, + "auss": { + "name": "auss", + "label": "User Saved Search", + "table": "actor.usr_saved_search", + "pkey": "id", + "pkey_sequence": "actor.usr_saved_search_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "query_text", "label": "Query Text", "datatype": "text" }, + { "name": "query_type", "label": "Query Type", "datatype": "text" }, + { "name": "target", "label": "Target", "datatype": "text" } + ] + }, + "aws": { + "name": "aws", + "label": "Workstation", + "table": "actor.workstation", + "pkey": "id", + "pkey_sequence": "actor.workstation_id_seq", + "fields": [ + { "name": "id", "label": "Workstation ID", "datatype": "id" }, + { "name": "name", "label": "Workstation Name", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "toolbars", + "label": "Toolbars", + "virtual": true, + "type": "link", + "key": "ws", + "class": "atb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "circulations", + "label": "Circulations", + "virtual": true, + "type": "link", + "key": "workstation", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["STAFF_LOGIN"] } } + }, + "awss": { + "name": "awss", + "label": "Workstation Setting", + "table": "actor.workstation_setting", + "pkey": "id", + "pkey_sequence": "actor.workstation_setting_id_seq", + "fields": [ + { "name": "id", "label": "Setting ID", "datatype": "id" }, + { + "name": "name", + "label": "Name", + "type": "link", + "key": "name", + "class": "cwst", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Value", "datatype": "text" }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "bmp": { + "name": "bmp", + "label": "Monograph Parts", + "table": "biblio.monograph_part", + "pkey": "id", + "pkey_sequence": "biblio.monograph_part_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "datatype": "text" }, + { "name": "label_sortkey", "datatype": "text" }, + { "name": "deleted", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_MONOGRAPH_PART"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MONOGRAPH_PART"] }, + "delete": { "perms": ["DELETE_MONOGRAPH_PART"] } + } + }, + "bmpc": { + "name": "bmpc", + "label": "MARC21 Physical Characteristics", + "table": "biblio.marc21_physical_characteristics", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Temp ID", "datatype": "id" }, + { + "name": "ptype", + "label": "Type", + "type": "link", + "key": "id", + "class": "cmpctm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "subfield", + "label": "Subfield", + "type": "link", + "key": "id", + "class": "cmpcsm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "value", + "label": "Value", + "type": "link", + "key": "id", + "class": "cmpcvm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "record", + "label": "Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "bpbcm": { + "name": "bpbcm", + "label": "Bibliographic Record Peer Copy Map", + "table": "biblio.peer_bib_copy_map", + "pkey": "id", + "pkey_sequence": "biblio.peer_bib_copy_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "peer_type", + "label": "Peer Type", + "type": "link", + "key": "id", + "class": "bpt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "peer_record", + "label": "Peer Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target_copy", + "label": "Target Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["UPDATE_COPY"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY"] }, + "delete": { "perms": ["UPDATE_COPY"] } + } + }, + "bpt": { + "name": "bpt", + "label": "Bibliographic Record Peer Type", + "table": "biblio.peer_type", + "pkey": "id", + "pkey_sequence": "biblio.peer_type_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_PTYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_BIB_PTYPE"] }, + "delete": { "perms": ["DELETE_BIB_PTYPE"] } + } + }, + "bra": { + "name": "bra", + "label": "Resource Attribute", + "table": "booking.resource_attr", + "pkey": "id", + "pkey_sequence": "booking.resource_attr_id_seq", + "fields": [ + { + "name": "id", + "label": "Resource Attribute ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "name", + "label": "Resource Attribute Name", + "datatype": "text" + }, + { + "name": "resource_type", + "label": "Resource Type", + "type": "link", + "key": "id", + "class": "brt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "required", "label": "Is Required", "datatype": "bool" }, + { + "name": "valid_values", + "label": "Valid Values", + "virtual": true, + "type": "link", + "key": "attr", + "class": "brav", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "attr_maps", + "label": "Resource Attribute Maps", + "virtual": true, + "type": "link", + "key": "attr", + "class": "bram", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR"] }, + "retrieve": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR"] }, + "update": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR"] } + } + }, + "bram": { + "name": "bram", + "label": "Resource Attribute Map", + "table": "booking.resource_attr_map", + "pkey": "id", + "pkey_sequence": "booking.resource_attr_map_id_seq", + "fields": [ + { "name": "id", "label": "Resource Attribute Map ID", "datatype": "id" }, + { + "name": "resource", + "label": "Resource", + "type": "link", + "key": "id", + "class": "brsrc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "resource_attr", + "label": "Resource Attribute", + "type": "link", + "key": "id", + "class": "bra", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "value", + "label": "Attribute Value", + "type": "link", + "key": "id", + "class": "brav", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_MAP"] }, + "retrieve": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_MAP"] }, + "update": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_MAP"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_MAP"] } + } + }, + "brav": { + "name": "brav", + "label": "Resource Attribute Value", + "table": "booking.resource_attr_value", + "pkey": "id", + "pkey_sequence": "booking.resource_attr_value_id_seq", + "fields": [ + { + "name": "id", + "label": "Resource Attribute Value ID", + "selector": "valid_value", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "attr", + "label": "Resource Attribute", + "type": "link", + "key": "id", + "class": "bra", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "valid_value", "label": "Valid Value", "datatype": "text" }, + { + "name": "attr_maps", + "label": "Resource Attribute Maps", + "virtual": true, + "type": "link", + "key": "id", + "class": "bram", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "attr_val_maps", + "label": "Resource Attribute Value Maps", + "virtual": true, + "type": "link", + "key": "attr_value", + "class": "bravm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_VALUE"] }, + "retrieve": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_VALUE"] }, + "update": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_VALUE"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESOURCE_ATTR_VALUE"] } + } + }, + "bravm": { + "name": "bravm", + "label": "Reservation Attribute Value Map", + "table": "booking.reservation_attr_value_map", + "pkey": "id", + "pkey_sequence": "booking.reservation_attr_value_map_id_seq", + "fields": [ + { + "name": "id", + "label": "Reservation Attribute Value Map", + "datatype": "id" + }, + { + "name": "reservation", + "label": "Reservation", + "type": "link", + "key": "id", + "class": "bresv", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "attr_value", + "label": "Attribute Map", + "type": "link", + "key": "id", + "class": "brav", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESERVATION_ATTR_MAP"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_BOOKING_RESERVATION_ATTR_MAP"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESERVATION_ATTR_MAP"] } + } + }, + "bre": { + "name": "bre", + "label": "Bibliographic Record", + "table": "biblio.record_entry", + "core": true, + "pkey": "id", + "pkey_sequence": "biblio.record_entry_id_seq", + "fields": [ + { + "name": "call_numbers", + "label": "Call Numbers", + "virtual": true, + "type": "link", + "key": "record", + "class": "acn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "fixed_fields", + "label": "Fixed Field Entry", + "virtual": true, + "type": "link", + "key": "record", + "class": "mrd", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "active", "label": "Is Active?", "datatype": "bool" }, + { + "name": "create_date", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Record Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted?", "datatype": "bool" }, + { + "name": "edit_date", + "label": "Last Edit Data/Time", + "datatype": "timestamp" + }, + { + "name": "editor", + "label": "Last Editing User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fingerprint", "label": "Fingerprint", "datatype": "text" }, + { "name": "id", "label": "Record ID", "datatype": "id" }, + { + "name": "last_xact_id", + "label": "Last Transaction ID", + "datatype": "text" + }, + { "name": "marc", "label": "MARC21Slim", "datatype": "text" }, + { "name": "quality", "label": "Overall Quality", "datatype": "int" }, + { + "name": "source", + "label": "Record Source", + "type": "link", + "key": "id", + "class": "cbs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "tcn_source", "label": "TCN Source", "datatype": "text" }, + { "name": "tcn_value", "label": "TCN Value", "datatype": "text" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "share_depth", "label": "Share Depth", "datatype": "int" }, + { + "name": "metarecord", + "label": "Metarecord", + "virtual": true, + "type": "link", + "key": "source", + "class": "mmrsm", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "language", + "label": "Language Code", + "virtual": true, + "type": "link", + "key": "record", + "class": "mrd", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "notes", + "label": "Non-MARC Record Notes", + "virtual": true, + "type": "link", + "key": "record", + "class": "bren", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "keyword_field_entries", + "label": "Indexed Keyword Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mkfe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "subject_field_entries", + "label": "Indexed Subject Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "msfe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "title_field_entries", + "label": "Indexed Title Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mtfe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "identifier_field_entries", + "label": "Indexed Identifier Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mife", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "author_field_entries", + "label": "Indexed Author Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mafe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "series_field_entries", + "label": "Indexed Series Field Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "msefe", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "full_record_entries", + "label": "Flattened MARC Fields ", + "virtual": true, + "type": "link", + "key": "record", + "class": "mfr", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "simple_record", + "label": "Simple Record Extracts ", + "virtual": true, + "type": "link", + "key": "id", + "class": "rmsr", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "authority_links", + "label": "Authority Links", + "virtual": true, + "type": "link", + "key": "bib", + "class": "abl", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "subscriptions", + "label": "Subscriptions", + "virtual": true, + "type": "link", + "key": "record_entry", + "class": "ssub", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "attrs", + "label": "SVF Attributes", + "virtual": true, + "type": "link", + "key": "id", + "class": "mra", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "mattrs", + "label": "MVF Attributes", + "virtual": true, + "type": "link", + "key": "id", + "class": "mraf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "display_entries", + "label": "Display Fields", + "virtual": true, + "type": "link", + "key": "source", + "class": "mde", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "flat_display_entries", + "label": "Flat Display Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mfde", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "compressed_display_entries", + "label": "Compressed Display Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mcde", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "wide_display_entry", + "label": "Wide Display Entries", + "virtual": true, + "type": "link", + "key": "source", + "class": "mwde", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "merge_date", "label": "Merge Date", "datatype": "timestamp" }, + { + "name": "merged_to", + "label": "Merged To", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_MARC", "IMPORT_MARC"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MARC"] }, + "delete": { "perms": ["DELETE_RECORD"] } + } + }, + "bren": { + "name": "bren", + "label": "Bib Record Note", + "table": "biblio.record_note", + "pkey": "id", + "pkey_sequence": "biblio.record_note_id_seq", + "fields": [ + { "name": "create_date", "datatype": "timestamp" }, + { + "name": "creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "edit_date", "datatype": "timestamp" }, + { + "name": "editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { "name": "pub", "datatype": "bool" }, + { + "name": "record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "bresv": { + "name": "bresv", + "label": "Reservation", + "table": "booking.reservation", + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { "name": "id", "label": "Transaction ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Transaction Start Date/Time", + "datatype": "timestamp" + }, + { + "name": "unrecovered", + "label": "Unrecovered Debt", + "datatype": "bool" + }, + { + "name": "billings", + "label": "Billing Line Items", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Payment Line Items", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "summary", + "label": "Payment Summary", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbts", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "request_time", + "label": "Request Time", + "datatype": "timestamp" + }, + { "name": "start_time", "label": "Start Time", "datatype": "timestamp" }, + { "name": "end_time", "label": "End Time", "datatype": "timestamp" }, + { + "name": "capture_time", + "label": "Capture Time", + "datatype": "timestamp" + }, + { + "name": "cancel_time", + "label": "Cancel Time", + "datatype": "timestamp" + }, + { + "name": "pickup_time", + "label": "Pickup Time", + "datatype": "timestamp" + }, + { + "name": "return_time", + "label": "Return Time", + "datatype": "timestamp" + }, + { + "name": "booking_interval", + "label": "Booking Interval", + "datatype": "interval" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "fine_amount", "label": "Fine Amount", "datatype": "money" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "target_resource_type", + "label": "Target Resource Type", + "type": "link", + "key": "id", + "class": "brt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "target_resource", + "label": "Target Resource", + "type": "link", + "key": "id", + "class": "brsrc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "current_resource", + "label": "Current Resource", + "type": "link", + "key": "id", + "class": "brsrc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "request_lib", + "label": "Request Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "capture_staff", + "label": "Capture Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "attr_val_maps", + "label": "Attribute Value Maps", + "virtual": true, + "type": "link", + "key": "reservation", + "class": "bravm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESERVATION"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_BOOKING_RESERVATION"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESERVATION"] } + } + }, + "brn": { + "name": "brn", + "label": "Record Node", + "virtual": true, + "fields": [ + { "name": "id", "virtual": true, "datatype": "text" }, + { "name": "children", "virtual": true, "datatype": "text" }, + { "name": "owner_doc", "virtual": true, "datatype": "text" }, + { "name": "intra_doc_id", "virtual": true, "datatype": "text" }, + { "name": "parent_node", "virtual": true, "datatype": "text" }, + { "name": "node_type", "virtual": true, "datatype": "text" }, + { "name": "namespace_uri", "virtual": true, "datatype": "text" }, + { "name": "name", "virtual": true, "datatype": "text" }, + { "name": "value", "virtual": true, "datatype": "text" } + ] + }, + "brsrc": { + "name": "brsrc", + "label": "Resource", + "table": "booking.resource", + "pkey": "id", + "pkey_sequence": "booking.resource_id_seq", + "fields": [ + { + "name": "id", + "label": "Resource ID", + "selector": "barcode", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "type", + "label": "Resource Type", + "type": "link", + "key": "id", + "class": "brt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "overbook", "label": "Overbook", "datatype": "bool" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { "name": "deposit", "label": "Is Deposit Required", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "money" + }, + { "name": "user_fee", "label": "User Fee", "datatype": "money" }, + { + "name": "attr_maps", + "label": "Resource Attribute Maps", + "virtual": true, + "type": "link", + "key": "resource", + "class": "bram", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "tgt_rsrcs", + "label": "Reservation Target Resources", + "virtual": true, + "type": "link", + "key": "targeted_resource", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "curr_rsrcs", + "label": "Reservation Current Resources", + "virtual": true, + "type": "link", + "key": "current_resource", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "catalog_item", + "label": "Catalog Item", + "virtual": true, + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESOURCE"] }, + "retrieve": { "perms": ["ADMIN_BOOKING_RESOURCE"] }, + "update": { "perms": ["ADMIN_BOOKING_RESOURCE"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESOURCE"] } + } + }, + "brt": { + "name": "brt", + "label": "Resource Type", + "table": "booking.resource_type", + "pkey": "id", + "pkey_sequence": "booking.resource_type_id_seq", + "fields": [ + { + "name": "id", + "label": "Resource Type ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Resource Type Name", "datatype": "text" }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "fine_amount", "label": "Fine Amount", "datatype": "money" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "catalog_item", "label": "Catalog Item", "datatype": "bool" }, + { + "name": "record", + "label": "Bibliographic Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "transferable", "label": "Transferable", "datatype": "bool" }, + { + "name": "elbow_room", + "label": "Inter-booking and Inter-circulation Interval", + "datatype": "interval" + }, + { + "name": "resources", + "label": "Resources", + "virtual": true, + "type": "link", + "key": "type", + "class": "brsrc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "resource_attrs", + "label": "Resource Attributes", + "virtual": true, + "type": "link", + "key": "type", + "class": "bra", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "tgt_rsrc_types", + "label": "Target Resource Types", + "virtual": true, + "type": "link", + "key": "type", + "class": "bresv", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_BOOKING_RESOURCE_TYPE"] }, + "retrieve": { "perms": ["ADMIN_BOOKING_RESOURCE_TYPE"] }, + "update": { "perms": ["ADMIN_BOOKING_RESOURCE_TYPE"] }, + "delete": { "perms": ["ADMIN_BOOKING_RESOURCE_TYPE"] } + } + }, + "cam": { + "name": "cam", + "label": "Audience Map", + "table": "config.audience_map", + "pkey": "code", + "pkey_sequence": "", + "fields": [ + { + "name": "code", + "label": "Audience Code", + "selector": "value", + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "value", "label": "Audience", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MARC_CODE"] }, + "delete": { "perms": ["DELETE_MARC_CODE"] } + } + }, + "cbc": { + "name": "cbc", + "label": "Barcode Completions", + "table": "config.barcode_completion", + "pkey": "id", + "pkey_sequence": "config.barcode_completion_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "org_unit", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "prefix", "label": "Prefix", "datatype": "text" }, + { "name": "suffix", "label": "Suffix", "datatype": "text" }, + { "name": "length", "label": "Length", "datatype": "int" }, + { "name": "padding", "label": "Padding", "datatype": "text" }, + { "name": "padding_end", "label": "Padding At End", "datatype": "bool" }, + { "name": "asset", "label": "Applies to Items", "datatype": "bool" }, + { "name": "actor", "label": "Applies to Users", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["UPDATE_ORG_UNIT_SETTING_ALL"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_ORG_UNIT_SETTING_ALL"] }, + "delete": { "perms": ["UPDATE_ORG_UNIT_SETTING_ALL"] } + } + }, + "cbfp": { + "name": "cbfp", + "label": "Fingerprint Definition", + "table": "config.biblio_fingerprint", + "pkey": "id", + "pkey_sequence": "config.biblio_fingerprint_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" }, + { "name": "xpath", "datatype": "text" }, + { "name": "format", "datatype": "link" }, + { "name": "first_word", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIBLIO_FINGERPRINT"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_BIBLIO_FINGERPRINT"] }, + "delete": { "perms": ["DELETE_BIBLIO_FINGERPRINT"] } + } + }, + "cbho": { + "name": "cbho", + "label": "Best-Hold Sort Order", + "table": "config.best_hold_order", + "pkey": "id", + "pkey_sequence": "config.best_hold_order_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "pprox", + "label": "Capture Lib to Pickup Lib Proximity", + "datatype": "int" + }, + { + "name": "hprox", + "label": "Circ Lib to Request Lib Proximity", + "datatype": "int" + }, + { + "name": "aprox", + "label": "Adjusted Circ Lib to Pickup Lib Proximity", + "datatype": "int" + }, + { + "name": "approx", + "label": "Adjusted Capture Location to Pickup Lib Proximity", + "datatype": "int" + }, + { "name": "priority", "label": "Hold Priority", "datatype": "int" }, + { "name": "cut", "label": "Hold Cut-in-line State", "datatype": "int" }, + { "name": "depth", "label": "Hold Selection Depth", "datatype": "int" }, + { + "name": "htime", + "label": "Copy Has Circulated From Home Lately", + "datatype": "int" + }, + { "name": "rtime", "label": "Hold Request Time", "datatype": "int" }, + { + "name": "shtime", + "label": "Copy Has Been Home At All Lately", + "datatype": "int" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_HOLD_CAPTURE_SORT"] }, + "retrieve": { "perms": ["ADMIN_HOLD_CAPTURE_SORT"] }, + "update": { "perms": ["ADMIN_HOLD_CAPTURE_SORT"] }, + "delete": { "perms": ["ADMIN_HOLD_CAPTURE_SORT"] } + } + }, + "cblvl": { + "name": "cblvl", + "label": "Bib Level Map", + "table": "config.bib_level_map", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Bib Level Code", "datatype": "text" }, + { + "name": "value", + "label": "Bib Level", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MARC_CODE"] }, + "delete": { "perms": ["DELETE_MARC_CODE"] } + } + }, + "cbreb": { + "name": "cbreb", + "label": "Bibliographic Record Entry Bucket", + "table": "container.biblio_record_entry_bucket", + "pkey": "id", + "pkey_sequence": "container.biblio_record_entry_bucket_id_seq", + "fields": [ + { + "name": "items", + "virtual": true, + "type": "link", + "key": "bucket", + "class": "cbrebi", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "btype", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" }, + { "name": "description", "datatype": "text" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pub", "datatype": "bool" }, + { "name": "create_time", "datatype": "timestamp" }, + { + "name": "owning_lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_BUCKET", "ADMIN_BIB_BUCKET"] }, + "retrieve": { "perms": ["CREATE_BIB_BUCKET", "ADMIN_BIB_BUCKET"] }, + "update": { "perms": ["CREATE_BIB_BUCKET", "ADMIN_BIB_BUCKET"] }, + "delete": { "perms": ["CREATE_BIB_BUCKET", "ADMIN_BIB_BUCKET"] } + } + }, + "cbrebi": { + "name": "cbrebi", + "label": "Biblio Record Entry Bucket Item", + "table": "container.biblio_record_entry_bucket_item", + "pkey": "id", + "pkey_sequence": "container.biblio_record_entry_bucket_item_id_seq", + "fields": [ + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "cbreb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "target_biblio_record_entry", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "pos", "datatype": "int" }, + { + "name": "notes", + "virtual": true, + "type": "link", + "key": "item", + "class": "cbrebin", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["ADMIN_COPY_BUCKET"] } } + }, + "cbrebin": { + "name": "cbrebin", + "label": "Biblio Record Entry Bucket Item Note", + "table": "container.biblio_record_entry_bucket_item_note", + "pkey": "id", + "pkey_sequence": "container.biblio_record_entry_bucket_item_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "item", + "type": "link", + "key": "id", + "class": "cbrebi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "cbrebn": { + "name": "cbrebn", + "label": "Bibliographic Record Entry Bucket Note", + "table": "container.biblio_record_entry_bucket_note", + "pkey": "id", + "pkey_sequence": "container.biblio_record_entry_bucket_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "cbreb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "cbrebt": { + "name": "cbrebt", + "label": "Bibliographic Record Bucket Type", + "table": "container.biblio_record_entry_bucket_type", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_BTYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_BIB_BTYPE"] }, + "delete": { "perms": ["DELETE_BIB_BTYPE"] } + } + }, + "cbs": { + "name": "cbs", + "label": "Bib Source", + "table": "config.bib_source", + "pkey": "id", + "pkey_sequence": "config.bib_source_id_seq", + "fields": [ + { "name": "id", "selector": "source", "datatype": "id" }, + { "name": "quality", "datatype": "int" }, + { "name": "source", "datatype": "text" }, + { "name": "transcendant", "datatype": "bool" }, + { "name": "can_have_copies", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_SOURCE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_BIB_SOURCE"] }, + "delete": { "perms": ["DELETE_BIB_SOURCE"] } + } + }, + "cbt": { + "name": "cbt", + "label": "Billing Type", + "restrict_primary": "100", + "table": "config.billing_type", + "pkey": "id", + "pkey_sequence": "config.billing_type_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "owner", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "default_price", "label": "Default Price", "datatype": "money" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BILLING_TYPE"] }, + "retrieve": { + "perms": [ + "VIEW_BILLING_TYPE", + "CREATE_BILLING_TYPE", + "UPDATE_BILLING_TYPE", + "DELETE_BILLING_TYPE" + ] + }, + "update": { "perms": ["UPDATE_BILLING_TYPE"] }, + "delete": { "perms": ["DELETE_BILLING_TYPE"] } + } + }, + "ccat": { + "name": "ccat", + "label": "Copy Alert Type", + "restrict_primary": "100", + "table": "config.copy_alert_type", + "pkey": "id", + "pkey_sequence": "config.copy_alert_type_id_seq", + "fields": [ + { "name": "id", "label": "Id", "selector": "name", "datatype": "id" }, + { + "name": "scope_org", + "label": "Scope Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "event", "label": "Event", "datatype": "text" }, + { "name": "in_renew", "label": "During Renewal", "datatype": "bool" }, + { + "name": "at_circ", + "label": "Allow At Copy Circ Lib", + "datatype": "bool" + }, + { + "name": "at_owning", + "label": "Allow At Copy Owning Lib", + "datatype": "bool" + }, + { + "name": "invert_location", + "label": "Invert allowed locations", + "datatype": "bool" + }, + { "name": "next_status", "label": "Next Statuses", "datatype": "text" } + ], + "permacrud": { + "create": { + "perms": ["ADMIN_COPY_ALERT_TYPE", "CREATE_COPY_ALERT_TYPE"] + }, + "retrieve": {}, + "update": { + "perms": ["ADMIN_COPY_ALERT_TYPE", "UPDATE_COPY_ALERT_TYPE"] + }, + "delete": { "perms": ["ADMIN_COPY_ALERT_TYPE", "DELETE_COPY_ALERT_TYPE"] } + } + }, + "ccb": { + "name": "ccb", + "label": "Copy Bucket", + "table": "container.copy_bucket", + "pkey": "id", + "pkey_sequence": "container.copy_bucket_id_seq", + "fields": [ + { + "name": "items", + "virtual": true, + "type": "link", + "key": "bucket", + "class": "ccbi", + "reltype": "has_many", + "datatype": "text" + }, + { "name": "btype", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" }, + { "name": "description", "datatype": "text" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pub", "datatype": "bool" }, + { "name": "create_time", "datatype": "timestamp" }, + { + "name": "owning_lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_BUCKET", "ADMIN_COPY_BUCKET"] }, + "retrieve": { "perms": ["CREATE_COPY_BUCKET", "ADMIN_COPY_BUCKET"] }, + "update": { "perms": ["CREATE_COPY_BUCKET", "ADMIN_COPY_BUCKET"] }, + "delete": { "perms": ["CREATE_COPY_BUCKET", "ADMIN_COPY_BUCKET"] } + } + }, + "ccbi": { + "name": "ccbi", + "label": "Copy Bucket Item", + "table": "container.copy_bucket_item", + "pkey": "id", + "pkey_sequence": "container.copy_bucket_item_id_seq", + "fields": [ + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "ccb", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "id", "datatype": "id" }, + { + "name": "target_copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "pos", "datatype": "int" }, + { + "name": "notes", + "virtual": true, + "type": "link", + "key": "item", + "class": "ccbin", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["ADMIN_COPY_BUCKET"] } } + }, + "ccbin": { + "name": "ccbin", + "label": "Copy Bucket Item Note", + "table": "container.copy_bucket_item_note", + "pkey": "id", + "pkey_sequence": "container.copy_bucket_item_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "item", + "type": "link", + "key": "id", + "class": "ccbi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "ccbn": { + "name": "ccbn", + "label": "Copy Bucket Note", + "table": "container.copy_bucket_note", + "pkey": "id", + "pkey_sequence": "container.copy_bucket_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "ccb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "cclg": { + "name": "cclg", + "label": "Circulation Limit Group", + "table": "config.circ_limit_group", + "pkey": "id", + "pkey_sequence": "config.circ_limit_group_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "ccls": { + "name": "ccls", + "label": "Circulation Limit Set", + "table": "config.circ_limit_set", + "pkey": "id", + "pkey_sequence": "config.circ_limit_set_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "items_out", "label": "Items Out", "datatype": "int" }, + { "name": "depth", "label": "Min Depth", "datatype": "int" }, + { "name": "global", "label": "Global", "datatype": "bool" }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "cclsacpl": { + "name": "cclsacpl", + "label": "Circulation Limit Set Copy Location Map", + "table": "config.circ_limit_set_copy_loc_map", + "pkey": "id", + "pkey_sequence": "config.circ_limit_set_copy_loc_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "limit_set", + "label": "Limit Set", + "type": "link", + "key": "id", + "class": "ccls", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_loc", + "label": "Copy Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "cclscmm": { + "name": "cclscmm", + "label": "Circulation Limit Set Circ Mod Map", + "table": "config.circ_limit_set_circ_mod_map", + "pkey": "id", + "pkey_sequence": "config.circ_limit_set_circ_mod_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "limit_set", + "label": "Limit Set", + "type": "link", + "key": "id", + "class": "ccls", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_mod", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "cclsgm": { + "name": "cclsgm", + "label": "Circulation Limit Set Group Map", + "table": "config.circ_limit_set_group_map", + "pkey": "id", + "pkey_sequence": "config.circ_limit_set_group_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "limit_set", + "label": "Limit Set", + "type": "link", + "key": "id", + "class": "ccls", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "limit_group", + "label": "Limit Group", + "type": "link", + "key": "id", + "class": "cclg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "check_only", "label": "Check Only", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "ccm": { + "name": "ccm", + "label": "Circulation Modifier", + "table": "config.circ_modifier", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "sip2_media_type", + "label": "SIP2 Media Type", + "i18n": true, + "datatype": "text" + }, + { + "name": "magnetic_media", + "label": "Magnetic Media", + "datatype": "bool" + }, + { + "name": "avg_wait_time", + "label": "Average Wait Time", + "datatype": "interval" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MOD"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MOD"] }, + "delete": { "perms": ["ADMIN_CIRC_MOD"] } + } + }, + "ccmlsm": { + "name": "ccmlsm", + "label": "Circulation Matrix Limit Set Map", + "table": "config.circ_matrix_limit_set_map", + "pkey": "id", + "pkey_sequence": "config.circ_matrix_limit_set_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "matchpoint", + "label": "Matchpoint", + "type": "link", + "key": "id", + "class": "ccmm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "limit_set", + "label": "Limit Set", + "type": "link", + "key": "id", + "class": "ccls", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fallthrough", "label": "Fallthrough", "datatype": "bool" }, + { "name": "active", "label": "Active", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "ccmm": { + "name": "ccmm", + "label": "Circulation Matrix Matchpoint", + "table": "config.circ_matrix_matchpoint", + "pkey": "id", + "pkey_sequence": "config.circ_matrix_matchpoint_id_seq", + "fields": [ + { "name": "id", "label": "Matchpoint ID", "datatype": "id" }, + { "name": "is_renewal", "label": "Renewal?", "datatype": "bool" }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { + "name": "org_unit", + "label": "Org Unit", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "copy_circ_lib", + "label": "Copy Circ Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "copy_owning_lib", + "label": "Copy Owning Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "user_home_ou", + "label": "User Home Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "grp", + "label": "Permission Group", + "required": true, + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_location", + "label": "Copy Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_type", + "label": "MARC Type", + "type": "link", + "key": "code", + "class": "citm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_form", + "label": "MARC Form", + "type": "link", + "key": "code", + "class": "cifm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_bib_level", + "label": "MARC Bib Level", + "type": "link", + "key": "code", + "class": "cblvl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_vr_format", + "label": "Videorecording Format", + "type": "link", + "key": "code", + "class": "cvrfm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "ref_flag", "label": "Reference?", "datatype": "bool" }, + { "name": "juvenile_flag", "label": "Juvenile?", "datatype": "bool" }, + { + "name": "usr_age_lower_bound", + "label": "User Age: Lower Bound", + "datatype": "text" + }, + { + "name": "usr_age_upper_bound", + "label": "User Age: Upper Bound", + "datatype": "text" + }, + { "name": "item_age", "label": "Item Age <", "datatype": "text" }, + { "name": "circulate", "label": "Circulate?", "datatype": "bool" }, + { + "name": "duration_rule", + "label": "Duration Rule", + "type": "link", + "key": "id", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "id", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "id", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "hard_due_date", + "label": "Hard Due Date", + "type": "link", + "key": "id", + "class": "chdd", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "renewals", "label": "Renewals Override", "datatype": "int" }, + { + "name": "grace_period", + "label": "Grace Period Override", + "datatype": "interval" + }, + { "name": "script_test", "label": "Script Test", "datatype": "text" }, + { + "name": "total_copy_hold_ratio", + "label": "Minimum Total Copy/Hold Ratio", + "datatype": "float" + }, + { + "name": "available_copy_hold_ratio", + "label": "Minimum Available Copy/Hold Ratio", + "datatype": "float" + }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": { + "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT", "VIEW_CIRC_MATRIX_MATCHPOINT"] + }, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "ccmw": { + "name": "ccmw", + "label": "Circ Matrix Weights", + "table": "config.circ_matrix_weights", + "pkey": "id", + "pkey_sequence": "config.circ_matrix_weights_id_seq", + "fields": [ + { + "name": "id", + "label": "Circ Weights ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "is_renewal", "label": "Renewal?", "datatype": "float" }, + { "name": "org_unit", "label": "Org Unit", "datatype": "float" }, + { + "name": "copy_circ_lib", + "label": "Copy Circ Lib", + "datatype": "float" + }, + { + "name": "copy_owning_lib", + "label": "Copy Owning Lib", + "datatype": "float" + }, + { "name": "user_home_ou", "label": "User Home Lib", "datatype": "float" }, + { "name": "grp", "label": "Permission Group", "datatype": "float" }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "datatype": "float" + }, + { + "name": "copy_location", + "label": "Copy Location", + "datatype": "float" + }, + { "name": "marc_type", "label": "MARC Type", "datatype": "float" }, + { "name": "marc_form", "label": "MARC Form", "datatype": "float" }, + { + "name": "marc_bib_level", + "label": "MARC Bib Level", + "datatype": "float" + }, + { + "name": "marc_vr_format", + "label": "Videorecording Format", + "datatype": "float" + }, + { "name": "ref_flag", "label": "Reference?", "datatype": "float" }, + { "name": "juvenile_flag", "label": "Juvenile?", "datatype": "float" }, + { + "name": "usr_age_lower_bound", + "label": "User Age: Lower Bound", + "datatype": "float" + }, + { + "name": "usr_age_upper_bound", + "label": "User Age: Upper Bound", + "datatype": "float" + }, + { "name": "item_age", "label": "Item Age <", "datatype": "float" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_CIRC_MATRIX_MATCHPOINT"] } + } + }, + "ccnb": { + "name": "ccnb", + "label": "Call Number Bucket", + "table": "container.call_number_bucket", + "pkey": "id", + "pkey_sequence": "container.call_number_bucket_id_seq", + "fields": [ + { + "name": "items", + "virtual": true, + "type": "link", + "key": "bucket", + "class": "ccnbi", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "btype", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" }, + { "name": "description", "datatype": "text" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pub", "datatype": "bool" }, + { "name": "create_time", "datatype": "timestamp" }, + { + "name": "owning_lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { + "perms": ["CREATE_CALLNUMBER_BUCKET", "ADMIN_CALLNUMBER_BUCKET"] + }, + "retrieve": { + "perms": ["CREATE_CALLNUMBER_BUCKET", "ADMIN_CALLNUMBER_BUCKET"] + }, + "update": { + "perms": ["CREATE_CALLNUMBER_BUCKET", "ADMIN_CALLNUMBER_BUCKET"] + }, + "delete": { + "perms": ["CREATE_CALLNUMBER_BUCKET", "ADMIN_CALLNUMBER_BUCKET"] + } + } + }, + "ccnbi": { + "name": "ccnbi", + "label": "Call Number Bucket Item", + "table": "container.call_number_bucket_item", + "pkey": "id", + "pkey_sequence": "container.call_number_bucket_item_id_seq", + "fields": [ + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "ccnb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "target_call_number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "pos", "datatype": "int" }, + { + "name": "notes", + "virtual": true, + "type": "link", + "key": "item", + "class": "ccnbin", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["ADMIN_CALLNUMBER_BUCKET"] } } + }, + "ccnbin": { + "name": "ccnbin", + "label": "Call Number Bucket Item Note", + "table": "container.call_number_bucket_item_note", + "pkey": "id", + "pkey_sequence": "container.call_number_bucket_item_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "item", + "type": "link", + "key": "id", + "class": "ccnbi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "ccnbn": { + "name": "ccnbn", + "label": "Call Number Bucket Note", + "table": "container.call_number_bucket_note", + "pkey": "id", + "pkey_sequence": "container.call_number_bucket_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "ccnb", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "ccnbt": { + "name": "ccnbt", + "label": "Call Number Bucket Type", + "table": "container.call_number_bucket_type", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_CN_BTYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_CN_BTYPE"] }, + "delete": { "perms": ["DELETE_CN_BTYPE"] } + } + }, + "ccpbt": { + "name": "ccpbt", + "label": "Copy Bucket Type", + "table": "container.copy_bucket_type", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_BTYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY_BTYPE"] }, + "delete": { "perms": ["DELETE_COPY_BTYPE"] } + } + }, + "ccraed": { + "name": "ccraed", + "label": "Composite Attribute Definitions", + "table": "config.composite_attr_entry_definition", + "pkey": "coded_value", + "fields": [ + { + "name": "coded_value", + "label": "Coded Value", + "required": true, + "type": "link", + "key": "id", + "class": "ccvm", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "definition", + "label": "Defintion", + "required": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CODED_VALUE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CODED_VALUE"] }, + "delete": { "perms": ["ADMIN_CODED_VALUE"] } + } + }, + "ccs": { + "name": "ccs", + "label": "Copy Status", + "restrict_primary": "100", + "table": "config.copy_status", + "pkey": "id", + "pkey_sequence": "config.copy_status_id_seq", + "fields": [ + { "name": "holdable", "datatype": "bool" }, + { "name": "id", "selector": "name", "datatype": "id" }, + { "name": "name", "i18n": true, "datatype": "text" }, + { "name": "opac_visible", "datatype": "bool" }, + { "name": "copy_active", "datatype": "bool" }, + { "name": "restrict_copy_delete", "datatype": "bool" }, + { "name": "is_available", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_COPY_STATUS"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_COPY_STATUS"] }, + "delete": { "perms": ["DELETE_COPY_STATUS"] } + } + }, + "cctt": { + "name": "cctt", + "label": "Copy Tag Types", + "table": "config.copy_tag_type", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Code", + "selector": "label", + "required": true, + "datatype": "id" + }, + { + "name": "label", + "label": "Label", + "required": true, + "datatype": "text" + }, + { + "name": "owner", + "label": "Owner", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_COPY_TAG_TYPES"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_COPY_TAG_TYPES"] }, + "delete": { "perms": ["ADMIN_COPY_TAG_TYPES"] } + } + }, + "ccvm": { + "name": "ccvm", + "label": "SVF Record Attribute Coded Value Map", + "table": "config.coded_value_map", + "pkey": "id", + "pkey_sequence": "config.coded_value_map_id_seq", + "fields": [ + { + "name": "id", + "label": "ID", + "selector": "value", + "required": true, + "datatype": "id" + }, + { + "name": "ctype", + "label": "SVF Attribute", + "required": true, + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "code", "label": "Code", "required": true, "datatype": "text" }, + { + "name": "value", + "label": "Value", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { + "name": "search_label", + "label": "Search Label", + "i18n": true, + "datatype": "text" + }, + { + "name": "is_simple", + "label": "Is Simple Selector", + "datatype": "bool" + }, + { "name": "concept_uri", "label": "Concept URI", "datatype": "text" }, + { + "name": "composite_def", + "label": "Composite Definition", + "virtual": true, + "type": "link", + "key": "coded_value", + "class": "ccraed", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CODED_VALUE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_CODED_VALUE"] }, + "delete": { "perms": ["ADMIN_CODED_VALUE"] } + } + }, + "cdfm": { + "name": "cdfm", + "label": "Display Field Map", + "table": "config.display_field_map", + "pkey": "name", + "fields": [ + { "name": "name", "datatype": "text" }, + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "multi", "datatype": "bool" } + ], + "permacrud": { + "retrieve": {}, + "create": { "perms": ["CREATE_METABIB_FIELD"] }, + "update": { "perms": ["UPDATE_METABIB_FIELD"] }, + "delete": { "perms": ["DELETE_METABIB_FIELD"] } + } + }, + "cfdfs": { + "name": "cfdfs", + "label": "FilterDialog Filter Set", + "table": "config.filter_dialog_filter_set", + "pkey": "id", + "pkey_sequence": "config.filter_dialog_filter_set_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "interface", + "label": "Interface", + "type": "link", + "key": "key", + "class": "cfdi", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { "name": "filters", "label": "Filters", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["SAVED_FILTER_DIALOG_FILTERS"] }, + "retrieve": { "perms": ["SAVED_FILTER_DIALOG_FILTERS"] }, + "update": { "perms": ["SAVED_FILTER_DIALOG_FILTERS"] }, + "delete": { "perms": ["SAVED_FILTER_DIALOG_FILTERS"] } + } + }, + "cfdi": { + "name": "cfdi", + "label": "FilterDialog Interface", + "table": "config.filter_dialog_interface", + "pkey": "key", + "pkey_sequence": "config.filter_dialog_interface_pkey", + "fields": [ + { "name": "key", "label": "Interface Key", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cfg": { + "name": "cfg", + "label": "Floating Group", + "table": "config.floating_group", + "pkey": "id", + "pkey_sequence": "config.floating_group_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "manual", "label": "Manual", "datatype": "bool" }, + { + "name": "members", + "label": "Group Members", + "virtual": true, + "type": "link", + "key": "floating_group", + "class": "cfgm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_FLOAT_GROUPS"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_FLOAT_GROUPS"] }, + "delete": { "perms": ["ADMIN_FLOAT_GROUPS"] } + } + }, + "cfgm": { + "name": "cfgm", + "label": "Floating Group Members", + "table": "config.floating_group_member", + "pkey": "id", + "pkey_sequence": "config.floating_group_member_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "floating_group", + "label": "Floating Group", + "type": "link", + "key": "id", + "class": "cfg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "stop_depth", "label": "Stop Depth", "datatype": "int" }, + { "name": "max_depth", "label": "Max Depth", "datatype": "int" }, + { "name": "exclude", "label": "Exclude", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_FLOAT_GROUPS"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_FLOAT_GROUPS"] }, + "delete": { "perms": ["ADMIN_FLOAT_GROUPS"] } + } + }, + "cgf": { + "name": "cgf", + "label": "Global Flags and Settings", + "table": "config.global_flag", + "pkey": "name", + "fields": [ + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" }, + { "name": "enabled", "label": "Enabled", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_GLOBAL_FLAG"] }, + "retrieve": { "perms": ["ADMIN_GLOBAL_FLAG"] }, + "update": { "perms": ["ADMIN_GLOBAL_FLAG"] }, + "delete": { "perms": ["ADMIN_GLOBAL_FLAG"] } + } + }, + "chdd": { + "name": "chdd", + "label": "Hard Due Date", + "table": "config.hard_due_date", + "pkey": "id", + "pkey_sequence": "config.hard_due_date_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "forceto", "label": "Always Use?", "datatype": "bool" }, + { + "name": "ceiling_date", + "label": "Current Ceiling Date", + "datatype": "timestamp" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_CIRC_DURATION"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_CIRC_DURATION"] }, + "delete": { "perms": ["DELETE_CIRC_DURATION"] } + } + }, + "chddv": { + "name": "chddv", + "label": "Hard Due Date Values", + "table": "config.hard_due_date_values", + "pkey": "id", + "pkey_sequence": "config.hard_due_date_values_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "hard_due_date", + "label": "Hard Due Date", + "type": "link", + "key": "id", + "class": "chdd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "ceiling_date", + "label": "Ceiling Date", + "datatype": "timestamp" + }, + { "name": "active_date", "label": "Active Date", "datatype": "timestamp" } + ], + "permacrud": { + "create": { "perms": ["CREATE_CIRC_DURATION"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_CIRC_DURATION"] }, + "delete": { "perms": ["DELETE_CIRC_DURATION"] } + } + }, + "chmm": { + "name": "chmm", + "label": "Hold Matrix Matchpoint", + "table": "config.hold_matrix_matchpoint", + "pkey": "id", + "pkey_sequence": "config.hold_matrix_matchpoint_id_seq", + "fields": [ + { "name": "id", "label": "Matchpoint ID", "datatype": "id" }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { + "name": "strict_ou_match", + "label": "Strict OU matches?", + "datatype": "bool" + }, + { + "name": "user_home_ou", + "label": "User Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_ou", + "label": "Request Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "pickup_ou", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "item_owning_ou", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "item_circ_ou", + "label": "Item Circ Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "usr_grp", + "label": "User Permission Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "requestor_grp", + "label": "Requestor Permission Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_type", + "label": "MARC Type", + "type": "link", + "key": "code", + "class": "citm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_form", + "label": "MARC Form", + "type": "link", + "key": "code", + "class": "cifm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_bib_level", + "label": "MARC Bib Level", + "type": "link", + "key": "code", + "class": "cblvl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_vr_format", + "label": "Videorecording Format", + "type": "link", + "key": "code", + "class": "cvrfm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "ref_flag", "label": "Reference?", "datatype": "bool" }, + { "name": "item_age", "label": "Item Age <", "datatype": "text" }, + { "name": "holdable", "label": "Holdable?", "datatype": "bool" }, + { + "name": "distance_is_from_owner", + "label": "Range is from Owning Lib?", + "datatype": "bool" + }, + { + "name": "transit_range", + "label": "Transit Range", + "type": "link", + "key": "id", + "class": "aout", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "max_holds", "label": "Max Holds", "datatype": "int" }, + { + "name": "include_frozen_holds", + "label": "Max includes Frozen", + "datatype": "bool" + }, + { + "name": "age_hold_protect_rule", + "label": "Copy Age Hold Protection Rule", + "type": "link", + "key": "id", + "class": "crahp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "description", "label": "Description", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] }, + "retrieve": { + "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT", "VIEW_HOLD_MATRIX_MATCHPOINT"] + }, + "update": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] } + } + }, + "chmw": { + "name": "chmw", + "label": "Hold Matrix Weights", + "table": "config.hold_matrix_weights", + "pkey": "id", + "pkey_sequence": "config.hold_matrix_weights_id_seq", + "fields": [ + { + "name": "id", + "label": "Hold Weights ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "user_home_ou", + "label": "User Home Library", + "datatype": "float" + }, + { "name": "request_ou", "label": "Request Library", "datatype": "float" }, + { "name": "pickup_ou", "label": "Pickup Library", "datatype": "float" }, + { + "name": "item_owning_ou", + "label": "Owning Library", + "datatype": "float" + }, + { + "name": "item_circ_ou", + "label": "Item Circ Library", + "datatype": "float" + }, + { + "name": "usr_grp", + "label": "User Permission Group", + "datatype": "float" + }, + { + "name": "requestor_grp", + "label": "Requestor Permission Group", + "datatype": "float" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "datatype": "float" + }, + { "name": "marc_type", "label": "MARC Type", "datatype": "float" }, + { "name": "marc_form", "label": "MARC Form", "datatype": "float" }, + { + "name": "marc_bib_level", + "label": "MARC Bib Level", + "datatype": "float" + }, + { + "name": "marc_vr_format", + "label": "Videorecording Format", + "datatype": "float" + }, + { "name": "juvenile_flag", "label": "Juvenile?", "datatype": "float" }, + { "name": "ref_flag", "label": "Reference?", "datatype": "float" }, + { "name": "item_age", "label": "Item Age <", "datatype": "float" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] }, + "delete": { "perms": ["ADMIN_HOLD_MATRIX_MATCHPOINT"] } + } + }, + "cifm": { + "name": "cifm", + "label": "Item Form Map", + "table": "config.item_form_map", + "pkey": "code", + "pkey_sequence": "", + "fields": [ + { + "name": "code", + "label": "Item Form Code", + "selector": "value", + "datatype": "text" + }, + { + "name": "value", + "label": "Item Form", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_MARC_CODE"] }, + "delete": { "perms": ["ADMIN_MARC_CODE"] } + } + }, + "cin": { + "name": "cin", + "label": "Indexing Normalizer", + "table": "config.index_normalizer", + "pkey": "id", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "func", "label": "Function", "datatype": "text" }, + { + "name": "param_count", + "label": "Required Parameter Count", + "datatype": "int" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "delete": { "perms": ["ADMIN_INDEX_NORMALIZER"] } + } + }, + "circ": { + "name": "circ", + "label": "Circulation", + "table": "action.circulation", + "core": true, + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "checkin_lib", + "label": "Check In Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "checkin_staff", + "label": "Check In Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Check In Date/Time", + "datatype": "timestamp" + }, + { + "name": "circ_lib", + "label": "Checkout / Renewal Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "desk_renewal", "label": "Desk Renewal", "datatype": "bool" }, + { "name": "due_date", "label": "Due Date/Time", "datatype": "timestamp" }, + { + "name": "duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "duration_rule", + "label": "Circ Duration Rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "id", "label": "Circ ID", "datatype": "id" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "label": "OPAC Renewal", "datatype": "bool" }, + { "name": "phone_renewal", "label": "Phone Renewal", "datatype": "bool" }, + { + "name": "recurring_fine", + "label": "Recurring Fine Amount", + "datatype": "money" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "renewal_remaining", + "label": "Remaining Renewals", + "datatype": "int" + }, + { + "name": "grace_period", + "label": "Grace Period", + "datatype": "interval" + }, + { "name": "stop_fines", "label": "Fine Stop Reason", "datatype": "text" }, + { + "name": "stop_fines_time", + "label": "Fine Stop Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "Patron", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_workstation", + "label": "Checkin Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_scan_time", + "label": "Checkin Scan Date/Time", + "datatype": "timestamp" + }, + { + "name": "parent_circ", + "label": "Parent Circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "billings", + "label": "Transaction Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Transaction Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Base Transaction", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circ_type", + "label": "Circulation Type", + "virtual": true, + "type": "link", + "key": "id", + "class": "rcirct", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "unrecovered", + "label": "Unrecovered Debt", + "datatype": "bool" + }, + { + "name": "copy_location", + "label": "Shelving Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "aaactsc_entries", + "label": "Archived Patron Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaactsc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "aaasc_entries", + "label": "Archived Copy Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaasc", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "auto_renewal", "label": "Auto Renewal", "datatype": "bool" }, + { + "name": "auto_renewal_remaining", + "label": "Remaining Auto Renewals", + "datatype": "int" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_CIRCULATIONS"] } } + }, + "circbyyr": { + "name": "circbyyr", + "source": "( 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) as is_renewal FROM 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) as is_renewal FROM 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 FROM extend_reporter.legacy_circ_count )x GROUP BY 1, 3, 4 )", + "fields": [ + { + "name": "copy", + "label": "Copy ID", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "count", "label": "Count", "datatype": "int" }, + { "name": "year", "label": "Year", "datatype": "int" }, + { "name": "is_renewal", "label": "Renewal", "datatype": "bool" } + ], + "permacrud": { "retrieve": {} } + }, + "cit": { + "name": "cit", + "label": "Identification Type", + "table": "config.identification_type", + "pkey": "id", + "pkey_sequence": "config.identification_type_id_seq", + "fields": [ + { + "name": "id", + "label": "Identification ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "name", + "label": "Identification Name", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_IDENT_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_IDENT_TYPE"] }, + "delete": { "perms": ["ADMIN_IDENT_TYPE"] } + } + }, + "citm": { + "name": "citm", + "label": "Item Type Map", + "table": "config.item_type_map", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Item Type Code", + "selector": "value", + "datatype": "text" + }, + { + "name": "value", + "label": "Item Type", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_MARC_CODE"] }, + "delete": { "perms": ["ADMIN_MARC_CODE"] } + } + }, + "clfm": { + "name": "clfm", + "label": "Literary Form", + "table": "config.lit_form_map", + "pkey": "code", + "pkey_sequence": "", + "fields": [ + { "name": "code", "label": "LitF Code", "datatype": "text" }, + { + "name": "description", + "label": "LitF Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "value", + "label": "LitF Name", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MARC_CODE"] }, + "delete": { "perms": ["DELETE_MARC_CODE"] } + } + }, + "clm": { + "name": "clm", + "label": "Language Map", + "table": "config.language_map", + "pkey": "code", + "pkey_sequence": "", + "fields": [ + { + "name": "code", + "label": "Language Code", + "selector": "value", + "datatype": "text" + }, + { "name": "value", "label": "Language", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MARC_CODE"] }, + "delete": { "perms": ["DELETE_MARC_CODE"] } + } + }, + "cmc": { + "name": "cmc", + "label": "Metabib Class", + "table": "config.metabib_class", + "pkey": "name", + "fields": [ + { + "name": "name", + "label": "Name", + "selector": "label", + "datatype": "text" + }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "buoyant", "label": "Buoyant?", "datatype": "bool" }, + { "name": "restrict", "label": "Restrict?", "datatype": "bool" }, + { "name": "combined", "label": "Combined?", "datatype": "bool" }, + { "name": "a_weight", "label": "A Weight", "datatype": "float" }, + { "name": "b_weight", "label": "B Weight", "datatype": "float" }, + { "name": "c_weight", "label": "C Weight", "datatype": "float" }, + { "name": "d_weight", "label": "D Weight", "datatype": "float" }, + { + "name": "fields", + "label": "Fields", + "virtual": true, + "type": "link", + "key": "name", + "class": "cmf", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_METABIB_CLASS"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_METABIB_CLASS"] }, + "delete": { "perms": ["DELETE_METABIB_CLASS"] } + } + }, + "cmcts": { + "name": "cmcts", + "label": "Metabib Class TS Map", + "table": "config.metabib_class_ts_map", + "pkey": "id", + "pkey_sequence": "config.metabib_class_ts_map_id_seq", + "fields": [ + { "name": "id", "label": "Map ID", "datatype": "id" }, + { + "name": "field_class", + "label": "Metabib Class", + "type": "link", + "key": "name", + "class": "cmc", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "ts_config", + "label": "Text Search Config", + "type": "link", + "key": "id", + "class": "ctcl", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { "name": "index_weight", "label": "Index Weight", "datatype": "text" }, + { "name": "index_lang", "label": "Index Language", "datatype": "text" }, + { "name": "search_lang", "label": "Search Language", "datatype": "text" }, + { "name": "always", "label": "Always Apply?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "delete": { "perms": ["ADMIN_INDEX_NORMALIZER"] } + } + }, + "cmf": { + "name": "cmf", + "label": "Metabib Field", + "table": "config.metabib_field", + "pkey": "id", + "pkey_sequence": "config.metabib_field_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "label", "datatype": "id" }, + { + "name": "field_class", + "label": "Class", + "type": "link", + "key": "name", + "class": "cmc", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "weight", "label": "Weight", "datatype": "int" }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { "name": "joiner", "label": "Joiner", "datatype": "text" }, + { + "name": "format", + "label": "Format", + "type": "link", + "key": "name", + "class": "cxt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "search_field", "label": "Search Field", "datatype": "bool" }, + { "name": "facet_field", "label": "Facet Field", "datatype": "bool" }, + { "name": "facet_xpath", "label": "Facet XPath", "datatype": "text" }, + { + "name": "display_field", + "label": "Display Field?", + "datatype": "bool" + }, + { "name": "display_xpath", "label": "Display XPath", "datatype": "text" }, + { "name": "browse_field", "label": "Browse Field", "datatype": "bool" }, + { "name": "browse_xpath", "label": "Browse XPath", "datatype": "text" }, + { + "name": "browse_sort_xpath", + "label": "Browse Sort XPath", + "datatype": "text" + }, + { + "name": "authority_xpath", + "label": "Authority XPath", + "datatype": "text" + }, + { "name": "restrict", "label": "Restrict?", "datatype": "bool" }, + { + "name": "display_field_map", + "label": "Display Field Map", + "virtual": true, + "type": "link", + "key": "field", + "class": "cdfm", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "data_sources", + "label": "Virtual Field Data Suppliers", + "virtual": true, + "type": "link", + "key": "virtual", + "class": "cmfvm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_METABIB_FIELD"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_METABIB_FIELD"] }, + "delete": { "perms": ["DELETE_METABIB_FIELD"] } + } + }, + "cmfinm": { + "name": "cmfinm", + "label": "Metabib Field to Indexing Normalizer Map", + "table": "config.metabib_field_index_norm_map", + "pkey": "id", + "pkey_sequence": "config.metabib_field_index_norm_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "field", + "label": "Metabib Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "norm", + "label": "Normalizer", + "type": "link", + "key": "id", + "class": "cin", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "params", + "label": "Parameters (JSON Array)", + "datatype": "text" + }, + { "name": "pos", "label": "Order of Application", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "delete": { "perms": ["ADMIN_INDEX_NORMALIZER"] } + } + }, + "cmfpm": { + "name": "cmfpm", + "label": "MARC21 Fixed Field Map", + "table": "config.marc21_ff_pos_map", + "pkey": "id", + "pkey_sequence": "config.marc21_ff_pos_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "fixed_field", "label": "Fixed Field", "datatype": "text" }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "rec_type", "label": "Record Type", "datatype": "text" }, + { "name": "start_pos", "label": "Start Postion", "datatype": "int" }, + { "name": "length", "label": "Length", "datatype": "int" }, + { "name": "default_val", "label": "Default Value", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cmfts": { + "name": "cmfts", + "label": "Metabib Field TS Map", + "table": "config.metabib_field_ts_map", + "pkey": "id", + "pkey_sequence": "config.metabib_field_ts_map_id_seq", + "fields": [ + { "name": "id", "label": "Map ID", "datatype": "id" }, + { + "name": "metabib_field", + "label": "Metabib Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "ts_config", + "label": "Text Search Config", + "type": "link", + "key": "id", + "class": "ctcl", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { "name": "index_weight", "label": "Index Weight", "datatype": "text" }, + { "name": "index_lang", "label": "Index Language", "datatype": "text" }, + { "name": "search_lang", "label": "Search Language", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "delete": { "perms": ["ADMIN_INDEX_NORMALIZER"] } + } + }, + "cmfvm": { + "name": "cmfvm", + "label": "Metabib Field Virtual Map", + "table": "config.metabib_field_virtual_map", + "pkey": "id", + "pkey_sequence": "config.metabib_field_virtual_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "real", + "label": "Real", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "virtual", + "label": "Virtual", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "weight", "label": "Weight", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_METABIB_FIELD", "ADMIN_METABIB_FIELD"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_METABIB_FIELD", "ADMIN_METABIB_FIELD"] }, + "delete": { "perms": ["DELETE_METABIB_FIELD", "ADMIN_METABIB_FIELD"] } + } + }, + "cmpcsm": { + "name": "cmpcsm", + "label": "MARC21 Physical Characteristic Subfield Map", + "table": "config.marc21_physical_characteristic_subfield_map", + "pkey": "id", + "pkey_sequence": "config.marc21_physical_characteristic_subfield_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "ptype_key", + "label": "Type Key", + "type": "link", + "key": "id", + "class": "cmpctm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "start_pos", "label": "Start Postion", "datatype": "int" }, + { "name": "length", "label": "Length", "datatype": "int" }, + { "name": "label", "label": "Label", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cmpctm": { + "name": "cmpctm", + "label": "MARC21 Physical Characteristic Type Map", + "table": "config.marc21_physical_characteristic_type_map", + "pkey": "ptype_key", + "fields": [ + { "name": "ptype_key", "label": "Type Key", "datatype": "id" }, + { "name": "label", "label": "Label", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cmpcvm": { + "name": "cmpcvm", + "label": "MARC21 Physical Characteristic Value Map", + "table": "config.marc21_physical_characteristic_value_map", + "pkey": "id", + "pkey_sequence": "config.marc21_physical_characteristic_value_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "value", "label": "Value", "datatype": "text" }, + { + "name": "ptype_subfield", + "label": "Subfield", + "type": "link", + "key": "id", + "class": "cmpcsm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cmrcfld": { + "name": "cmrcfld", + "label": "MARC Fields", + "table": "config.marc_field", + "pkey": "id", + "pkey_sequence": "config.marc_field_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "marc_format", + "label": "MARC Format", + "required": true, + "type": "link", + "key": "id", + "class": "cmrcfmt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_record_type", + "label": "MARC Record Type", + "required": true, + "datatype": "text" + }, + { + "name": "tag", + "label": "MARC Tag", + "required": true, + "datatype": "text" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "fixed_field", "label": "Fixed Field?", "datatype": "bool" }, + { "name": "repeatable", "label": "Repeatable?", "datatype": "bool" }, + { "name": "mandatory", "label": "Mandatory?", "datatype": "bool" }, + { "name": "hidden", "label": "Hidden?", "datatype": "bool" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_TAG_TABLE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_TAG_TABLE"] }, + "delete": { "perms": ["ADMIN_TAG_TABLE"] } + } + }, + "cmrcfmt": { + "name": "cmrcfmt", + "label": "MARC Formats", + "table": "config.marc_format", + "pkey": "id", + "pkey_sequence": "config.marc_format_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "code", "label": "Code", "required": true, "datatype": "text" }, + { + "name": "name", + "label": "Name", + "required": true, + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_TAG_TABLE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_TAG_TABLE"] }, + "delete": { "perms": ["ADMIN_TAG_TABLE"] } + } + }, + "cmrcsubfld": { + "name": "cmrcsubfld", + "label": "MARC Subfields", + "table": "config.marc_subfield", + "pkey": "id", + "pkey_sequence": "config.marc_subfield_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "marc_format", + "label": "MARC Format", + "required": true, + "type": "link", + "key": "id", + "class": "cmrcfmt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "marc_record_type", + "label": "MARC Record Type", + "required": true, + "datatype": "text" + }, + { + "name": "tag", + "label": "MARC Tag", + "required": true, + "datatype": "text" + }, + { + "name": "code", + "label": "MARC Subfield", + "required": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "repeatable", "label": "Repeatable?", "datatype": "bool" }, + { "name": "mandatory", "label": "Mandatory?", "datatype": "bool" }, + { "name": "hidden", "label": "Hidden?", "datatype": "bool" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_TAG_TABLE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_TAG_TABLE"] }, + "delete": { "perms": ["ADMIN_TAG_TABLE"] } + } + }, + "cmrtm": { + "name": "cmrtm", + "label": "MARC21 Record Type Map", + "table": "config.marc21_rec_type_map", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "datatype": "id" }, + { "name": "type_val", "label": "Type Value", "datatype": "text" }, + { "name": "blvl_val", "label": "BLvl Value", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cmsa": { + "name": "cmsa", + "label": "Metabib Search Alias", + "table": "config.metabib_search_alias", + "pkey": "alias", + "fields": [ + { "name": "alias", "label": "Alias (RegExp)", "datatype": "text" }, + { + "name": "field_class", + "label": "Class", + "type": "link", + "key": "name", + "class": "cmc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "field", + "label": "Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_METABIB_SEARCH_ALIAS"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_METABIB_SEARCH_ALIAS"] }, + "delete": { "perms": ["DELETE_METABIB_SEARCH_ALIAS"] } + } + }, + "cnal": { + "name": "cnal", + "label": "Net Access Level", + "table": "config.net_access_level", + "pkey": "id", + "pkey_sequence": "config.net_access_level_id_seq", + "fields": [ + { "name": "id", "selector": "name", "datatype": "id" }, + { "name": "name", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_NET_ACCESS_LEVEL"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_NET_ACCESS_LEVEL"] }, + "delete": { "perms": ["DELETE_NET_ACCESS_LEVEL"] } + } + }, + "cnct": { + "name": "cnct", + "label": "Non-cataloged Type", + "table": "config.non_cataloged_type", + "pkey": "id", + "pkey_sequence": "config.non_cataloged_type_id_seq", + "fields": [ + { + "name": "circ_duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "id", + "label": "Non-cat Type ID", + "selector": "name", + "datatype": "id" + }, + { "name": "in_house", "label": "In House?", "datatype": "bool" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_NON_CAT_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["CREATE_NON_CAT_TYPE"] }, + "delete": { "perms": ["CREATE_NON_CAT_TYPE"] } + } + }, + "combahr": { + "name": "combahr", + "label": "Combined (Active & Aged) Hold Request", + "table": "action.all_hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "fields": [ + { + "name": "status", + "label": "Status", + "virtual": true, + "datatype": "text" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp" + }, + { + "name": "current_copy", + "label": "Currently Targeted Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "email_notify", + "label": "Notify by Email?", + "datatype": "bool" + }, + { + "name": "expire_time", + "label": "Hold Expire Date/Time", + "datatype": "timestamp" + }, + { + "name": "fulfillment_lib", + "label": "Fulfilling Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "fulfillment_staff", + "label": "Fulfilling Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp" + }, + { "name": "hold_type", "label": "Hold Type", "datatype": "text" }, + { + "name": "holdable_formats", + "label": "Holdable Formats (for M-type hold)", + "datatype": "text" + }, + { "name": "id", "label": "Hold ID", "datatype": "id" }, + { + "name": "phone_notify", + "label": "Notify by Phone?", + "datatype": "bool" + }, + { "name": "sms_notify", "label": "Notify by SMS?", "datatype": "bool" }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "prev_check_time", + "label": "Last Targeting Date/Time", + "datatype": "timestamp" + }, + { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp" + }, + { "name": "usr_post_code", "label": "Patron ZIP", "datatype": "text" }, + { + "name": "usr_home_ou", + "label": "Patron Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_profile", + "label": "Patron Profile Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_birth_year", + "label": "Patron Birth Year", + "datatype": "int" + }, + { "name": "staff_placed", "label": "Staff Placed?", "datatype": "bool" }, + { + "name": "selection_depth", + "label": "Item Selection Depth", + "datatype": "text" + }, + { + "name": "selection_ou", + "label": "Selection Locus", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "target", "label": "Target Object ID", "datatype": "link" }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp" + }, + { + "name": "bib_rec", + "label": "Bib Record link", + "virtual": true, + "type": "link", + "key": "id", + "class": "rhrr", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "frozen", "label": "Currently Frozen", "datatype": "bool" }, + { + "name": "thaw_date", + "label": "Activation Date", + "datatype": "timestamp" + }, + { "name": "shelf_time", "label": "Shelf Time", "datatype": "timestamp" }, + { + "name": "cancel_cause", + "label": "Cancelation cause", + "type": "link", + "key": "id", + "class": "ahrcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_note", + "label": "Cancelation note", + "datatype": "text" + }, + { "name": "cut_in_line", "label": "Top of Queue", "datatype": "bool" }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "shelf_expire_time", + "label": "Shelf Expire Time", + "datatype": "timestamp" + }, + { + "name": "current_shelf_lib", + "label": "Current Shelf Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "behind_desk", "label": "Behind Desk", "datatype": "bool" } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_HOLD"] } } + }, + "combcirc": { + "name": "combcirc", + "label": "Combined Aged and Active Circulations", + "table": "action.all_circulation", + "core": true, + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "checkin_lib", + "label": "Check In Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "checkin_staff", + "label": "Check In Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Check In Date/Time", + "datatype": "timestamp" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "desk_renewal", "label": "Desk Renewal", "datatype": "bool" }, + { "name": "due_date", "label": "Due Date/Time", "datatype": "timestamp" }, + { + "name": "duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "duration_rule", + "label": "Circ Duration Rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "id", "label": "Circ ID", "datatype": "id" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "label": "OPAC Renewal", "datatype": "bool" }, + { "name": "phone_renewal", "label": "Phone Renewal", "datatype": "bool" }, + { + "name": "recurring_fine", + "label": "Recurring Fine Amount", + "datatype": "money" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "renewal_remaining", + "label": "Remaining Renewals", + "datatype": "int" + }, + { + "name": "grace_period", + "label": "Grace Period", + "datatype": "interval" + }, + { "name": "stop_fines", "label": "Fine Stop Reason", "datatype": "text" }, + { + "name": "stop_fines_time", + "label": "Fine Stop Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "usr_post_code", "label": "Patron ZIP", "datatype": "text" }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "create_time", + "label": "Record Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "parent_circ", + "label": "Parent Circulation", + "type": "link", + "key": "id", + "class": "acirc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "checkin_scan_time", + "label": "Checkin Scan Time", + "datatype": "timestamp" + }, + { + "name": "checkin_workstation", + "label": "Checkin Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "Patron", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "billings", + "label": "Transaction Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Transaction Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Base Transaction", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_type", + "label": "Circulation Type", + "virtual": true, + "type": "link", + "key": "id", + "class": "rcirct", + "reltype": "might_have", + "datatype": "text" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "usr_home_ou", + "label": "Patron Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_profile", + "label": "Patron Profile Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr_birth_year", + "label": "Patron Birth Year", + "datatype": "int" + }, + { + "name": "copy_call_number", + "label": "Call Number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_location", + "label": "Shelving Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_owning_lib", + "label": "Copy Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_circ_lib", + "label": "Copy Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "copy_bib_record", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "aaactsc_entries", + "label": "Archived Patron Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaactsc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "aaasc_entries", + "label": "Archived Copy Stat-Cat Entries", + "virtual": true, + "type": "link", + "key": "xact", + "class": "aaasc", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "active_circ", + "label": "Linked Active Circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "aged_circ", + "label": "Linked Aged Circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "acirc", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_CIRCULATIONS"] } } + }, + "coust": { + "name": "coust", + "label": "Organizational Unit Setting Type", + "table": "config.org_unit_setting_type", + "pkey": "name", + "fields": [ + { + "name": "name", + "type": "link", + "key": "name", + "class": "aous", + "reltype": "has_many", + "datatype": "text" + }, + { "name": "label", "i18n": true, "datatype": "text" }, + { "name": "description", "i18n": true, "datatype": "text" }, + { "name": "datatype", "datatype": "text" }, + { + "name": "view_perm", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "update_perm", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fm_class", "datatype": "text" }, + { + "name": "grp", + "type": "link", + "key": "name", + "class": "csg", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE"] }, + "delete": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE"] } + } + }, + "coustl": { + "name": "coustl", + "label": "Organizational Unit Setting Type Log", + "table": "config.org_unit_setting_type_log", + "pkey": "id", + "pkey_sequence": "config.org_unit_setting_type_log_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "date_applied", "datatype": "timestamp" }, + { + "name": "org", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "original_value", "datatype": "text" }, + { "name": "new_value", "datatype": "text" }, + { + "name": "field_name", + "type": "link", + "key": "name", + "class": "coust", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE_LOG"] }, + "delete": { "perms": ["ADMIN_ORG_UNIT_SETTING_TYPE_LOG"] } + } + }, + "cracct": { + "name": "cracct", + "label": "Remote (3rd party) Account", + "table": "config.remote_account", + "pkey": "id", + "pkey_sequence": "config.remote_account_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { "name": "host", "label": "Host", "datatype": "text" }, + { "name": "username", "label": "Username", "datatype": "text" }, + { "name": "password", "label": "Password", "datatype": "text" }, + { "name": "account", "label": "Account", "datatype": "text" }, + { "name": "path", "label": "Path", "datatype": "text" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "last_activity", + "label": "Last Activity", + "datatype": "timestamp" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_CONFIG_REMOTE_ACCOUNT"] }, + "retrieve": { "perms": ["ADMIN_CONFIG_REMOTE_ACCOUNT"] }, + "update": { "perms": ["ADMIN_CONFIG_REMOTE_ACCOUNT"] }, + "delete": { "perms": ["ADMIN_CONFIG_REMOTE_ACCOUNT"] } + } + }, + "crad": { + "name": "crad", + "label": "SVF Record Attribute Defintion", + "table": "config.record_attr_definition", + "pkey": "name", + "fields": [ + { + "name": "name", + "label": "Name", + "selector": "label", + "required": true, + "datatype": "id" + }, + { + "name": "label", + "label": "Label", + "required": true, + "i18n": true, + "datatype": "text" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "multi", "label": "Multi-valued?", "datatype": "bool" }, + { "name": "filter", "label": "Filter?", "datatype": "bool" }, + { "name": "sorter", "label": "Sorter?", "datatype": "bool" }, + { + "name": "composite", + "label": "Composite attribute?", + "datatype": "bool" + }, + { "name": "tag", "label": "MARC Tag", "datatype": "text" }, + { "name": "sf_list", "label": "MARC Subfields", "datatype": "text" }, + { "name": "joiner", "label": "Joiner", "datatype": "text" }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { + "name": "format", + "label": "Format", + "type": "link", + "key": "name", + "class": "cxt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "start_pos", "label": "Starting Position", "datatype": "int" }, + { "name": "string_len", "label": "String Length", "datatype": "int" }, + { "name": "fixed_field", "label": "Fixed Field", "datatype": "text" }, + { + "name": "phys_char_sf", + "label": "Physical Characteristic", + "datatype": "text" + }, + { "name": "vocabulary", "label": "Vocabulary URI", "datatype": "text" }, + { + "name": "normalizers", + "label": "Normalizers", + "virtual": true, + "type": "link", + "key": "name", + "class": "crainm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SVF"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SVF"] }, + "delete": { "perms": ["ADMIN_SVF"] } + } + }, + "crahp": { + "name": "crahp", + "label": "Age Hold Protection Rule", + "table": "config.rule_age_hold_protect", + "pkey": "id", + "pkey_sequence": "config.rule_age_hold_protect_id_seq", + "fields": [ + { "name": "age", "label": "Item Age", "datatype": "interval" }, + { + "name": "id", + "label": "Rule ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Rule Name", "datatype": "text" }, + { "name": "prox", "label": "Allowed Proximity", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_AGE_PROTECT_RULE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_AGE_PROTECT_RULE"] }, + "delete": { "perms": ["ADMIN_AGE_PROTECT_RULE"] } + } + }, + "crainm": { + "name": "crainm", + "label": "SVF Record Attribute to Indexing Normalizer Map", + "table": "config.record_attr_index_norm_map", + "pkey": "id", + "pkey_sequence": "config.record_attr_index_norm_map_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "attr", + "label": "SVF Attribute", + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "norm", + "label": "Normalizer", + "type": "link", + "key": "id", + "class": "cin", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "params", + "label": "Parameters (JSON Array)", + "datatype": "text" + }, + { "name": "pos", "label": "Order of Application", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_INDEX_NORMALIZER"] }, + "delete": { "perms": ["ADMIN_INDEX_NORMALIZER"] } + } + }, + "crcd": { + "name": "crcd", + "label": "Circulation Duration Rule", + "table": "config.rule_circ_duration", + "pkey": "id", + "pkey_sequence": "config.rule_circ_duration_id_seq", + "fields": [ + { "name": "extended", "datatype": "interval" }, + { "name": "id", "selector": "name", "datatype": "id" }, + { "name": "max_renewals", "datatype": "int" }, + { "name": "name", "datatype": "text" }, + { "name": "normal", "datatype": "interval" }, + { "name": "shrt", "datatype": "interval" }, + { "name": "max_auto_renewals", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_CIRC_DURATION"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_CIRC_DURATION"] }, + "delete": { "perms": ["DELETE_CIRC_DURATION"] } + } + }, + "crmf": { + "name": "crmf", + "label": "Max Fine Rule", + "table": "config.rule_max_fine", + "pkey": "id", + "pkey_sequence": "config.rule_max_fine_id_seq", + "fields": [ + { "name": "amount", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "id", + "label": "Rule ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Rule Name", "datatype": "text" }, + { "name": "is_percent", "label": "Is Percent", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_MAX_FINE_RULE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_MAX_FINE_RULE"] }, + "delete": { "perms": ["ADMIN_MAX_FINE_RULE"] } + } + }, + "crrf": { + "name": "crrf", + "label": "Recurring Fine Rule", + "table": "config.rule_recurring_fine", + "pkey": "id", + "pkey_sequence": "config.rule_recurring_fine_id_seq", + "fields": [ + { "name": "high", "datatype": "money" }, + { "name": "id", "selector": "name", "datatype": "id" }, + { "name": "low", "datatype": "money" }, + { "name": "name", "datatype": "text" }, + { "name": "normal", "datatype": "money" }, + { "name": "recurrence_interval", "datatype": "interval" }, + { "name": "grace_period", "datatype": "interval" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_RECURRING_FINE_RULE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_RECURRING_FINE_RULE"] }, + "delete": { "perms": ["ADMIN_RECURRING_FINE_RULE"] } + } + }, + "csc": { + "name": "csc", + "label": "SMS Carrier", + "table": "config.sms_carrier", + "pkey": "id", + "pkey_sequence": "config.sms_carrier_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "region", "label": "Region", "i18n": true, "datatype": "text" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "active", "label": "Active", "i18n": true, "datatype": "bool" }, + { + "name": "email_gateway", + "label": "Email Gateway", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SMS_CARRIER"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SMS_CARRIER"] }, + "delete": { "perms": ["ADMIN_SMS_CARRIER"] } + } + }, + "csg": { + "name": "csg", + "label": "Settings Group", + "table": "config.settings_group", + "pkey": "name", + "fields": [ + { "name": "name", "datatype": "text" }, + { "name": "label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_USER_SETTING_GROUP"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_USER_SETTING_GROUP"] }, + "delete": { "perms": ["ADMIN_USER_SETTING_GROUP"] } + } + }, + "csp": { + "name": "csp", + "label": "Standing Penalty", + "table": "config.standing_penalty", + "pkey": "id", + "pkey_sequence": "config.standing_penalty_id_seq", + "fields": [ + { + "name": "id", + "label": "Penalty ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "block_list", "label": "Block List", "datatype": "text" }, + { "name": "staff_alert", "label": "Staff Alert", "datatype": "bool" }, + { "name": "org_depth", "label": "Org Depth", "datatype": "int" }, + { + "name": "ignore_proximity", + "label": "Ignore Proximity", + "datatype": "int" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_STANDING_PENALTY"] }, + "retrieve": { + "perms": ["ADMIN_STANDING_PENALTY", "VIEW_STANDING_PENALTY"] + }, + "update": { "perms": ["ADMIN_STANDING_PENALTY"] }, + "delete": { "perms": ["ADMIN_STANDING_PENALTY"] } + } + }, + "cst": { + "name": "cst", + "label": "Standing Penalty", + "table": "config.standing", + "pkey": "id", + "pkey_sequence": "config.standing_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "value", "i18n": true, "datatype": "text" } + ] + }, + "ctcl": { + "name": "ctcl", + "label": "Text Search Configs", + "table": "config.ts_config_list", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Text Search Config", + "selector": "name", + "datatype": "text" + }, + { "name": "name", "label": "Text Search Config Name", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "cuat": { + "name": "cuat", + "label": "User Activity Type", + "table": "config.usr_activity_type", + "pkey": "id", + "pkey_sequence": "config.usr_activity_type_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "ewho", "label": "Event Caller", "datatype": "text" }, + { "name": "ewhat", "label": "Event Type", "datatype": "text" }, + { "name": "ehow", "label": "Event Mechanism", "datatype": "text" }, + { "name": "label", "label": "Label", "datatype": "text" }, + { "name": "egroup", "label": "Activity Group", "datatype": "text" }, + { "name": "enabled", "label": "Enabled", "datatype": "bool" }, + { "name": "transient", "label": "Transient", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_USER_ACTIVITY_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_USER_ACTIVITY_TYPE"] }, + "delete": { "perms": ["ADMIN_USER_ACTIVITY_TYPE"] } + } + }, + "cub": { + "name": "cub", + "label": "User Bucket", + "table": "container.user_bucket", + "pkey": "id", + "pkey_sequence": "container.user_bucket_id_seq", + "fields": [ + { + "name": "items", + "virtual": true, + "type": "link", + "key": "bucket", + "class": "cubi", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "btype", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" }, + { "name": "description", "datatype": "text" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pub", "datatype": "bool" }, + { "name": "create_time", "datatype": "timestamp" }, + { + "name": "owning_lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_USER_BUCKET", "ADMIN_USER_BUCKET"] }, + "retrieve": { "perms": ["CREATE_USER_BUCKET", "ADMIN_USER_BUCKET"] }, + "update": { "perms": ["CREATE_USER_BUCKET", "ADMIN_USER_BUCKET"] }, + "delete": { "perms": ["CREATE_USER_BUCKET", "ADMIN_USER_BUCKET"] } + } + }, + "cubi": { + "name": "cubi", + "label": "User Bucket Item", + "table": "container.user_bucket_item", + "pkey": "id", + "pkey_sequence": "container.user_bucket_item_id_seq", + "fields": [ + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "cub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "target_user", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "pos", "datatype": "int" }, + { + "name": "notes", + "virtual": true, + "type": "link", + "key": "item", + "class": "cubin", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["ADMIN_USER_BUCKET"] } } + }, + "cubin": { + "name": "cubin", + "label": "User Bucket Item Note", + "table": "container.user_bucket_item_note", + "pkey": "id", + "pkey_sequence": "container.user_bucket_item_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "item", + "type": "link", + "key": "id", + "class": "cubi", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "cubn": { + "name": "cubn", + "label": "User Bucket Note", + "table": "container.user_bucket_note", + "pkey": "id", + "pkey_sequence": "container.user_bucket_note_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "bucket", + "type": "link", + "key": "id", + "class": "cub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "note", "datatype": "text" } + ] + }, + "cubt": { + "name": "cubt", + "label": "User Bucket Type", + "table": "container.user_bucket_type", + "pkey": "code", + "fields": [ + { "name": "code", "label": "Code", "selector": "name", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_USER_BTYPE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_USER_BTYPE"] }, + "delete": { "perms": ["DELETE_USER_BTYPE"] } + } + }, + "cust": { + "name": "cust", + "label": "User Setting Type", + "table": "config.usr_setting_type", + "pkey": "name", + "fields": [ + { + "name": "name", + "label": "Name", + "type": "link", + "key": "name", + "class": "aus", + "reltype": "has_many", + "datatype": "text" + }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "datatype", "label": "Datatype", "datatype": "text" }, + { "name": "fm_class", "label": "Fieldmapper Class", "datatype": "text" }, + { + "name": "grp", + "label": "Settings Group", + "type": "link", + "key": "name", + "class": "csg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "opac_visible", + "label": "OPAC/Patron Visible", + "datatype": "bool" + }, + { + "name": "reg_default", + "label": "Registration Default", + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_USER_SETTING_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_USER_SETTING_TYPE"] }, + "delete": { "perms": ["ADMIN_USER_SETTING_TYPE"] } + } + }, + "cvrfm": { + "name": "cvrfm", + "label": "Videorecording Format", + "table": "config.videorecording_format_map", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Code", + "selector": "value", + "datatype": "id" + }, + { "name": "value", "label": "Format", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_MARC_CODE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_MARC_CODE"] }, + "delete": { "perms": ["ADMIN_MARC_CODE"] } + } + }, + "cwa": { + "name": "cwa", + "label": "Matrix Weight Association", + "table": "config.weight_assoc", + "pkey": "id", + "pkey_sequence": "config.weight_assoc_id_seq", + "fields": [ + { "name": "id", "label": "Assoc ID", "datatype": "id" }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_weights", + "label": "Circ Weights", + "type": "link", + "key": "id", + "class": "ccmw", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "hold_weights", + "label": "Hold Weights", + "type": "link", + "key": "id", + "class": "chmw", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { + "perms": [ + "ADMIN_CIRC_MATRIX_MATCHPOINT", + "ADMIN_HOLD_MATRIX_MATCHPOINT" + ] + }, + "retrieve": { + "perms": [ + "ADMIN_CIRC_MATRIX_MATCHPOINT", + "ADMIN_HOLD_MATRIX_MATCHPOINT", + "VIEW_CIRC_MATRIX_MATCHPOINT", + "VIEW_HOLD_MATRIX_MATCHPOINT" + ] + }, + "update": { + "perms": [ + "ADMIN_CIRC_MATRIX_MATCHPOINT", + "ADMIN_HOLD_MATRIX_MATCHPOINT" + ] + }, + "delete": { + "perms": [ + "ADMIN_CIRC_MATRIX_MATCHPOINT", + "ADMIN_HOLD_MATRIX_MATCHPOINT" + ] + } + } + }, + "cwst": { + "name": "cwst", + "label": "Workstation Setting Type", + "table": "config.workstation_setting_type", + "pkey": "name", + "fields": [ + { + "name": "name", + "type": "link", + "key": "name", + "class": "aous", + "reltype": "has_many", + "datatype": "text" + }, + { "name": "label", "i18n": true, "datatype": "text" }, + { "name": "description", "i18n": true, "datatype": "text" }, + { "name": "datatype", "datatype": "text" }, + { "name": "fm_class", "datatype": "text" }, + { + "name": "grp", + "type": "link", + "key": "name", + "class": "csg", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_WORKSTATION_SETTING_TYPE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_WORKSTATION_SETTING_TYPE"] }, + "delete": { "perms": ["ADMIN_WORKSTATION_SETTING_TYPE"] } + } + }, + "cxt": { + "name": "cxt", + "label": "XML/XSLT Transform Definition", + "table": "config.xml_transform", + "pkey": "name", + "fields": [ + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "namespace_uri", "label": "Namespace URI", "datatype": "text" }, + { "name": "prefix", "label": "Namespace Prefix", "datatype": "text" }, + { "name": "xslt", "label": "XSLT", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_XML_TRANSFORM"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_XML_TRANSFORM"] }, + "delete": { "perms": ["DELETE_XML_TRANSFORM"] } + } + }, + "cza": { + "name": "cza", + "label": "Z39.50 Attribute", + "table": "config.z3950_attr", + "pkey": "id", + "pkey_sequence": "config.z3950_attr_id_seq", + "fields": [ + { + "name": "id", + "label": "Z39.50 Attribute ID", + "selector": "label", + "datatype": "id" + }, + { + "name": "source", + "label": "Z39.50 Source", + "type": "link", + "key": "name", + "class": "czs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "code", "label": "Code", "datatype": "int" }, + { "name": "format", "label": "Format", "datatype": "int" }, + { "name": "truncation", "label": "Truncation", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "delete": { "perms": ["ADMIN_Z3950_SOURCE"] } + } + }, + "czifm": { + "name": "czifm", + "label": "Z39.50 Index Field Map", + "table": "config.z3950_index_field_map", + "pkey": "id", + "pkey_sequence": "config.z3950_index_field_map_id_seq", + "fields": [ + { "name": "id", "label": "Map ID", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { + "name": "metabib_field", + "label": "Metabib Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "record_attr", + "label": "Record Attribute", + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "z3950_attr", + "label": "Z39.50 Attribute", + "type": "link", + "key": "id", + "class": "cza", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "z3950_attr_type", + "label": "Z39.50 Attribute Type", + "datatype": "text" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "delete": { "perms": ["ADMIN_Z3950_SOURCE"] } + } + }, + "czs": { + "name": "czs", + "label": "Z39.50 Source", + "table": "config.z3950_source", + "pkey": "name", + "fields": [ + { "name": "name", "label": "Z39.50 Source", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "host", "label": "Host", "datatype": "text" }, + { "name": "port", "label": "Port", "datatype": "int" }, + { "name": "db", "label": "DB", "datatype": "text" }, + { "name": "record_format", "label": "Record Format", "datatype": "text" }, + { + "name": "transmission_format", + "label": "Transmission Format", + "datatype": "text" + }, + { "name": "auth", "label": "Auth", "datatype": "bool" }, + { + "name": "attrs", + "label": "Attrs", + "virtual": true, + "type": "link", + "key": "source", + "class": "cza", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "use_perm", + "label": "Use Permission", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_Z3950_SOURCE"] }, + "delete": { "perms": ["ADMIN_Z3950_SOURCE"] } + } + }, + "erccpo": { + "name": "erccpo", + "label": "Library Holdings Count with Deleted", + "table": "extend_reporter.copy_count_per_org", + "pkey": "bibid", + "fields": [ + { + "name": "bibid", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "circ_lib", + "label": "Circulation Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "last_edit_time", + "label": "Last Edit Date", + "datatype": "timestamp" + }, + { + "name": "has_only_deleted_copies", + "label": "Has Only Deleted Copies 0/1", + "datatype": "int" + }, + { + "name": "deleted_count", + "label": "Total deleted copies", + "datatype": "int" + }, + { + "name": "visible_count", + "label": "Total visible copies", + "datatype": "int" + }, + { + "name": "total_count", + "label": "Total copies attached", + "datatype": "int" + } + ] + }, + "erfcc": { + "name": "erfcc", + "label": "Total Circulation Count, Including Legacy", + "table": "extend_reporter.full_circ_count", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Copy ID", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "int" + }, + { + "name": "circ_count", + "label": "Total Circulation Count", + "datatype": "int" + } + ] + }, + "ergbhu": { + "name": "ergbhu", + "label": "Bib IDs by Holding Add/Delete Time (OCLC batch update)", + "table": "extend_reporter.global_bibs_by_holding_update", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Bib ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "holding_update", + "label": "Update Time", + "datatype": "timestamp" + }, + { "name": "update_type", "label": "Update Type", "datatype": "text" } + ] + }, + "ex": { + "name": "ex", + "virtual": true, + "fields": [ + { "name": "err_msg", "virtual": true, "datatype": "text" }, + { "name": "type", "virtual": true, "datatype": "text" } + ] + }, + "fdoc": { + "name": "fdoc", + "label": "IDL Field Doc", + "table": "config.idl_field_doc", + "pkey": "id", + "pkey_sequence": "config.idl_field_doc_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "fm_class", "datatype": "text" }, + { "name": "field", "datatype": "text" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "string", "i18n": true, "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_FIELD_DOC"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_FIELD_DOC"] }, + "delete": { "perms": ["ADMIN_FIELD_DOC"] } + } + }, + "hasholdscount": { + "name": "hasholdscount", + "label": "Copy Has Holds Count", + "source": "( 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 )", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Copy ID", "datatype": "id" }, + { "name": "count", "label": "Holds Count", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "i18n": { + "name": "i18n", + "label": "i18n Core", + "table": "config.i18n_core", + "pkey": "id", + "pkey_sequence": "config.i18n_core_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "fq_field", "datatype": "text" }, + { "name": "identity_value", "datatype": "text" }, + { + "name": "translation", + "type": "link", + "key": "code", + "class": "i18n_l", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "string", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_TRANSLATION"] }, + "retrieve": { + "perms": [ + "CREATE_TRANSLATION", + "UPDATE_TRANSLATION", + "DELETE_TRANSLATION" + ] + }, + "update": { "perms": ["UPDATE_TRANSLATION"] }, + "delete": { "perms": ["DELETE_TRANSLATION"] } + } + }, + "i18n_l": { + "name": "i18n_l", + "label": "Locale", + "table": "config.i18n_locale", + "pkey": "code", + "fields": [ + { "name": "code", "datatype": "id" }, + { "name": "marc_code", "datatype": "text" }, + { "name": "name", "i18n": true, "datatype": "text" }, + { "name": "description", "i18n": true, "datatype": "text" }, + { "name": "rtl", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_LOCALE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_LOCALE"] }, + "delete": { "perms": ["DELETE_LOCALE"] } + } + }, + "iatc": { + "name": "iatc", + "label": "Inter-system Copy Transit", + "core": true, + "source": "( 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 )", + "pkey": "id", + "pkey_sequence": "action.transit_copy_id_seq", + "fields": [ + { + "name": "copy_status", + "label": "Pretransit Copy Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest", + "label": "Destination", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dest_recv_time", + "label": "Receive Date/Time", + "datatype": "timestamp" + }, + { "name": "id", "label": "Transit ID", "datatype": "id" }, + { + "name": "persistant_transfer", + "label": "Is Persistent? (unused)", + "datatype": "bool" + }, + { + "name": "prev_hop", + "label": "Previous Hop (unused)", + "type": "link", + "key": "id", + "class": "atc", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source", + "label": "Source", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source_send_time", + "label": "Send Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Transited Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "hold_transit_copy", + "label": "Hold Transit", + "virtual": true, + "type": "link", + "key": "id", + "class": "ahtc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "cancel_time", + "label": "Cancel Date/Time", + "datatype": "timestamp" + } + ] + }, + "jub": { + "name": "jub", + "label": "Line Item", + "table": "acq.lineitem", + "pkey": "id", + "pkey_sequence": "acq.lineitem_id_seq", + "fields": [ + { "name": "id", "label": "Lineitem ID", "datatype": "id" }, + { + "name": "selector", + "label": "Selecting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "picklist", + "label": "Selection List", + "type": "link", + "key": "id", + "class": "acqpl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "purchase_order", + "label": "Purchase Order", + "type": "link", + "key": "id", + "class": "acqpo", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "provider", + "label": "Provider", + "type": "link", + "key": "id", + "class": "acqpro", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Creation Time", + "datatype": "timestamp" + }, + { "name": "edit_time", "label": "Edit Time", "datatype": "timestamp" }, + { "name": "marc", "label": "MARC", "datatype": "text" }, + { + "name": "eg_bib_id", + "label": "Evergreen Bib ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "source_label", "label": "Source Label", "datatype": "text" }, + { + "name": "expected_recv_time", + "label": "Expected Receive Date", + "datatype": "timestamp" + }, + { "name": "state", "label": "State", "datatype": "text" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "claim_policy", + "label": "Claim Policy", + "type": "link", + "key": "id", + "class": "acqclp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cancel_reason", + "label": "Cancel Reason", + "type": "link", + "key": "id", + "class": "acqcr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "estimated_unit_price", + "label": "Estimated Unit Price", + "datatype": "money" + }, + { + "name": "queued_record", + "label": "Queued Vandelay Record", + "type": "link", + "key": "id", + "class": "vqbr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "item_count", + "label": "Item Count", + "virtual": true, + "datatype": "int" + }, + { + "name": "attributes", + "label": "Descriptive Attributes", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqlia", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "lineitem_details", + "label": "Line Item Details", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqlid", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "lineitem_notes", + "label": "Line Item Notes", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqlin", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "distribution_formulas", + "label": "Distribution Formulas", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqdfa", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "invoice_entries", + "label": "Invoice Entries", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqie", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "order_summary", + "label": "Order Summary", + "virtual": true, + "type": "link", + "key": "lineitem", + "class": "acqlisum", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "retrieve": { + "perms": [ + "CREATE_PURCHASE_ORDER", + "VIEW_PURCHASE_ORDER", + "CREATE_PICKLIST", + "VIEW_PICKLIST" + ] + } + } + }, + "lasso": { + "name": "lasso", + "label": "Org Lasso", + "table": "actor.org_lasso", + "pkey": "id", + "pkey_sequence": "actor.org_lasso_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "name", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_LASSO"] }, + "retrieve": { "perms": ["CREATE_LASSO", "UPDATE_LASSO", "DELETE_LASSO"] }, + "update": { "perms": ["UPDATE_LASSO"] }, + "delete": { "perms": ["DELETE_LASSO"] } + } + }, + "lmap": { + "name": "lmap", + "label": "Org Lasso Map", + "table": "actor.org_lasso_map", + "pkey": "id", + "pkey_sequence": "actor.org_lasso_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "lasso", + "type": "link", + "key": "id", + "class": "lasso", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org_unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_LASSO_MAP"] }, + "retrieve": { + "perms": ["CREATE_LASSO_MAP", "UPDATE_LASSO_MAP", "DELETE_LASSO_MAP"] + }, + "update": { "perms": ["UPDATE_LASSO_MAP"] }, + "delete": { "perms": ["DELETE_LASSO_MAP"] } + } + }, + "maa": { + "name": "maa", + "label": "Account Adjustment", + "table": "money.account_adjustment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "datatype": "money" }, + { "name": "amount_collected", "datatype": "money" }, + { "name": "id", "datatype": "id" }, + { "name": "note", "datatype": "text" }, + { "name": "payment_ts", "datatype": "timestamp" }, + { + "name": "xact", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "billing", + "type": "link", + "key": "id", + "class": "mb", + "reltype": "might_have", + "datatype": "link" + }, + { "name": "payment_type", "virtual": true, "datatype": "text" }, + { + "name": "payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "mafe": { + "name": "mafe", + "label": "Author Field Entry", + "table": "metabib.author_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.author_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mb": { + "name": "mb", + "label": "Billing Line Item", + "table": "money.billing", + "pkey": "id", + "pkey_sequence": "money.billing_id_seq", + "fields": [ + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { + "name": "period_start", + "label": "Billing Period Start", + "datatype": "timestamp" + }, + { + "name": "period_end", + "label": "Billing Period End", + "datatype": "timestamp" + }, + { + "name": "billing_ts", + "label": "Legacy Billing Timestamp", + "datatype": "timestamp" + }, + { + "name": "billing_type", + "label": "Legacy Billing Type", + "datatype": "text" + }, + { "name": "id", "label": "Billing ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "void_time", + "label": "Void Timestamp", + "datatype": "timestamp" + }, + { "name": "voided", "label": "Voided?", "datatype": "bool" }, + { + "name": "voider", + "label": "Voiding Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact", + "label": "Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "btype", + "label": "Type", + "type": "link", + "key": "id", + "class": "cbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "adjustments", + "label": "Adjustments", + "virtual": true, + "type": "link", + "key": "billing", + "class": "maa", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mbe": { + "name": "mbe", + "label": "Combined Browse Entry", + "table": "metabib.browse_entry", + "pkey": "id", + "pkey_sequence": "metabib.browse_entry_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { "name": "value", "datatype": "text" }, + { + "name": "def_maps", + "virtual": true, + "type": "link", + "key": "entry", + "class": "mbedm", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "mbedm": { + "name": "mbedm", + "label": "Combined Browse Entry Definition Map", + "table": "metabib.browse_entry_def_map", + "pkey": "id", + "pkey_sequence": "metabib.browse_entry_def_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "entry", + "type": "link", + "key": "id", + "class": "mbe", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "def", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mbeshm": { + "name": "mbeshm", + "label": "Combined Browse Entry Simple Authority Heading Map", + "table": "metabib.browse_entry_simple_heading_map", + "pkey": "id", + "pkey_sequence": "metabib.browse_entry_simple_heading_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "entry", + "type": "link", + "key": "id", + "class": "mbe", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "simple_heading", + "type": "link", + "key": "id", + "class": "ash", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mbp": { + "name": "mbp", + "label": "Payments: Brick-and-mortar", + "table": "money.bnm_payment_view", + "core": true, + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Date/Time", + "datatype": "timestamp" + }, + { "name": "payment_type", "label": "Payment Type", "datatype": "text" }, + { + "name": "xact", + "label": "Billable Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "accepting_usr", + "label": "Accepting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "voided", "label": "Voided?", "datatype": "bool" }, + { + "name": "cash_payment", + "label": "Cash Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_card_payment", + "label": "Credit Card Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mccp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_payment", + "label": "Credit Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcrp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "check_payment", + "label": "Check Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mckp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "work_payment", + "label": "Work Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mwp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "forgive_payment", + "label": "Forgive Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mfp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "goods_payment", + "label": "Goods Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mgp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "account_adjustment", + "label": "Account Adjustment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "maa", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mbt": { + "name": "mbt", + "label": "Billable Transaction", + "table": "money.billable_xact", + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { "name": "id", "label": "Transaction ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Transaction Start Date/Time", + "datatype": "timestamp" + }, + { + "name": "unrecovered", + "label": "Unrecovered Debt", + "datatype": "bool" + }, + { + "name": "grocery", + "label": "Grocery Billing link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mg", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circulation", + "label": "Circulation Billing link", + "virtual": true, + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billings", + "label": "Billing Line Items", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Payment Line Items", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "summary", + "label": "Payment Summary", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbts", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mbts": { + "name": "mbts", + "label": "Billable Transaction Summary", + "table": "money.materialized_billable_xact_summary", + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "label": "Balance Owed", "datatype": "money" }, + { "name": "id", "label": "Transaction ID", "datatype": "id" }, + { + "name": "last_billing_note", + "label": "Last Billing Note", + "datatype": "text" + }, + { + "name": "last_billing_ts", + "label": "Last Billing Timestamp", + "datatype": "timestamp" + }, + { + "name": "last_billing_type", + "label": "Last Billing Type", + "datatype": "text" + }, + { + "name": "last_payment_note", + "label": "Last Payment Note", + "datatype": "text" + }, + { + "name": "last_payment_ts", + "label": "Last Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "last_payment_type", + "label": "Last Payment Type", + "datatype": "text" + }, + { "name": "total_owed", "label": "Total Owed", "datatype": "money" }, + { "name": "total_paid", "label": "Total Paid", "datatype": "money" }, + { + "name": "usr", + "label": "Billed User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Transaction Start Time", + "datatype": "timestamp" + }, + { "name": "xact_type", "label": "Transaction Type", "datatype": "text" } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mbtslv": { + "name": "mbtslv", + "label": "Billable Transaction Summary with Billing Location", + "table": "money.billable_xact_summary_location_view", + "core": true, + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "label": "Balance Owed", "datatype": "money" }, + { "name": "id", "label": "Transaction ID", "datatype": "id" }, + { + "name": "last_billing_note", + "label": "Last Billing Note", + "datatype": "text" + }, + { + "name": "last_billing_ts", + "label": "Last Billing Timestamp", + "datatype": "timestamp" + }, + { + "name": "last_billing_type", + "label": "Last Billing Type", + "datatype": "text" + }, + { + "name": "last_payment_note", + "label": "Last Payment Note", + "datatype": "text" + }, + { + "name": "last_payment_ts", + "label": "Last Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "last_payment_type", + "label": "Last Payment Type", + "datatype": "text" + }, + { "name": "total_owed", "label": "Total Owed", "datatype": "money" }, + { "name": "total_paid", "label": "Total Paid", "datatype": "money" }, + { + "name": "usr", + "label": "Billed User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Transaction Start Time", + "datatype": "timestamp" + }, + { "name": "xact_type", "label": "Transaction Type", "datatype": "text" }, + { + "name": "billing_location", + "label": "Billing Location", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mccp": { + "name": "mccp", + "label": "Credit Card Payment", + "table": "money.credit_card_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "amount", "datatype": "money" }, + { "name": "amount_collected", "datatype": "money" }, + { "name": "approval_code", "datatype": "text" }, + { + "name": "cash_drawer", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "cc_number", "datatype": "text" }, + { "name": "cc_order_number", "datatype": "text" }, + { "name": "cc_processor", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { "name": "note", "datatype": "text" }, + { "name": "payment_ts", "datatype": "timestamp" }, + { + "name": "xact", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "payment_type", "virtual": true, "datatype": "text" }, + { + "name": "payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mcde": { + "name": "mcde", + "label": "Compressed Display Entry", + "table": "metabib.compressed_display_entry", + "fields": [ + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "name", + "type": "link", + "key": "name", + "class": "cdfm", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "multi", "datatype": "bool" }, + { "name": "label", "datatype": "text" }, + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "mckp": { + "name": "mckp", + "label": "Check Payment", + "table": "money.check_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "label": "Accepting Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "amount_collected", + "label": "Amount Collected", + "datatype": "money" + }, + { + "name": "cash_drawer", + "label": "Workstation link", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "check_number", "label": "Check Number", "datatype": "int" }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "xact", + "label": "Transaction link", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "payment", + "label": "Payment link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "payment_type", + "label": "Payment Type", + "virtual": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mcp": { + "name": "mcp", + "label": "Cash Payment", + "table": "money.cash_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "datatype": "money" }, + { "name": "amount_collected", "datatype": "money" }, + { + "name": "cash_drawer", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { "name": "note", "datatype": "text" }, + { "name": "payment_ts", "datatype": "timestamp" }, + { + "name": "xact", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "payment_type", "virtual": true, "datatype": "text" }, + { + "name": "payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mcrp": { + "name": "mcrp", + "label": "House Credit Payment", + "table": "money.credit_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "label": "Accepting Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "amount_collected", + "label": "Amount Collected", + "datatype": "money" + }, + { "name": "id", "label": "Pyament ID", "datatype": "id" }, + { "name": "note", "label": "Payment Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "xact", + "label": "Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "payment_type", + "label": "Payment Type", + "virtual": true, + "datatype": "text" + }, + { + "name": "payment", + "label": "Payment link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mct": { + "name": "mct", + "label": "Collections Tracker", + "table": "money.collections_tracker", + "pkey": "id", + "pkey_sequence": "money.collections_tracker_id_seq", + "fields": [ + { + "name": "collector", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "enter_time", "datatype": "timestamp" }, + { "name": "id", "datatype": "id" }, + { + "name": "location", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["money.collections_tracker.create"] }, + "retrieve": { "perms": ["money.collections_tracker.create"] }, + "delete": { "perms": ["money.collections_tracker.create"] } + } + }, + "mde": { + "name": "mde", + "label": "Display Field Entry", + "table": "metabib.display_entry", + "pkey": "id", + "pkey_sequence": "metabib.display_entry_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" }, + { "name": "highlight", "virtual": true, "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "mdp": { + "name": "mdp", + "label": "Payments: Desk", + "table": "money.desk_payment_view", + "core": true, + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Date/Time", + "datatype": "timestamp" + }, + { "name": "payment_type", "label": "Payment Type", "datatype": "text" }, + { + "name": "xact", + "label": "Billable Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "accepting_usr", + "label": "Accepting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cash_drawer", + "label": "Cash Drawer", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "voided", "label": "Voided?", "datatype": "bool" }, + { + "name": "cash_payment", + "label": "Cash Payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_card_payment", + "label": "Credit Card Payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mccp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "check_payment", + "label": "Check Payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mckp", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "mfae": { + "name": "mfae", + "label": "Combined Facet Entry", + "table": "metabib.facet_entry", + "pkey": "id", + "pkey_sequence": "metabib.facet_entry_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mfde": { + "name": "mfde", + "label": "Flat Display Entry", + "table": "metabib.flat_display_entry", + "fields": [ + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "name", + "type": "link", + "key": "name", + "class": "cdfm", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "multi", "datatype": "bool" }, + { "name": "label", "datatype": "text" }, + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ], + "permacrud": { "retrieve": {} } + }, + "mfe": { + "name": "mfe", + "label": "Combined Field Entry View", + "source": "( 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 )", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mfp": { + "name": "mfp", + "label": "Forgive Payment", + "table": "money.forgive_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "datatype": "money" }, + { "name": "amount_collected", "datatype": "money" }, + { "name": "id", "datatype": "id" }, + { "name": "note", "datatype": "text" }, + { "name": "payment_ts", "datatype": "timestamp" }, + { + "name": "xact", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "payment_type", "virtual": true, "datatype": "text" }, + { + "name": "payment", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mfr": { + "name": "mfr", + "label": "Flattened MARC Fields", + "table": "metabib.full_rec", + "pkey": "id", + "pkey_sequence": "metabib.full_rec_id_seq", + "fields": [ + { "name": "id", "label": "Field ID", "datatype": "id" }, + { "name": "ind1", "label": "Indicator 1", "datatype": "text" }, + { "name": "ind2", "label": "Indicator 2", "datatype": "text" }, + { + "name": "record", + "label": "Bib Record Entry", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "value", "label": "Normalized Value", "datatype": "text" } + ] + }, + "mg": { + "name": "mg", + "label": "Grocery Transaction", + "table": "money.grocery", + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "billing_location", + "label": "Billing Location", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "Transaction ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Timestamp", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Transaction Start Timestamp", + "datatype": "timestamp" + }, + { + "name": "billings", + "label": "Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Billable Transaction link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "money" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "money" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mgp": { + "name": "mgp", + "label": "Goods Payment", + "table": "money.goods_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "label": "Accepting Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "amount_collected", + "label": "Amount Collected", + "datatype": "money" + }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "xact", + "label": "Transaction ID", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "payment", + "label": "Payment link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "payment_type", + "label": "Payment Type", + "virtual": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mife": { + "name": "mife", + "label": "Identifier Field Entry", + "table": "metabib.identifier_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.identifier_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mkfe": { + "name": "mkfe", + "label": "Keyword Field Entry", + "table": "metabib.keyword_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.keyword_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mmr": { + "name": "mmr", + "label": "Metarecord", + "table": "metabib.metarecord", + "pkey": "id", + "pkey_sequence": "metabib.metarecord_id_seq", + "fields": [ + { "name": "fingerprint", "datatype": "text" }, + { "name": "id", "datatype": "id" }, + { + "name": "master_record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "mods", "datatype": "text" }, + { + "name": "source_records", + "virtual": true, + "type": "link", + "key": "metarecord", + "class": "mmrsm", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "mmrsm": { + "name": "mmrsm", + "label": "Metarecord Source Map", + "table": "metabib.metarecord_source_map", + "pkey": "id", + "pkey_sequence": "metabib.metarecord_source_map_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "metarecord", + "type": "link", + "key": "id", + "class": "mmr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mndp": { + "name": "mndp", + "label": "Payments: Non-drawer Staff", + "table": "money.non_drawer_payment_view", + "core": true, + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Date/Time", + "datatype": "timestamp" + }, + { "name": "payment_type", "label": "Payment Type", "datatype": "text" }, + { + "name": "xact", + "label": "Billable Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "voided", "label": "Voided?", "datatype": "bool" }, + { + "name": "work_payment", + "label": "Work Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mwp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "forgive_payment", + "label": "Forgive Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mfp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "goods_payment", + "label": "Goods Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mgp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_payment", + "label": "Credit Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcrp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "account_adjustment", + "label": "Account Adjustment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "maa", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "mobts": { + "name": "mobts", + "label": "Open Billable Transaction Summary", + "table": "money.open_billable_xact_summary", + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "datatype": "money" }, + { "name": "id", "datatype": "id" }, + { "name": "last_billing_note", "datatype": "text" }, + { "name": "last_billing_ts", "datatype": "timestamp" }, + { "name": "last_billing_type", "datatype": "text" }, + { "name": "last_payment_note", "datatype": "text" }, + { "name": "last_payment_ts", "datatype": "timestamp" }, + { "name": "last_payment_type", "datatype": "text" }, + { "name": "total_owed", "datatype": "money" }, + { "name": "total_paid", "datatype": "money" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "xact_finish", "datatype": "timestamp" }, + { "name": "xact_start", "datatype": "timestamp" }, + { "name": "xact_type", "datatype": "text" }, + { + "name": "xact", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "grocery", + "virtual": true, + "type": "link", + "key": "id", + "class": "mg", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circulation", + "virtual": true, + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "reservation", + "virtual": true, + "type": "link", + "key": "id", + "class": "bresv", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billing_location", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "moucs": { + "name": "moucs", + "label": "Open User Circulation Summary", + "table": "money.open_usr_circulation_summary", + "pkey": "usr", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "datatype": "money" }, + { "name": "total_owed", "datatype": "money" }, + { "name": "total_paid", "datatype": "money" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mous": { + "name": "mous", + "label": "Open User Summary", + "table": "money.open_usr_summary", + "pkey": "usr", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "datatype": "money" }, + { "name": "total_owed", "datatype": "money" }, + { "name": "total_paid", "datatype": "money" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER"] } } + }, + "mp": { + "name": "mp", + "label": "Payments: All", + "table": "money.payment_view", + "core": true, + "pkey": "id", + "pkey_sequence": "", + "fields": [ + { "name": "amount", "label": "Amount", "datatype": "money" }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Date/Time", + "datatype": "timestamp" + }, + { "name": "payment_type", "label": "Payment Type", "datatype": "text" }, + { + "name": "xact", + "label": "Billable Transaction", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "voided", "label": "Voided?", "datatype": "bool" }, + { + "name": "cash_payment", + "label": "Cash Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_card_payment", + "label": "Credit Card Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mccp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "credit_payment", + "label": "Credit Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mcrp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "check_payment", + "label": "Check Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mckp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "work_payment", + "label": "Work Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mwp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "forgive_payment", + "label": "Forgive Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mfp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "goods_payment", + "label": "Goods Payment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "mgp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "account_adjustment", + "label": "Account Adjustment Detail", + "virtual": true, + "type": "link", + "key": "id", + "class": "maa", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mra": { + "name": "mra", + "label": "SVF Record Attribute", + "table": "metabib.record_attr", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Record ID", + "required": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "attrs", + "label": "Attributes", + "required": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "mraf": { + "name": "mraf", + "label": "MVF Record Attribute Flat List", + "table": "metabib.record_attr_flat", + "fields": [ + { + "name": "id", + "label": "Record ID", + "required": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "attr", + "label": "Attribute", + "required": true, + "datatype": "text" + }, + { + "name": "value", + "label": "Value", + "required": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "mravl": { + "name": "mravl", + "label": "MVF Record Attribute Vectors", + "table": "metabib.record_attr_vector_list", + "pkey": "source", + "fields": [ + { + "name": "source", + "label": "Record ID", + "required": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "vlist", + "label": "Vector", + "required": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "mrd": { + "name": "mrd", + "label": "Basic Record Descriptor", + "table": "metabib.rec_descriptor", + "pkey": "id", + "pkey_sequence": "metabib.rec_descriptor_id_seq", + "fields": [ + { + "name": "audience", + "label": "Audn", + "type": "link", + "key": "code", + "class": "cam", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "bib_level", + "label": "BLvl", + "type": "link", + "key": "code", + "class": "cblvl", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "cat_form", "label": "Cat Form", "datatype": "text" }, + { + "name": "char_encoding", + "label": "Character Encoding", + "datatype": "text" + }, + { "name": "control_type", "label": "Ctrl", "datatype": "text" }, + { "name": "enc_level", "label": "ELvl", "datatype": "text" }, + { "name": "id", "label": "Descriptor ID", "datatype": "id" }, + { + "name": "item_form", + "label": "Form", + "type": "link", + "key": "code", + "class": "cifm", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "item_lang", + "label": "Lang", + "type": "link", + "key": "code", + "class": "clm", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "item_type", + "label": "Type", + "type": "link", + "key": "code", + "class": "citm", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "lit_form", + "label": "LitF", + "type": "link", + "key": "code", + "class": "clfm", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "pub_status", "label": "Pub Status", "datatype": "text" }, + { + "name": "record", + "label": "Bib Record Entry", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "type_mat", "label": "TMat", "datatype": "text" }, + { + "name": "vr_format", + "label": "Video Recording Format", + "datatype": "text" + }, + { "name": "date1", "label": "Date1", "datatype": "text" }, + { "name": "date2", "label": "Date2", "datatype": "text" } + ] + }, + "mrs": { + "name": "mrs", + "label": "Record Sort Values", + "table": "metabib.record_sorter", + "pkey": "id", + "pkey_sequence": "metabib.record_sorter_id_seq", + "fields": [ + { "name": "id", "label": "ID", "required": true, "datatype": "id" }, + { + "name": "source", + "label": "Bib Record ID", + "required": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "int" + }, + { + "name": "attr", + "label": "Attribute", + "required": true, + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "value", + "label": "Value", + "required": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "msefe": { + "name": "msefe", + "label": "Series Field Entry", + "table": "metabib.series_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.series_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "msfe": { + "name": "msfe", + "label": "Subject Field Entry", + "table": "metabib.subject_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.subject_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mtfe": { + "name": "mtfe", + "label": "Title Field Entry", + "table": "metabib.title_field_entry", + "pkey": "id", + "pkey_sequence": "metabib.title_field_entry_id_seq", + "fields": [ + { + "name": "field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "source", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "datatype": "text" } + ] + }, + "mucs": { + "name": "mucs", + "label": "User Circulation Summary", + "table": "money.usr_circulation_summary", + "pkey": "usr", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "datatype": "money" }, + { "name": "total_owed", "datatype": "money" }, + { "name": "total_paid", "datatype": "money" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mups": { + "name": "mups", + "label": "User Payment Summary", + "virtual": true, + "fields": [ + { + "name": "usr", + "virtual": true, + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "forgive_payment", "virtual": true, "datatype": "text" }, + { "name": "work_payment", "virtual": true, "datatype": "text" }, + { "name": "credit_payment", "virtual": true, "datatype": "text" }, + { "name": "goods_payment", "virtual": true, "datatype": "text" }, + { "name": "account_adjustment", "virtual": true, "datatype": "text" } + ] + }, + "murav": { + "name": "murav", + "label": "Uncontrolled Record Attribute Values", + "table": "metabib.uncontrolled_record_attr_value", + "pkey": "id", + "pkey_sequence": "metabib.uncontrolled_record_attr_value_id_seq", + "fields": [ + { "name": "id", "label": "ID", "required": true, "datatype": "id" }, + { + "name": "attr", + "label": "Attribute", + "required": true, + "type": "link", + "key": "name", + "class": "crad", + "reltype": "has_a", + "datatype": "text" + }, + { + "name": "value", + "label": "Value", + "required": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "mus": { + "name": "mus", + "label": "User Summary", + "table": "money.usr_summary", + "pkey": "usr", + "pkey_sequence": "", + "fields": [ + { "name": "balance_owed", "datatype": "money" }, + { "name": "total_owed", "datatype": "money" }, + { "name": "total_paid", "datatype": "money" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "mvr": { + "name": "mvr", + "label": "Virtual Record", + "virtual": true, + "fields": [ + { "name": "title", "virtual": true, "datatype": "text" }, + { "name": "author", "virtual": true, "datatype": "text" }, + { "name": "doc_id", "virtual": true, "datatype": "text" }, + { "name": "doc_type", "virtual": true, "datatype": "text" }, + { "name": "pubdate", "virtual": true, "datatype": "text" }, + { "name": "isbn", "virtual": true, "datatype": "text" }, + { "name": "publisher", "virtual": true, "datatype": "text" }, + { "name": "tcn", "virtual": true, "datatype": "text" }, + { "name": "subject", "virtual": true, "datatype": "text" }, + { "name": "types_of_resource", "virtual": true, "datatype": "text" }, + { "name": "call_numbers", "virtual": true, "datatype": "text" }, + { "name": "edition", "virtual": true, "datatype": "text" }, + { "name": "online_loc", "virtual": true, "datatype": "text" }, + { "name": "synopsis", "virtual": true, "datatype": "text" }, + { "name": "physical_description", "virtual": true, "datatype": "text" }, + { "name": "toc", "virtual": true, "datatype": "text" }, + { "name": "copy_count", "virtual": true, "datatype": "text" }, + { "name": "series", "virtual": true, "datatype": "text" }, + { "name": "serials", "virtual": true, "datatype": "text" }, + { "name": "foreign_copy_maps", "virtual": true, "datatype": "text" } + ] + }, + "mwde": { + "name": "mwde", + "label": "Wide Display Entry", + "table": "metabib.wide_display_entry", + "pkey": "source", + "fields": [ + { + "name": "source", + "label": "Record ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "creators", "label": "Creators", "datatype": "text" }, + { "name": "isbn", "label": "ISBN", "datatype": "text" }, + { "name": "issn", "label": "ISSN", "datatype": "text" }, + { "name": "upc", "label": "UPC", "datatype": "text" }, + { "name": "tcn", "label": "TCN", "datatype": "text" }, + { "name": "edition", "label": "Edition", "datatype": "text" }, + { + "name": "physical_description", + "label": "Physical Description", + "datatype": "text" + }, + { "name": "publisher", "label": "Publisher", "datatype": "text" }, + { "name": "series_title", "label": "Series Title", "datatype": "text" }, + { + "name": "subject_geographic", + "label": "Geographic Subject", + "datatype": "text" + }, + { "name": "subject_name", "label": "Name Subject", "datatype": "text" }, + { + "name": "subject_temporal", + "label": "Temporal Subject", + "datatype": "text" + }, + { "name": "subject_topic", "label": "Topic Subject", "datatype": "text" }, + { "name": "abstract", "label": "Abstract", "datatype": "text" }, + { "name": "toc", "label": "Table of Contents", "datatype": "text" }, + { "name": "pubdate", "label": "Publication Date", "datatype": "text" }, + { + "name": "type_of_resource", + "label": "Type of Resource", + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "mwp": { + "name": "mwp", + "label": "Work Payment", + "table": "money.work_payment", + "pkey": "id", + "pkey_sequence": "money.payment_id_seq", + "fields": [ + { + "name": "accepting_usr", + "label": "Accepting Staff Member", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "amount", "label": "Amount", "datatype": "money" }, + { + "name": "amount_collected", + "label": "Amount Collected", + "datatype": "money" + }, + { "name": "id", "label": "Payment ID", "datatype": "id" }, + { "name": "note", "label": "Note", "datatype": "text" }, + { + "name": "payment_ts", + "label": "Payment Timestamp", + "datatype": "timestamp" + }, + { + "name": "xact", + "label": "Transaction ID", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "payment", + "label": "Payment link", + "virtual": true, + "type": "link", + "key": "id", + "class": "mp", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "payment_type", + "label": "Payment Type", + "virtual": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": { "perms": ["VIEW_USER_TRANSACTIONS"] } } + }, + "mwps": { + "name": "mwps", + "label": "Workstation Payment Summary", + "virtual": true, + "fields": [ + { + "name": "workstation", + "virtual": true, + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "cash_payment", "virtual": true, "datatype": "text" }, + { "name": "check_payment", "virtual": true, "datatype": "text" }, + { "name": "credit_card_payment", "virtual": true, "datatype": "text" } + ] + }, + "ocirccount": { + "name": "ocirccount", + "label": "Open Circulation Count", + "source": "(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 ) 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 ) 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 )", + "pkey": "usr", + "fields": [ + { + "name": "usr", + "label": "User ID", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "out", "label": "Out", "datatype": "text" }, + { "name": "overdue", "label": "Overdue", "datatype": "text" }, + { "name": "lost", "label": "Lost", "datatype": "text" }, + { + "name": "claims_returned", + "label": "Claims Returned", + "datatype": "text" + }, + { "name": "long_overdue", "label": "Long Overdue", "datatype": "text" } + ] + }, + "ocirclist": { + "name": "ocirclist", + "label": "Open Circulation List", + "source": "(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 ,',') 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 ,',') 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 )", + "pkey": "usr", + "fields": [ + { + "name": "usr", + "label": "User ID", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "out", "label": "Out", "datatype": "text" }, + { "name": "overdue", "label": "Overdue", "datatype": "text" }, + { "name": "lost", "label": "Lost", "datatype": "text" }, + { + "name": "claims_returned", + "label": "Claims Returned", + "datatype": "text" + }, + { "name": "long_overdue", "label": "Long Overdue", "datatype": "text" } + ] + }, + "perm_ex": { + "name": "perm_ex", + "virtual": true, + "fields": [ + { "name": "err_msg", "virtual": true, "datatype": "text" }, + { "name": "type", "virtual": true, "datatype": "text" } + ] + }, + "pgpm": { + "name": "pgpm", + "label": "Group Permission Map", + "table": "permission.grp_perm_map", + "pkey": "id", + "pkey_sequence": "permission.grp_perm_map_id_seq", + "fields": [ + { "name": "depth", "datatype": "int" }, + { "name": "grantable", "datatype": "bool" }, + { + "name": "grp", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "datatype": "id" }, + { + "name": "perm", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ASSIGN_GROUP_PERM"] }, + "retrieve": { + "perms": ["ASSIGN_GROUP_PERM", "UPDATE_GROUP_PERM", "REMOVE_GROUP_PERM"] + }, + "update": { "perms": ["UPDATE_GROUP_PERM"] }, + "delete": { "perms": ["REMOVE_GROUP_PERM"] } + } + }, + "pgpt": { + "name": "pgpt", + "label": "Group Penalty Threshold", + "table": "permission.grp_penalty_threshold", + "pkey": "id", + "pkey_sequence": "permission.grp_penalty_threshold_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "grp", + "label": "Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "penalty", + "label": "Penalty", + "type": "link", + "key": "id", + "class": "csp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "threshold", "label": "Threshold", "datatype": "float" }, + { + "name": "org_unit", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_GROUP_PENALTY_THRESHOLD"] }, + "retrieve": { + "perms": [ + "VIEW_GROUP_PENALTY_THRESHOLD", + "ADMIN_GROUP_PENALTY_THRESHOLD" + ] + }, + "update": { "perms": ["ADMIN_GROUP_PENALTY_THRESHOLD"] }, + "delete": { "perms": ["ADMIN_GROUP_PENALTY_THRESHOLD"] } + } + }, + "pgt": { + "name": "pgt", + "label": "Permission Group", + "table": "permission.grp_tree", + "pkey": "id", + "pkey_sequence": "permission.grp_tree_id_seq", + "fields": [ + { + "name": "children", + "label": "Child Groups", + "virtual": true, + "type": "link", + "key": "parent", + "class": "pgt", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "id", + "label": "Group ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "name", + "label": "Group Name", + "i18n": true, + "datatype": "text" + }, + { + "name": "parent", + "label": "Parent Group", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "perm_interval", + "label": "User Expiration Interval", + "datatype": "interval" + }, + { + "name": "application_perm", + "label": "Required Permission", + "datatype": "text" + }, + { "name": "usergroup", "label": "Is User Group", "datatype": "bool" }, + { "name": "hold_priority", "label": "Hold Priority", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PERM"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["UPDATE_PERM"] }, + "delete": { "perms": ["DELETE_PERM"] } + } + }, + "pgtde": { + "name": "pgtde", + "label": "Permission Group Tree Display Entry", + "table": "permission.grp_tree_display_entry", + "pkey": "id", + "pkey_sequence": "permission.grp_tree_display_entry_id_seq", + "fields": [ + { + "name": "id", + "label": "Entry ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "grp", + "label": "Group ID", + "i18n": true, + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "parent", + "label": "Parent Group", + "type": "link", + "key": "id", + "class": "pgtde", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "org", + "label": "Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "position", "label": "Position", "datatype": "int" }, + { + "name": "children", + "label": "Child Entries", + "virtual": true, + "type": "link", + "key": "parent", + "class": "pgtde", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["MANAGE_CUSTOM_PERM_GRP_TREE"] }, + "retrieve": { "perms": ["STAFF_LOGIN"] }, + "update": { "perms": ["MANAGE_CUSTOM_PERM_GRP_TREE"] }, + "delete": { "perms": ["MANAGE_CUSTOM_PERM_GRP_TREE"] } + } + }, + "ppl": { + "name": "ppl", + "label": "Permission List", + "table": "permission.perm_list", + "pkey": "id", + "pkey_sequence": "permission.perm_list_id_seq", + "fields": [ + { "name": "code", "datatype": "text" }, + { "name": "description", "i18n": true, "datatype": "text" }, + { "name": "id", "selector": "code", "datatype": "id" } + ], + "permacrud": { + "create": { "perms": ["CREATE_PERM"] }, + "retrieve": { "perms": ["CREATE_PERM", "UPDATE_PERM", "DELETE_PERM"] }, + "update": { "perms": ["UPDATE_PERM"] }, + "delete": { "perms": ["DELETE_PERM"] } + } + }, + "pugm": { + "name": "pugm", + "label": "User Group Map", + "table": "permission.usr_grp_map", + "pkey": "id", + "pkey_sequence": "permission.usr_grp_map_id_seq", + "fields": [ + { + "name": "grp", + "type": "link", + "key": "id", + "class": "pgt", + "reltype": "has_a", + "datatype": "text" + }, + { "name": "id", "datatype": "id" }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "text" + } + ] + }, + "puopm": { + "name": "puopm", + "label": "User Object Permission Map", + "table": "permission.usr_object_perm_map", + "pkey": "id", + "pkey_sequence": "permission.usr_object_perm_map_id_seq", + "fields": [ + { "name": "object_id", "datatype": "text" }, + { "name": "grantable", "datatype": "bool" }, + { "name": "id", "datatype": "id" }, + { + "name": "perm", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "object_type", "datatype": "text" } + ] + }, + "pupm": { + "name": "pupm", + "label": "User Permission Map", + "table": "permission.usr_perm_map", + "pkey": "id", + "pkey_sequence": "permission.usr_perm_map_id_seq", + "fields": [ + { "name": "depth", "datatype": "int" }, + { "name": "grantable", "datatype": "bool" }, + { "name": "id", "datatype": "id" }, + { + "name": "perm", + "type": "link", + "key": "id", + "class": "ppl", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "puwoum": { + "name": "puwoum", + "label": "User Work Org Unit Map", + "table": "permission.usr_work_ou_map", + "pkey": "id", + "pkey_sequence": "permission.usr_work_ou_map_id_seq", + "fields": [ + { + "name": "id", + "label": "User/Working Location Map ID", + "datatype": "int" + }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "work_ou", + "label": "Working Location", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qbv": { + "name": "qbv", + "label": "Bind Variable", + "table": "query.bind_variable", + "pkey": "name", + "fields": [ + { "name": "name", "label": "Name", "datatype": "id" }, + { "name": "label", "label": "Label", "i18n": true, "datatype": "text" }, + { "name": "type", "label": "Type", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" }, + { "name": "default_value", "label": "Default Value", "datatype": "text" }, + { + "name": "actual_value", + "label": "Actual Value", + "virtual": true, + "datatype": "text" + } + ] + }, + "qcb": { + "name": "qcb", + "label": "Case Branch", + "table": "query.case_branch", + "pkey": "id", + "pkey_sequence": "query.case_branch_id_seq", + "fields": [ + { "name": "id", "label": "Case Branch ID", "datatype": "id" }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "condition", + "label": "Condition", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "result", + "label": "Result", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qdt": { + "name": "qdt", + "label": "Datatype", + "table": "query.datatype", + "pkey": "id", + "pkey_sequence": "query.datatype_id_seq", + "fields": [ + { "name": "id", "label": "Datatype ID", "datatype": "id" }, + { "name": "datatype_name", "label": "Datatype Name", "datatype": "text" }, + { "name": "is_numeric", "label": "Is Numeric", "datatype": "bool" }, + { "name": "is_composite", "label": "Is Composite", "datatype": "bool" } + ] + }, + "qfpd": { + "name": "qfpd", + "label": "Function Parameter Definition", + "table": "query.function_param_def", + "pkey": "id", + "pkey_sequence": "query.function_param_def_id_seq", + "fields": [ + { "name": "id", "label": "Function Param Def ID", "datatype": "id" }, + { + "name": "function_id", + "label": "Function ID", + "type": "link", + "key": "id", + "class": "qfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "datatype", + "label": "Datatype", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qfr": { + "name": "qfr", + "label": "From Relation", + "table": "query.from_relation", + "pkey": "id", + "pkey_sequence": "query.from_relation_id_seq", + "fields": [ + { "name": "id", "label": "From Relation ID", "datatype": "id" }, + { "name": "type", "label": "From Relation Type", "datatype": "text" }, + { "name": "table_name", "label": "Table Name", "datatype": "text" }, + { "name": "class_name", "label": "Class Name", "datatype": "text" }, + { + "name": "subquery", + "label": "Subquery ID", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "function_call", + "label": "Function Call ID", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "table_alias", "label": "Table Alias", "datatype": "text" }, + { + "name": "parent_relation", + "label": "Parent Relation ID", + "type": "link", + "key": "id", + "class": "qfr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "join_type", "label": "Join Type", "datatype": "text" }, + { + "name": "on_clause", + "label": "On Clause ID", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qfs": { + "name": "qfs", + "label": "Function Signature", + "table": "query.function_sig", + "pkey": "id", + "pkey_sequence": "query.function_sig_id_seq", + "fields": [ + { "name": "id", "label": "Function Signature ID", "datatype": "id" }, + { "name": "function_name", "label": "Function Name", "datatype": "text" }, + { + "name": "return_type", + "label": "Return Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "is_aggregate", "label": "Is Aggregate", "datatype": "bool" } + ] + }, + "qobi": { + "name": "qobi", + "label": "Order By Item", + "table": "query.order_by_item", + "pkey": "id", + "pkey_sequence": "query.order_by_item_id_seq", + "fields": [ + { "name": "id", "label": "Order By Item ID", "datatype": "id" }, + { + "name": "stored_query", + "label": "Stored Query ID", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "expression", + "label": "Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qrc": { + "name": "qrc", + "label": "Record Column", + "table": "query.record_column", + "pkey": "id", + "pkey_sequence": "query.record_column_id_seq", + "fields": [ + { "name": "id", "label": "Record Column ID", "datatype": "id" }, + { + "name": "from_relation", + "label": "From Relation ID", + "type": "link", + "key": "id", + "class": "qfr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "column_name", "label": "Column Name", "datatype": "text" }, + { + "name": "column_type", + "label": "Column Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qseq": { + "name": "qseq", + "label": "Query Sequence", + "table": "query.query_sequence", + "pkey": "id", + "pkey_sequence": "query.query_sequence_id_seq", + "fields": [ + { "name": "id", "label": "Query Seq ID", "datatype": "id" }, + { + "name": "parent_query", + "label": "Parent Query", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "child_query", + "label": "Child Query", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qsf": { + "name": "qsf", + "label": "Subfield", + "table": "query.subfield", + "pkey": "id", + "pkey_sequence": "query.subfield_id_seq", + "fields": [ + { "name": "id", "label": "Subfield ID", "datatype": "id" }, + { + "name": "composite_type", + "label": "Composite Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "subfield_type", + "label": "Subfield Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qsi": { + "name": "qsi", + "label": "Select Item", + "table": "query.select_item", + "pkey": "id", + "pkey_sequence": "query.select_item_id_seq", + "fields": [ + { "name": "id", "label": "Select Item ID", "datatype": "id" }, + { + "name": "stored_query", + "label": "Stored Query ID", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "expression", + "label": "Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "column_alias", "label": "Column Alias", "datatype": "text" }, + { "name": "grouped_by", "label": "Is Grouped By", "datatype": "bool" } + ] + }, + "qsq": { + "name": "qsq", + "label": "Stored Query", + "table": "query.stored_query", + "pkey": "id", + "pkey_sequence": "query.stored_query_id_seq", + "fields": [ + { "name": "id", "label": "Query ID", "datatype": "id" }, + { "name": "type", "label": "Query type", "datatype": "text" }, + { "name": "use_all", "label": "Use ALL", "datatype": "bool" }, + { "name": "use_distinct", "label": "Use DISTINCT", "datatype": "bool" }, + { + "name": "from_clause", + "label": "FROM Clause", + "type": "link", + "key": "id", + "class": "qfr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "where_clause", + "label": "WHERE Clause", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "having_clause", + "label": "HAVING Clause", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "limit_count", + "label": "LIMIT count", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "offset_count", + "label": "OFFSET count", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "qxp": { + "name": "qxp", + "label": "Expression", + "table": "query.expression", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { "name": "type", "label": "Expression Type", "datatype": "text" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "literal", "label": "Literal", "datatype": "text" }, + { "name": "table_alias", "label": "Table Alias", "datatype": "text" }, + { "name": "column_name", "label": "Column Name", "datatype": "text" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "operator", "label": "Operator", "datatype": "text" }, + { + "name": "right_operand", + "label": "Right Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "function_id", + "label": "Function ID", + "type": "link", + "key": "id", + "class": "qfs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "subquery", + "label": "Subquery", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cast_type", + "label": "Cast Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" }, + { + "name": "bind_variable", + "label": "Bind Variable", + "type": "link", + "key": "name", + "class": "qbv", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "rb": { + "name": "rb", + "label": "Statistical Popularity Badge", + "table": "rating.badge", + "pkey": "id", + "pkey_sequence": "rating.badge_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { + "name": "scope", + "label": "Scope", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "weight", "label": "Weight", "datatype": "int" }, + { "name": "horizon_age", "label": "Age Horizon", "datatype": "text" }, + { + "name": "importance_age", + "label": "Importance Horizon", + "datatype": "text" + }, + { + "name": "importance_interval", + "label": "Importance Interval", + "datatype": "text" + }, + { + "name": "importance_scale", + "label": "Importance Scale", + "datatype": "text" + }, + { "name": "percentile", "label": "Percentile", "datatype": "float" }, + { + "name": "attr_filter", + "label": "Attribute Filter", + "datatype": "text" + }, + { + "name": "circ_mod_filter", + "label": "Circ Mod Filter", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "src_filter", + "label": "Bib Source Filter", + "type": "link", + "key": "id", + "class": "cbs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "loc_grp_filter", + "label": "Location Group Filter", + "type": "link", + "key": "id", + "class": "acplg", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "recalc_interval", + "label": "Recalculation Interval", + "datatype": "text" + }, + { "name": "fixed_rating", "label": "Fixed Rating", "datatype": "int" }, + { "name": "discard", "label": "Discard Value Count", "datatype": "int" }, + { + "name": "last_calc", + "label": "Last Refresh Time", + "datatype": "timestamp" + }, + { + "name": "popularity_parameter", + "label": "Popularity Parameter", + "type": "link", + "key": "id", + "class": "rp", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_POP_BADGE"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_POP_BADGE"] }, + "delete": { "perms": ["DELETE_POP_BADGE"] } + } + }, + "rccbs": { + "name": "rccbs", + "label": "Classic Open Transaction Summary", + "table": "reporter.classic_current_billing_summary", + "core": true, + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Transaction ID", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "billing_location_shortname", + "label": "Billing Location Short (Policy) Name", + "datatype": "text" + }, + { + "name": "billing_location_name", + "label": "Billing Location Name", + "datatype": "text" + }, + { + "name": "billing_location", + "label": "Billing Location Link", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "usr_home_ou_shortname", + "label": "User Home Library Short (Policy) Name", + "datatype": "text" + }, + { + "name": "usr_home_ou_name", + "label": "User Home Library Name", + "datatype": "text" + }, + { + "name": "usr_home_ou", + "label": "User Home Library Link", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "barcode", "label": "User Barcode", "datatype": "text" }, + { + "name": "usr", + "label": "User Link", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_start", + "label": "Transaction Start Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_finish", + "label": "Transaction End Date/Time", + "datatype": "timestamp" + }, + { "name": "xact_type", "label": "Transaction Type", "datatype": "text" }, + { "name": "total_paid", "label": "Total Paid", "datatype": "money" }, + { "name": "total_owed", "label": "Total Billed", "datatype": "money" }, + { + "name": "last_payment_ts", + "label": "Last Payment Date/Time", + "datatype": "timestamp" + }, + { + "name": "last_payment_note", + "label": "Last Payment Note", + "datatype": "text" + }, + { + "name": "last_payment_type", + "label": "Last Payment Type", + "datatype": "text" + }, + { + "name": "last_billing_ts", + "label": "Last Billing Date/Time", + "datatype": "timestamp" + }, + { + "name": "last_billing_note", + "label": "Last Billing Note", + "datatype": "text" + }, + { + "name": "last_billing_type", + "label": "Last Billing Type", + "datatype": "text" + }, + { + "name": "demographic_general_division", + "label": "User Age Demographic", + "datatype": "text" + }, + { "name": "patron_county", "label": "User County", "datatype": "text" }, + { "name": "patron_city", "label": "User City", "datatype": "text" }, + { "name": "patron_zip", "label": "User ZIP Code", "datatype": "text" }, + { "name": "balance_owed", "label": "Balance Owed", "datatype": "money" }, + { + "name": "profile_group", + "label": "User Profile Group", + "datatype": "text" + } + ] + }, + "rccc": { + "name": "rccc", + "label": "Classic Circulation View", + "table": "reporter.classic_current_circ", + "core": true, + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Circulation", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "circ_lib", + "label": "Library Circulation Location Short (Policy) Name", + "datatype": "text" + }, + { + "name": "circ_lib_id", + "label": "Library Circulation Location Link", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "xact_start", + "label": "Circulation Date/Time", + "datatype": "timestamp" + }, + { "name": "circ_type", "label": "Circulation Type", "datatype": "text" }, + { + "name": "copy_id", + "label": "Copy Link", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "circ_modifier", "label": "Circ Modifier", "datatype": "text" }, + { + "name": "owning_lib_name", + "label": "Owning Library Short (Policy) Name", + "datatype": "text" + }, + { "name": "language", "label": "Item Language", "datatype": "text" }, + { "name": "lit_form", "label": "Literary Form", "datatype": "text" }, + { "name": "item_form", "label": "MARC Form", "datatype": "text" }, + { "name": "item_type", "label": "MARC Type", "datatype": "text" }, + { + "name": "shelving_location", + "label": "Shelving Location", + "datatype": "text" + }, + { + "name": "profile_group", + "label": "Patron Profile Group", + "datatype": "text" + }, + { + "name": "demographic_general_division", + "label": "Patron Age Demographic", + "datatype": "text" + }, + { + "name": "call_number", + "label": "Call Number Link", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "call_number_label", + "label": "Call Number Label", + "datatype": "text" + }, + { + "name": "dewey", + "label": "Call Number Dewey/Prefix", + "datatype": "text" + }, + { + "name": "patron_id", + "label": "Patron Link", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "patron_home_lib", + "label": "Patron Home Library Link", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "patron_home_lib_shortname", + "label": "Patron Home Library Short (Policy) Name", + "datatype": "text" + }, + { "name": "patron_county", "label": "Patron County", "datatype": "text" }, + { "name": "patron_city", "label": "Patron City", "datatype": "text" }, + { "name": "patron_zip", "label": "Patron ZIP Code", "datatype": "text" }, + { + "name": "stat_cat_1", + "label": "Legacy CAT1 Link", + "type": "link", + "key": "id", + "class": "rsce1", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stat_cat_2", + "label": "Legacy CAT2 Link", + "type": "link", + "key": "id", + "class": "rsce2", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "dewey_range_tens", + "label": "Dewey Range - Tens", + "datatype": "text" + }, + { + "name": "dewey_range_hundreds", + "label": "Dewey Range - Hundreds", + "datatype": "text" + }, + { + "name": "dewey_block_tens", + "label": "Dewey Block - Tens", + "datatype": "text" + }, + { + "name": "dewey_block_hundreds", + "label": "Dewey Block - Hundreds", + "datatype": "text" + }, + { + "name": "stat_cat_1_value", + "label": "Legacy CAT1 Value", + "datatype": "text" + }, + { + "name": "stat_cat_2_value", + "label": "Legacy CAT2 Value", + "datatype": "text" + } + ] + }, + "rcirct": { + "name": "rcirct", + "label": "Circulation Type", + "table": "reporter.circ_type", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Circulation ID", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "might_have", + "datatype": "id" + }, + { "name": "type", "label": "Circulation Type", "datatype": "text" } + ] + }, + "rhcrpb": { + "name": "rhcrpb", + "label": "Hold/Copy Ratio per Bib", + "core": true, + "source": "( SELECT y.bre AS id, COALESCE( x.copy_count, 0 ) AS copy_count, y.hold_count AS hold_count, (y.hold_count::REAL / (CASE WHEN x.copy_count = 0 OR x.copy_count IS NULL THEN 0.1 ELSE x.copy_count::REAL END)) AS hold_copy_ratio FROM ( SELECT (SELECT bib_record FROM reporter.hold_request_record r WHERE r.id = h.id LIMIT 1) AS bre, COUNT(*) AS hold_count FROM action.hold_request h WHERE cancel_time IS NULL AND fulfillment_time IS NULL GROUP BY 1 )y LEFT JOIN ( SELECT (SELECT id FROM biblio.record_entry WHERE id = (SELECT record FROM asset.call_number WHERE id = call_number and deleted is false) ) AS bre, COUNT(*) AS copy_count FROM asset.copy JOIN asset.copy_location loc ON (copy.location = loc.id AND loc.holdable) WHERE copy.holdable AND NOT copy.deleted AND copy.status IN ( SELECT id FROM config.copy_status WHERE holdable ) GROUP BY 1 )x ON x.bre = y.bre )", + "pkey": "id", + "pkey_sequence": "biblio.record_entry", + "fields": [ + { + "name": "id", + "label": "Record ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "copy_count", + "label": "Holdable Copy Count", + "datatype": "int" + }, + { "name": "hold_count", "label": "Active Holds", "datatype": "int" }, + { + "name": "hold_copy_ratio", + "label": "Hold/Copy Ratio", + "datatype": "float" + } + ], + "permacrud": { "retrieve": {} } + }, + "rhcrpbap": { + "name": "rhcrpbap", + "label": "Hold/Copy Ratio per Bib and Pickup Library", + "source": "( 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, 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 GROUP BY bib_record, pickup_lib )x JOIN (SELECT bib_record as id, count(DISTINCT ahr.id) AS holds_everywhere, 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 GROUP BY bib_record )y USING (id) )", + "pkey": "id", + "pkey_sequence": "biblio.record_entry", + "fields": [ + { + "name": "id", + "label": "Record ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "holds_at_pickup_library", + "label": "Active Holds at Pickup Library", + "datatype": "int" + }, + { + "name": "copy_count_at_pickup_library", + "label": "Holdable Copy Count at Pickup Library", + "datatype": "int" + }, + { + "name": "holds_everywhere", + "label": "Active Holds Everywhere", + "datatype": "int" + }, + { + "name": "copy_count_everywhere", + "label": "Holdable Copy Count Everywhere", + "datatype": "int" + }, + { + "name": "pickup_library_ratio", + "label": "Hold/Copy Ratio at Pickup Library", + "datatype": "float" + }, + { + "name": "everywhere_ratio", + "label": "Hold/Copy Ratio Everywhere", + "datatype": "float" + } + ], + "permacrud": { "retrieve": {} } + }, + "rhcrpbapd": { + "name": "rhcrpbapd", + "label": "Hold/Copy Ratio per Bib and Pickup Library (and Descendants) ", + "source": "( WITH counts_at_ou AS ( SELECT rhrr.bib_record AS id, aou.id AS pickup_lib_or_desc, COUNT(DISTINCT ahr.id) AS holds_at_or_below, COALESCE(COUNT(DISTINCT ac.id),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 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 ) SELECT x.id, x.pickup_lib_or_desc, x.holds_at_or_below, x.copy_count_at_or_below, y.holds_everywhere, y.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/y.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, 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 GROUP BY bib_record )y USING (id) )", + "pkey": "id", + "pkey_sequence": "biblio.record_entry", + "fields": [ + { + "name": "id", + "label": "Record ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pickup_lib_or_desc", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "holds_at_or_below", + "label": "Active Holds at Pickup Library and its Descendants", + "datatype": "int" + }, + { + "name": "copy_count_at_or_below", + "label": "Holdable Copy Count at Pickup Library and its Descendants", + "datatype": "int" + }, + { + "name": "holds_everywhere", + "label": "Active Holds Everywhere", + "datatype": "int" + }, + { + "name": "copy_count_everywhere", + "label": "Holdable Copy Count Everywhere", + "datatype": "int" + }, + { + "name": "hold_copy_ratio_at_or_below_ou", + "label": "Hold/Copy Ratio at Pickup Library and its Descendants", + "datatype": "float" + }, + { + "name": "everywhere_ratio", + "label": "Hold/Copy Ratio Everywhere", + "datatype": "float" + } + ], + "permacrud": { "retrieve": {} } + }, + "rhr": { + "name": "rhr", + "virtual": true, + "fields": [ + { "name": "public_name", "virtual": true, "datatype": "text" }, + { "name": "target_url", "virtual": true, "datatype": "text" }, + { "name": "target_coverage", "virtual": true, "datatype": "text" }, + { "name": "target_embargo", "virtual": true, "datatype": "text" } + ] + }, + "rhrr": { + "name": "rhrr", + "label": "Hold Request Record", + "table": "reporter.hold_request_record", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Hold ID", + "type": "link", + "key": "id", + "class": "ahr", + "reltype": "might_have", + "datatype": "id" + }, + { "name": "target", "label": "Hold Target", "datatype": "int" }, + { "name": "hold_type", "label": "Hold Request Type", "datatype": "text" }, + { + "name": "bib_record", + "label": "Target Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "rlc": { + "name": "rlc", + "label": "Last Circulation or Creation Date", + "source": "( 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 )", + "pkey": "id", + "pkey_sequence": "biblio.record_entry", + "fields": [ + { + "name": "id", + "label": "Copy ID", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "last_circ_or_create", + "label": "Last Circulation or Creation Date", + "datatype": "timestamp" + }, + { + "name": "last_circ", + "label": "Last Circulation Date", + "datatype": "timestamp" + } + ], + "permacrud": { "retrieve": {} } + }, + "rlcd": { + "name": "rlcd", + "label": "Last Copy Delete Time", + "core": true, + "source": "( 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 )", + "pkey": "id", + "pkey_sequence": "biblio.record_entry", + "fields": [ + { + "name": "id", + "label": "Record ID", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "id" + }, + { + "name": "last_delete_date", + "label": "Delete Date/Time", + "datatype": "timestamp" + } + ], + "permacrud": { "retrieve": {} } + }, + "rmobbcol": { + "name": "rmobbcol", + "label": "Open Circulation Balance by Circulating Library and Owning Library", + "table": "money.open_balance_by_circ_and_owning_lib", + "core": true, + "pkey": "circ_lib", + "fields": [ + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_types", "label": "Billing Types", "datatype": "text" }, + { "name": "balance", "label": "Balance", "datatype": "money" } + ] + }, + "rmobbhol": { + "name": "rmobbhol", + "label": "Open Circulation Balance by User Home Library and Owning Library", + "table": "money.open_balance_by_usr_home_and_owning_lib", + "core": true, + "pkey": "home_ou", + "fields": [ + { + "name": "home_ou", + "label": "User Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_types", "label": "Billing Types", "datatype": "text" }, + { "name": "balance", "label": "Balance", "datatype": "money" } + ] + }, + "rmobbol": { + "name": "rmobbol", + "label": "Open Circulation Balance by Owning Library", + "table": "money.open_balance_by_owning_lib", + "core": true, + "pkey": "owning_lib", + "fields": [ + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_types", "label": "Billing Types", "datatype": "text" }, + { "name": "balance", "label": "Balance", "datatype": "money" } + ] + }, + "rmocbbcol": { + "name": "rmocbbcol", + "label": "Open Circulation Billing by Circulating Library and Owning Library", + "table": "money.open_circ_balance_by_circ_and_owning_lib", + "core": true, + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Circulation ID", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_type", "label": "Billing Type", "datatype": "text" }, + { "name": "billed", "label": "Total Billed", "datatype": "money" } + ] + }, + "rmocbbhol": { + "name": "rmocbbhol", + "label": "Open Circulation Billing by User Home Library and Owning Library", + "table": "money.open_circ_balance_by_usr_home_and_owning_lib", + "core": true, + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Circulation ID", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "home_ou", + "label": "User Home Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_type", "label": "Billing Type", "datatype": "text" }, + { "name": "billed", "label": "Total Billed", "datatype": "money" } + ] + }, + "rmocbbol": { + "name": "rmocbbol", + "label": "Open Circulation Billing by Owning Library", + "table": "money.open_circ_balance_by_owning_lib", + "core": true, + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Circulation ID", + "type": "link", + "key": "id", + "class": "circ", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "billing_type", "label": "Billing Type", "datatype": "text" }, + { "name": "billed", "label": "Total Billed", "datatype": "money" } + ] + }, + "rmsr": { + "name": "rmsr", + "label": "Fast Simple Record Extracts", + "table": "reporter.materialized_simple_record", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Record ID", "datatype": "id" }, + { "name": "fingerprint", "label": "Fingerprint", "datatype": "text" }, + { + "name": "quality", + "label": "Overall Record Quality", + "datatype": "int" + }, + { "name": "tcn_source", "label": "TCN Source", "datatype": "text" }, + { "name": "tcn_value", "label": "TCN Value", "datatype": "text" }, + { + "name": "title", + "label": "Title Proper (normalized)", + "datatype": "text" + }, + { "name": "author", "label": "Author (normalized)", "datatype": "text" }, + { + "name": "publisher", + "label": "Publisher (normalized)", + "datatype": "text" + }, + { + "name": "pubdate", + "label": "Publication Year (normalized)", + "datatype": "int" + }, + { "name": "isbn", "label": "ISBN", "datatype": "text" }, + { "name": "issn", "label": "ISSN", "datatype": "text" }, + { + "name": "biblio_record", + "label": "Full Bibliographic record", + "virtual": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { "retrieve": {} } + }, + "rocit": { + "name": "rocit", + "label": "Classic Item List", + "table": "reporter.classic_item_list", + "core": true, + "pkey": "id", + "fields": [ + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "author", "label": "Author", "datatype": "text" }, + { "name": "pubdate", "label": "Pubdate", "datatype": "text" }, + { + "name": "id", + "label": "Copy ID", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "id" + }, + { "name": "price", "label": "Price", "datatype": "money" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { + "name": "call_number_label", + "label": "Callnumber Label", + "datatype": "text" + }, + { "name": "dewey_block_tens", "label": "Dewy Tens", "datatype": "text" }, + { + "name": "dewey_block_hundreds", + "label": "Dewy Hundreds", + "datatype": "text" + }, + { "name": "use_count", "label": "Use Count", "datatype": "int" }, + { "name": "circ_modifier", "label": "Circ Modifier", "datatype": "text" }, + { + "name": "shelving_location", + "label": "Shelving Location Name", + "datatype": "text" + }, + { + "name": "stat_cat_1", + "label": "Legacy Stat Cat 1", + "type": "link", + "key": "id", + "class": "rsce1", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "stat_cat_2", + "label": "Legacy Stat Cat 2", + "type": "link", + "key": "id", + "class": "rsce2", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "stat_cat_1_value", + "label": "Legacy Stat Cat 1 Value", + "datatype": "text" + }, + { + "name": "stat_cat_2_value", + "label": "Legacy Stat Cat 2 Value", + "datatype": "text" + }, + { "name": "edit_date", "label": "Edit Date", "datatype": "timestamp" }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { + "name": "owning_lib_name", + "label": "Owning Lib Name", + "datatype": "text" + }, + { "name": "circ_lib_name", "label": "Circ Lib Name", "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_lib", + "label": "Circ Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "age_protect", + "label": "Age Protection", + "type": "link", + "key": "id", + "class": "crahp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { "name": "ref", "label": "Reference", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "text" + }, + { "name": "deleted", "label": "Deleted", "datatype": "bool" }, + { "name": "tcn_value", "label": "TCN", "datatype": "text" }, + { + "name": "status", + "label": "Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stop_fines", + "label": "Stop Fines Reason", + "datatype": "text" + }, + { "name": "due_date", "label": "Due Date", "datatype": "timestamp" }, + { + "name": "patron_barcode", + "label": "Patron Barcode", + "datatype": "text" + }, + { "name": "patron_name", "label": "Patron Name", "datatype": "text" } + ] + }, + "rodcirc": { + "name": "rodcirc", + "label": "Overdue Circulation", + "table": "reporter.overdue_circs", + "core": true, + "pkey": "id", + "pkey_sequence": "money.billable_xact_id_seq", + "fields": [ + { + "name": "checkin_lib", + "label": "Check In Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "checkin_staff", + "label": "Check In Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "checkin_time", + "label": "Check In Date/Time", + "datatype": "timestamp" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_staff", + "label": "Circulating Staff", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "desk_renewal", "label": "Desk Renewal", "datatype": "bool" }, + { "name": "due_date", "label": "Due Date/Time", "datatype": "timestamp" }, + { + "name": "duration", + "label": "Circulation Duration", + "datatype": "interval" + }, + { + "name": "duration_rule", + "label": "Circ Duration Rule", + "type": "link", + "key": "name", + "class": "crcd", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "fine_interval", + "label": "Fine Interval", + "datatype": "interval" + }, + { "name": "id", "label": "Circ ID", "datatype": "id" }, + { "name": "max_fine", "label": "Max Fine Amount", "datatype": "money" }, + { + "name": "max_fine_rule", + "label": "Max Fine Rule", + "type": "link", + "key": "name", + "class": "crmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_renewal", "label": "OPAC Renewal", "datatype": "bool" }, + { "name": "phone_renewal", "label": "Phone Renewal", "datatype": "bool" }, + { + "name": "recurring_fine", + "label": "Recurring Fine Amount", + "datatype": "money" + }, + { + "name": "recurring_fine_rule", + "label": "Recurring Fine Rule", + "type": "link", + "key": "name", + "class": "crrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "renewal_remaining", + "label": "Remaining Renewals", + "datatype": "int" + }, + { "name": "stop_fines", "label": "Fine Stop Reason", "datatype": "text" }, + { + "name": "stop_fines_time", + "label": "Fine Stop Date/Time", + "datatype": "timestamp" + }, + { + "name": "target_copy", + "label": "Circulating Item", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "usr", + "label": "Patron", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "xact_finish", + "label": "Transaction Finish Date/Time", + "datatype": "timestamp" + }, + { + "name": "xact_start", + "label": "Checkout Date/Time", + "datatype": "timestamp" + }, + { + "name": "billings", + "label": "Transaction Billings", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mb", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "payments", + "label": "Transaction Payments", + "virtual": true, + "type": "link", + "key": "xact", + "class": "mp", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "billable_transaction", + "label": "Base Transaction", + "virtual": true, + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "circ_type", + "label": "Circulation Type", + "virtual": true, + "type": "link", + "key": "id", + "class": "rcirct", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "billing_total", + "label": "Billing Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxbt", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "payment_total", + "label": "Payment Totals", + "virtual": true, + "type": "link", + "key": "xact", + "class": "rxpt", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "rof": { + "name": "rof", + "label": "Output Folder", + "table": "reporter.output_folder", + "pkey": "id", + "pkey_sequence": "reporter.output_folder_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "parent", + "type": "link", + "key": "id", + "class": "rof", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "name", "datatype": "text" }, + { "name": "shared", "datatype": "bool" }, + { + "name": "share_with", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "children", + "virtual": true, + "type": "link", + "key": "parent", + "class": "rof", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "outputs", + "virtual": true, + "type": "link", + "key": "folder", + "class": "rs", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "rp": { + "name": "rp", + "label": "Statistical Popularity Parameter", + "table": "rating.popularity_parameter", + "pkey": "id", + "pkey_sequence": "rating.popularity_parameter_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { "name": "description", "label": "Description", "datatype": "text" }, + { "name": "func", "label": "Population Function", "datatype": "text" }, + { + "name": "require_horizon", + "label": "Require Horizon", + "datatype": "bool" + }, + { + "name": "require_percentile", + "label": "Require Percentile", + "datatype": "bool" + }, + { + "name": "require_importance", + "label": "Require Importance", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_POP_PARAMETER"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_POP_PARAMETER"] }, + "delete": { "perms": ["DELETE_POP_PARAMETER"] } + } + }, + "rr": { + "name": "rr", + "label": "Report", + "table": "reporter.report", + "pkey": "id", + "pkey_sequence": "reporter.report_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { + "name": "template", + "type": "link", + "key": "id", + "class": "rt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "data", "datatype": "text" }, + { + "name": "folder", + "type": "link", + "key": "id", + "class": "rrf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "recur", "datatype": "bool" }, + { "name": "recurrence", "datatype": "interval" }, + { "name": "name", "datatype": "text" }, + { "name": "description", "datatype": "text" }, + { + "name": "runs", + "virtual": true, + "type": "link", + "key": "report", + "class": "rs", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "rrbs": { + "name": "rrbs", + "label": "Statistical Popularity Badge", + "table": "rating.record_badge_score", + "pkey": "id", + "pkey_sequence": "rating.record_badge_score_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "badge", + "label": "Badge", + "type": "link", + "key": "id", + "class": "rb", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "record", + "label": "Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "score", "label": "Score", "datatype": "int" } + ], + "permacrud": { "retrieve": {} } + }, + "rrf": { + "name": "rrf", + "label": "Report Folder", + "table": "reporter.report_folder", + "pkey": "id", + "pkey_sequence": "reporter.report_folder_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "parent", + "type": "link", + "key": "id", + "class": "rrf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "name", "datatype": "text" }, + { "name": "shared", "datatype": "bool" }, + { + "name": "share_with", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "children", + "virtual": true, + "type": "link", + "key": "parent", + "class": "rrf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "reports", + "virtual": true, + "type": "link", + "key": "folder", + "class": "rr", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "rs": { + "name": "rs", + "label": "Schedule", + "table": "reporter.schedule", + "pkey": "id", + "pkey_sequence": "reporter.schedule_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "runner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "start_time", "datatype": "timestamp" }, + { "name": "complete_time", "datatype": "timestamp" }, + { "name": "run_time", "datatype": "timestamp" }, + { "name": "email", "datatype": "text" }, + { "name": "excel_format", "datatype": "bool" }, + { "name": "csv_format", "datatype": "bool" }, + { "name": "html_format", "datatype": "bool" }, + { "name": "error_code", "datatype": "int" }, + { "name": "error_text", "datatype": "text" }, + { + "name": "report", + "type": "link", + "key": "id", + "class": "rr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "folder", + "type": "link", + "key": "id", + "class": "rof", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "chart_pie", "datatype": "bool" }, + { "name": "chart_bar", "datatype": "bool" }, + { "name": "chart_line", "datatype": "bool" } + ] + }, + "rsce1": { + "name": "rsce1", + "label": "CAT1 Entry", + "table": "reporter.legacy_cat1", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Entry ID", + "selector": "value", + "datatype": "id" + }, + { + "name": "owner", + "label": "Entry Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Entry Value", "datatype": "text" } + ] + }, + "rsce2": { + "name": "rsce2", + "label": "CAT2 Entry", + "table": "reporter.legacy_cat2", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "Entry ID", + "selector": "value", + "datatype": "id" + }, + { + "name": "owner", + "label": "Entry Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "value", "label": "Entry Value", "datatype": "text" } + ] + }, + "rsr": { + "name": "rsr", + "label": "Simple Record", + "table": "reporter.simple_record", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Record ID", "datatype": "id" }, + { + "name": "metarecord", + "label": "Metarecord", + "type": "link", + "key": "id", + "class": "mmr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fingerprint", "label": "Fingerprint", "datatype": "text" }, + { + "name": "quality", + "label": "Overall Record Quality", + "datatype": "int" + }, + { "name": "tcn_source", "label": "TCN Source", "datatype": "text" }, + { "name": "tcn_value", "label": "TCN Value", "datatype": "text" }, + { + "name": "title", + "label": "Title Proper (normalized)", + "datatype": "text" + }, + { + "name": "uniform_title", + "label": "Uniform Title (normalized)", + "datatype": "text" + }, + { "name": "author", "label": "Author (normalized)", "datatype": "text" }, + { + "name": "publisher", + "label": "Publisher (normalized)", + "datatype": "text" + }, + { + "name": "pubdate", + "label": "Publication Year (normalized)", + "datatype": "int" + }, + { + "name": "series_title", + "label": "Series Title (normalized)", + "datatype": "text" + }, + { + "name": "series_statement", + "label": "Series Statement (normalized)", + "datatype": "text" + }, + { + "name": "summary", + "label": "Summary (normalized)", + "datatype": "text" + }, + { "name": "isbn", "label": "ISBN", "datatype": "text" }, + { "name": "issn", "label": "ISSN", "datatype": "text" }, + { + "name": "topic_subject", + "label": "Topic Subjects (normalized)", + "datatype": "text" + }, + { + "name": "geographic_subject", + "label": "Geographic Subjects (normalized)", + "datatype": "text" + }, + { "name": "genre", "label": "Genres (normalized)", "datatype": "text" }, + { + "name": "name_subject", + "label": "Personal Name Subjects (normalized)", + "datatype": "text" + }, + { + "name": "corporate_subject", + "label": "Corporate Name Subjects (normalized)", + "datatype": "text" + }, + { + "name": "external_uri", + "label": "External URI List (normalized)", + "datatype": "text" + }, + { + "name": "biblio_record", + "label": "Full Bibliographic record", + "virtual": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "rssr": { + "name": "rssr", + "label": "Simple Record Extracts", + "table": "reporter.super_simple_record", + "pkey": "id", + "fields": [ + { "name": "id", "label": "Record ID", "datatype": "id" }, + { "name": "fingerprint", "label": "Fingerprint", "datatype": "text" }, + { + "name": "quality", + "label": "Overall Record Quality", + "datatype": "int" + }, + { "name": "tcn_source", "label": "TCN Source", "datatype": "text" }, + { "name": "tcn_value", "label": "TCN Value", "datatype": "text" }, + { + "name": "title", + "label": "Title Proper (normalized)", + "datatype": "text" + }, + { "name": "author", "label": "Author (normalized)", "datatype": "text" }, + { + "name": "publisher", + "label": "Publisher (normalized)", + "datatype": "text" + }, + { + "name": "pubdate", + "label": "Publication Year (normalized)", + "datatype": "int" + }, + { "name": "isbn", "label": "ISBN", "datatype": "text" }, + { "name": "issn", "label": "ISSN", "datatype": "text" }, + { + "name": "biblio_record", + "label": "Full Bibliographic record", + "virtual": true, + "type": "link", + "key": "id", + "class": "bre", + "reltype": "might_have", + "datatype": "link" + } + ] + }, + "rt": { + "name": "rt", + "label": "Template", + "table": "reporter.template", + "pkey": "id", + "pkey_sequence": "reporter.template_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "name", "datatype": "text" }, + { "name": "data", "datatype": "text" }, + { + "name": "folder", + "type": "link", + "key": "id", + "class": "rtf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "description", "datatype": "text" }, + { + "name": "reports", + "virtual": true, + "type": "link", + "key": "template", + "class": "rr", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["RUN_REPORTS"] }, + "retrieve": { "perms": ["RUN_REPORTS"] }, + "update": { "perms": ["RUN_REPORTS"] }, + "delete": { "perms": ["RUN_REPORTS"] } + } + }, + "rtf": { + "name": "rtf", + "label": "Template Folder", + "table": "reporter.template_folder", + "pkey": "id", + "pkey_sequence": "reporter.template_folder_id_seq", + "fields": [ + { "name": "id", "datatype": "id" }, + { + "name": "parent", + "type": "link", + "key": "id", + "class": "rtf", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owner", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "create_time", "datatype": "timestamp" }, + { "name": "name", "datatype": "text" }, + { "name": "shared", "datatype": "bool" }, + { + "name": "share_with", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "children", + "virtual": true, + "type": "link", + "key": "parent", + "class": "rtf", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "templates", + "virtual": true, + "type": "link", + "key": "folder", + "class": "rt", + "reltype": "has_many", + "datatype": "link" + } + ] + }, + "rud": { + "name": "rud", + "label": "User Demographics", + "table": "reporter.demographic", + "pkey": "id", + "fields": [ + { + "name": "id", + "label": "User ID", + "type": "link", + "key": "id", + "class": "au", + "reltype": "might_have", + "datatype": "id" + }, + { "name": "dob", "label": "Date of Birth", "datatype": "timestamp" }, + { + "name": "general_division", + "label": "General Demographic Division", + "datatype": "text" + } + ] + }, + "rxbt": { + "name": "rxbt", + "label": "Transaction Billing Totals", + "table": "reporter.xact_billing_totals", + "pkey": "xact", + "fields": [ + { + "name": "xact", + "label": "Transaction ID", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "int" + }, + { + "name": "unvoided", + "label": "Unvoided Billing Amount", + "datatype": "int" + }, + { + "name": "voided", + "label": "Voided Billing Amount", + "datatype": "money" + }, + { "name": "total", "label": "Total Billing Amount", "datatype": "money" } + ] + }, + "rxpt": { + "name": "rxpt", + "label": "Transaction Paid Totals", + "table": "reporter.xact_paid_totals", + "pkey": "xact", + "fields": [ + { + "name": "xact", + "label": "Transaction ID", + "type": "link", + "key": "id", + "class": "mbt", + "reltype": "might_have", + "datatype": "int" + }, + { + "name": "unvoided", + "label": "Unvoided Paid Amount", + "datatype": "int" + }, + { + "name": "voided", + "label": "Voided (Returned) Paid Amount", + "datatype": "money" + }, + { "name": "total", "label": "Total Paid Amount", "datatype": "money" } + ] + }, + "sasum": { + "name": "sasum", + "label": "All Issues' Summaries", + "table": "serial.any_summary", + "fields": [ + { "name": "summary_type", "label": "Summary Type", "datatype": "text" }, + { "name": "id", "label": "Native ID", "datatype": "int" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "generated_coverage", + "label": "Generated Coverage", + "datatype": "text" + }, + { + "name": "show_generated", + "label": "Show Generated?", + "datatype": "bool" + } + ] + }, + "sbsum": { + "name": "sbsum", + "label": "Basic Issue Summary", + "table": "serial.basic_summary", + "pkey": "id", + "pkey_sequence": "serial.basic_summary_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "generated_coverage", + "label": "Generated Coverage", + "datatype": "text" + }, + { + "name": "textual_holdings", + "label": "Textual Holdings", + "datatype": "text" + }, + { + "name": "show_generated", + "label": "Show Generated?", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] } + } + }, + "scap": { + "name": "scap", + "label": "Caption and Pattern", + "table": "serial.caption_and_pattern", + "pkey": "id", + "pkey_sequence": "serial.caption_and_pattern_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "subscription", + "label": "Subscription", + "type": "link", + "key": "id", + "class": "ssub", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "type", "label": "Type", "datatype": "text" }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "start_date", "label": "Start Date", "datatype": "timestamp" }, + { "name": "end_date", "label": "End Date", "datatype": "timestamp" }, + { "name": "active", "label": "Active?", "datatype": "bool" }, + { "name": "pattern_code", "label": "Pattern Code", "datatype": "text" }, + { "name": "enum_1", "label": "Enum 1", "datatype": "text" }, + { "name": "enum_2", "label": "Enum 2", "datatype": "text" }, + { "name": "enum_3", "label": "Enum 3", "datatype": "text" }, + { "name": "enum_4", "label": "Enum 4", "datatype": "text" }, + { "name": "enum_5", "label": "Enum 5", "datatype": "text" }, + { "name": "enum_6", "label": "Enum 6", "datatype": "text" }, + { "name": "chron_1", "label": "Chron 1", "datatype": "text" }, + { "name": "chron_2", "label": "Chron 2", "datatype": "text" }, + { "name": "chron_3", "label": "Chron 3", "datatype": "text" }, + { "name": "chron_4", "label": "Chron 4", "datatype": "text" }, + { "name": "chron_5", "label": "Chron 5", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_CAPTION_PATTERN"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_CAPTION_PATTERN"] }, + "delete": { "perms": ["ADMIN_SERIAL_CAPTION_PATTERN"] } + } + }, + "sdist": { + "name": "sdist", + "label": "Distribution", + "table": "serial.distribution", + "pkey": "id", + "pkey_sequence": "serial.distribution_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "record_entry", + "label": "Legacy Record Entry", + "type": "link", + "key": "id", + "class": "sre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "summary_method", + "label": "Summary Method", + "datatype": "text" + }, + { + "name": "subscription", + "label": "Subscription", + "type": "link", + "key": "id", + "class": "ssub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "holding_lib", + "label": "Holding Lib", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "receive_call_number", + "label": "Receive Call Number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "receive_unit_template", + "label": "Receive Unit Template", + "type": "link", + "key": "id", + "class": "act", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "bind_call_number", + "label": "Bind Call Number", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "bind_unit_template", + "label": "Bind Unit Template", + "type": "link", + "key": "id", + "class": "act", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "unit_label_prefix", + "label": "Unit Label Prefix", + "datatype": "text" + }, + { + "name": "unit_label_suffix", + "label": "Unit Label Suffix", + "datatype": "text" + }, + { + "name": "display_grouping", + "label": "Display Grouping", + "datatype": "text" + }, + { + "name": "streams", + "label": "Streams", + "virtual": true, + "type": "link", + "key": "distribution", + "class": "sstr", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "distribution", + "class": "sdistn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "basic_summary", + "label": "Basic Issue Summary", + "virtual": true, + "type": "link", + "key": "distribution", + "class": "sbsum", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "supplement_summary", + "label": "Supplemental Issue Summary", + "virtual": true, + "type": "link", + "key": "distribution", + "class": "sssum", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "index_summary", + "label": "Index Issue Summary", + "virtual": true, + "type": "link", + "key": "distribution", + "class": "sisum", + "reltype": "might_have", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] } + } + }, + "sdistn": { + "name": "sdistn", + "label": "Distribution Note", + "table": "serial.distribution_note", + "pkey": "id", + "pkey_sequence": "serial.distribution_note_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "pub", "label": "Public?", "datatype": "bool" }, + { "name": "alert", "label": "Alert?", "datatype": "bool" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "retrieve": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "update": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] } + } + }, + "sin": { + "name": "sin", + "label": "Item Note", + "table": "serial.item_note", + "pkey": "id", + "pkey_sequence": "serial.item_note_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "item", + "label": "Item", + "type": "link", + "key": "id", + "class": "sitem", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "pub", "label": "Public?", "datatype": "bool" }, + { "name": "alert", "label": "Alert?", "datatype": "bool" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "retrieve": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "update": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "delete": { "perms": ["ADMIN_SERIAL_ITEM"] } + } + }, + "siss": { + "name": "siss", + "label": "Issuance", + "table": "serial.issuance", + "pkey": "id", + "pkey_sequence": "serial.issuance_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "edit_date", "label": "Edit Date", "datatype": "timestamp" }, + { + "name": "subscription", + "label": "Subscription", + "type": "link", + "key": "id", + "class": "ssub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "caption_and_pattern", + "label": "Caption/Pattern", + "type": "link", + "key": "id", + "class": "scap", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "datatype": "text" }, + { + "name": "date_published", + "label": "Date Published", + "datatype": "timestamp" + }, + { "name": "holding_code", "label": "Holding Code", "datatype": "text" }, + { "name": "holding_type", "label": "Holding Type", "datatype": "text" }, + { + "name": "holding_link_id", + "label": "Holding Link ID", + "datatype": "int" + }, + { + "name": "items", + "label": "Items", + "virtual": true, + "type": "link", + "key": "issuance", + "class": "sitem", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] } + } + }, + "sisum": { + "name": "sisum", + "label": "Index Issue Summary", + "table": "serial.index_summary", + "pkey": "id", + "pkey_sequence": "serial.index_summary_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "generated_coverage", + "label": "Generated Coverage", + "datatype": "text" + }, + { + "name": "textual_holdings", + "label": "Textual Holdings", + "datatype": "text" + }, + { + "name": "show_generated", + "label": "Show Generated?", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] } + } + }, + "sitem": { + "name": "sitem", + "label": "Item", + "table": "serial.item", + "pkey": "id", + "pkey_sequence": "serial.item_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "edit_date", "label": "Edit Date", "datatype": "timestamp" }, + { + "name": "issuance", + "label": "Issuance", + "type": "link", + "key": "id", + "class": "siss", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "stream", + "label": "Stream", + "type": "link", + "key": "id", + "class": "sstr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "unit", + "label": "Unit", + "type": "link", + "key": "id", + "class": "sunit", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "uri", + "label": "URI", + "type": "link", + "key": "id", + "class": "auri", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "date_expected", + "label": "Date Expected", + "datatype": "timestamp" + }, + { + "name": "date_received", + "label": "Date Received", + "datatype": "timestamp" + }, + { "name": "status", "label": "Status", "datatype": "text" }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "item", + "class": "sin", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "shadowed", "label": "Shadowed?", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "retrieve": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "update": { "perms": ["ADMIN_SERIAL_ITEM"] }, + "delete": { "perms": ["ADMIN_SERIAL_ITEM"] } + } + }, + "smhc": { + "name": "smhc", + "label": "Materialized Holding Code", + "table": "serial.materialized_holding_code", + "pkey": "id", + "pkey_sequence": "serial.materialized_holding_code_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "issuance", + "label": "Issuance", + "type": "link", + "key": "id", + "class": "siss", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "holding_type", "label": "Holding Type", "datatype": "text" }, + { "name": "ind1", "label": "First Indicator", "datatype": "text" }, + { "name": "ind2", "label": "Second Indicator", "datatype": "text" }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" } + ] + }, + "spt": { + "name": "spt", + "label": "Prediction Pattern Template", + "table": "serial.pattern_template", + "pkey": "id", + "pkey_sequence": "serial.pattern_template_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "name", "label": "Name", "required": true, "datatype": "text" }, + { + "name": "pattern_code", + "label": "Pattern Code", + "required": true, + "datatype": "text" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "share_depth", "label": "Share Depth", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_PATTERN_TEMPLATE"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_PATTERN_TEMPLATE"] }, + "delete": { "perms": ["ADMIN_SERIAL_PATTERN_TEMPLATE"] } + } + }, + "sra": { + "name": "sra", + "label": "Relevance Adjustment", + "table": "search.relevance_adjustment", + "pkey": "id", + "pkey_sequence": "search.relevance_adjustment_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "active", "label": "Active", "datatype": "bool" }, + { + "name": "field", + "label": "Index Field", + "type": "link", + "key": "id", + "class": "cmf", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "bump_type", "label": "Bump Type", "datatype": "text" }, + { "name": "multiplier", "label": "Multiplier", "datatype": "number" } + ], + "permacrud": { + "create": { "perms": ["CREATE_RELEVANCE_ADJUSTMENT"] }, + "retrieve": { + "perms": [ + "CREATE_RELEVANCE_ADJUSTMENT", + "UPDATE_RELEVANCE_ADJUSTMENT", + "DELETE_RELEVANCE_ADJUSTMENT" + ] + }, + "update": { "perms": ["UPDATE_RELEVANCE_ADJUSTMENT"] }, + "delete": { "perms": ["DELETE_RELEVANCE_ADJUSTMENT"] } + } + }, + "sre": { + "name": "sre", + "label": "Serial Record Entry", + "table": "serial.record_entry", + "pkey": "id", + "pkey_sequence": "serial.record_entry_id_seq", + "fields": [ + { "name": "active", "label": "Is Active", "datatype": "bool" }, + { + "name": "record", + "label": "Bib Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted", "datatype": "bool" }, + { "name": "edit_date", "label": "Edit date", "datatype": "timestamp" }, + { + "name": "editor", + "label": "Editor", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "last_xact_id", + "label": "Last Transaction ID", + "datatype": "text" + }, + { "name": "marc", "label": "MARC", "datatype": "text" }, + { "name": "source", "label": "Source", "datatype": "int" }, + { + "name": "owning_lib", + "label": "Owning Org Unit", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_MFHD_RECORD"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_MFHD_RECORD"] }, + "delete": { "perms": ["DELETE_MFHD_RECORD"] } + } + }, + "srlu": { + "name": "srlu", + "label": "Routing List User", + "table": "serial.routing_list_user", + "pkey": "id", + "pkey_sequence": "serial.routing_list_user_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "stream", + "label": "Stream", + "type": "link", + "key": "id", + "class": "sstr", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "pos", "label": "Position", "datatype": "int" }, + { + "name": "reader", + "label": "Reader", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "department", "label": "Department", "datatype": "text" }, + { "name": "note", "label": "Note", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_STREAM"] }, + "retrieve": { "perms": ["RECEIVE_SERIAL"] }, + "update": { "perms": ["ADMIN_SERIAL_STREAM"] }, + "delete": { "perms": ["ADMIN_SERIAL_STREAM"] } + } + }, + "ssr": { + "name": "ssr", + "label": "Search Result", + "table": "search.search_result", + "pkey": "id", + "pkey_sequence": "actor.org_unit_proximity_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "rel", "label": "Relevance", "datatype": "float" }, + { "name": "record", "label": "Record", "datatype": "link" }, + { "name": "total", "label": "Total Results", "datatype": "int" }, + { "name": "checked", "label": "Checked", "datatype": "int" }, + { "name": "visible", "label": "Visible", "datatype": "int" }, + { "name": "deleted", "label": "Deleted", "datatype": "int" }, + { "name": "excluded", "label": "Excluded", "datatype": "int" } + ] + }, + "sssum": { + "name": "sssum", + "label": "Supplemental Issue Summary", + "table": "serial.supplement_summary", + "pkey": "id", + "pkey_sequence": "serial.supplement_summary_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "generated_coverage", + "label": "Generated Coverage", + "datatype": "text" + }, + { + "name": "textual_holdings", + "label": "Textual Holdings", + "datatype": "text" + }, + { + "name": "show_generated", + "label": "Show Generated?", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_DISTRIBUTION"] } + } + }, + "sstr": { + "name": "sstr", + "label": "Stream", + "table": "serial.stream", + "pkey": "id", + "pkey_sequence": "serial.stream_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "distribution", + "label": "Distribution", + "type": "link", + "key": "id", + "class": "sdist", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "routing_label", "label": "Routing Label", "datatype": "text" }, + { + "name": "items", + "label": "Items", + "virtual": true, + "type": "link", + "key": "stream", + "class": "sitem", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "routing_list_users", + "label": "Routing List Users", + "virtual": true, + "type": "link", + "key": "stream", + "class": "srlu", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_STREAM"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_STREAM"] }, + "delete": { "perms": ["ADMIN_SERIAL_STREAM"] } + } + }, + "ssub": { + "name": "ssub", + "label": "Subscription", + "table": "serial.subscription", + "pkey": "id", + "pkey_sequence": "serial.subscription_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { "name": "start_date", "label": "Start Date", "datatype": "timestamp" }, + { "name": "end_date", "label": "End Date", "datatype": "timestamp" }, + { + "name": "record_entry", + "label": "Bibliographic Record Entry", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "expected_date_offset", + "label": "Expected Date Offset", + "datatype": "interval" + }, + { + "name": "distributions", + "label": "Distributions", + "virtual": true, + "type": "link", + "key": "subscription", + "class": "sdist", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "issuances", + "label": "Issuances", + "virtual": true, + "type": "link", + "key": "subscription", + "class": "siss", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "scaps", + "label": "Captions and Patterns", + "virtual": true, + "type": "link", + "key": "subscription", + "class": "scap", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "notes", + "label": "Notes", + "virtual": true, + "type": "link", + "key": "subscription", + "class": "ssubn", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] } + } + }, + "ssubn": { + "name": "ssubn", + "label": "Subscription Note", + "table": "serial.subscription_note", + "pkey": "id", + "pkey_sequence": "serial.subscription_note_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "subscription", + "label": "Subscription", + "type": "link", + "key": "id", + "class": "ssub", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "creator", + "label": "Creator", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_date", + "label": "Create Date", + "datatype": "timestamp" + }, + { "name": "pub", "label": "Public?", "datatype": "bool" }, + { "name": "alert", "label": "Alert?", "datatype": "bool" }, + { "name": "title", "label": "Title", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "retrieve": {}, + "update": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] }, + "delete": { "perms": ["ADMIN_SERIAL_SUBSCRIPTION"] } + } + }, + "stgba": { + "name": "stgba", + "label": "Billing Address Stage", + "table": "staging.billing_address_stage", + "pkey": "row_id", + "pkey_sequence": "staging.mailing_address_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Row Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { "name": "street1", "label": "Street (1)", "datatype": "text" }, + { "name": "street2", "label": "Street (2)", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "post_code", "label": "Postal Code", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" } + ] + }, + "stgc": { + "name": "stgc", + "label": "Card Stage", + "table": "staging.card_stage", + "pkey": "row_id", + "pkey_sequence": "staging.card_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Row Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" } + ] + }, + "stgma": { + "name": "stgma", + "label": "Mailing Address Stage", + "table": "staging.mailing_address_stage", + "pkey": "row_id", + "pkey_sequence": "staging.mailing_address_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Row Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { "name": "street1", "label": "Street (1)", "datatype": "text" }, + { "name": "street2", "label": "Street (2)", "datatype": "text" }, + { "name": "city", "label": "City", "datatype": "text" }, + { "name": "county", "label": "County", "datatype": "text" }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "country", "label": "Country", "datatype": "text" }, + { "name": "post_code", "label": "Postal Code", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" } + ] + }, + "stgs": { + "name": "stgs", + "label": "User Setting Stage", + "table": "staging.setting_stage", + "pkey": "row_id", + "pkey_sequence": "staging.setting_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Row Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { "name": "setting", "label": "User Setting Code", "datatype": "text" }, + { "name": "value", "label": "User Setting Value", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" } + ] + }, + "stgsc": { + "name": "stgsc", + "label": "Statistical Category Stage", + "table": "staging.statcat_stage", + "pkey": "row_id", + "pkey_sequence": "staging.statcat_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Row Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { "name": "statcat", "label": "Stat Cat ID", "datatype": "text" }, + { "name": "value", "label": "Stat Cat Value", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" } + ] + }, + "stgu": { + "name": "stgu", + "label": "User Stage", + "table": "staging.user_stage", + "pkey": "row_id", + "pkey_sequence": "staging.user_stage_row_id_seq", + "fields": [ + { "name": "row_id", "label": "Row ID", "datatype": "id" }, + { "name": "row_date", "label": "Create Date", "datatype": "timestamp" }, + { "name": "usrname", "label": "User Name", "datatype": "text" }, + { + "name": "profile", + "label": "Main (Profile) Permission Group", + "datatype": "text" + }, + { "name": "email", "label": "Email Address", "datatype": "text" }, + { "name": "passwd", "label": "Password", "datatype": "text" }, + { + "name": "ident_type", + "label": "Primary Identification Type", + "datatype": "int" + }, + { "name": "first_given_name", "label": "First Name", "datatype": "text" }, + { + "name": "second_given_name", + "label": "Middle Name", + "datatype": "text" + }, + { "name": "family_name", "label": "Last Name", "datatype": "text" }, + { "name": "day_phone", "label": "Daytime Phone", "datatype": "text" }, + { "name": "evening_phone", "label": "Evening Phone", "datatype": "text" }, + { "name": "home_ou", "label": "Home Library", "datatype": "int" }, + { "name": "dob", "label": "Date of Birth", "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" }, + { + "name": "requesting_usr", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "pref_first_given_name", + "label": "Preferred First Name", + "datatype": "text" + }, + { + "name": "pref_second_given_name", + "label": "Preferred Middle Name", + "datatype": "text" + }, + { + "name": "pref_family_name", + "label": "Preferred Last Name", + "datatype": "text" + } + ] + }, + "sunit": { + "name": "sunit", + "label": "Unit", + "table": "serial.unit", + "pkey": "id", + "pkey_sequence": "asset.copy_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { + "name": "age_protect", + "label": "Age Hold Protection", + "type": "link", + "key": "id", + "class": "crahp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { + "name": "call_number", + "label": "Call Number/Volume", + "type": "link", + "key": "id", + "class": "acn", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "circ_as_type", + "label": "Circulation Type (MARC)", + "datatype": "text" + }, + { + "name": "circ_lib", + "label": "Circulating Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "type": "link", + "key": "code", + "class": "ccm", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "circulate", "label": "Can Circulate", "datatype": "bool" }, + { + "name": "copy_number", + "label": "Copy Number on Volume", + "datatype": "text" + }, + { + "name": "create_date", + "label": "Creation Date/Time", + "datatype": "timestamp" + }, + { + "name": "active_date", + "label": "Active Date/Time", + "datatype": "timestamp" + }, + { + "name": "creator", + "label": "Creating User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "deleted", "label": "Is Deleted", "datatype": "bool" }, + { "name": "dummy_isbn", "label": "Dummy ISBN", "datatype": "text" }, + { "name": "deposit", "label": "Is Deposit Required", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "money" + }, + { + "name": "dummy_author", + "label": "Precat Dummy Author", + "datatype": "text" + }, + { + "name": "dummy_title", + "label": "Precat Dummy Title", + "datatype": "text" + }, + { + "name": "edit_date", + "label": "Last Edit Date/Time", + "datatype": "timestamp" + }, + { + "name": "editor", + "label": "Last Editing User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "fine_level", "label": "Fine Level", "datatype": "int" }, + { "name": "holdable", "label": "Is Holdable", "datatype": "bool" }, + { "name": "loan_duration", "label": "Loan Duration", "datatype": "int" }, + { + "name": "location", + "label": "Shelving Location", + "type": "link", + "key": "id", + "class": "acpl", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { "name": "price", "label": "Price", "datatype": "money" }, + { "name": "ref", "label": "Is Reference", "datatype": "bool" }, + { + "name": "status", + "label": "Copy Status", + "type": "link", + "key": "id", + "class": "ccs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "status_changed_time", + "label": "Copy Status Changed Time", + "datatype": "timestamp" + }, + { + "name": "mint_condition", + "label": "Is Mint Condition", + "datatype": "bool" + }, + { + "name": "floating", + "label": "Floating Group", + "type": "link", + "key": "id", + "class": "cfg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "cost", "label": "Cost", "datatype": "money" }, + { "name": "sort_key", "label": "Sort Key", "datatype": "text" }, + { + "name": "summary_contents", + "label": "Summary Contents", + "datatype": "text" + }, + { + "name": "detailed_contents", + "label": "Detailed Contents", + "datatype": "text" + }, + { + "name": "notes", + "label": "Copy Notes", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "acpn", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "stat_cat_entry_copy_maps", + "label": "Stat-Cat entry maps", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "ascecm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "circulations", + "label": "Circulations", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "circ", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "total_circ_count", + "label": "Total Circulations", + "virtual": true, + "type": "link", + "key": "id", + "class": "erfcc", + "reltype": "might_have", + "datatype": "link" + }, + { + "name": "holds", + "label": "Holds", + "virtual": true, + "type": "link", + "key": "target_copy", + "class": "ahcm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "stat_cat_entries", + "label": "Statistical Category Entries", + "virtual": true, + "type": "link", + "key": "owning_copy", + "class": "ascecm", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["RECEIVE_SERIAL", "ADMIN_SERIAL_SUBSCRIPTION"] }, + "retrieve": {}, + "update": { "perms": ["RECEIVE_SERIAL", "ADMIN_SERIAL_SUBSCRIPTION"] }, + "delete": { "perms": ["RECEIVE_SERIAL", "ADMIN_SERIAL_SUBSCRIPTION"] } + } + }, + "svr": { + "name": "svr", + "label": "Serial Virtual Record", + "virtual": true, + "fields": [ + { "name": "sre_id", "virtual": true, "datatype": "text" }, + { "name": "location", "virtual": true, "datatype": "text" }, + { "name": "owning_lib", "virtual": true, "datatype": "text" }, + { "name": "basic_holdings", "virtual": true, "datatype": "text" }, + { "name": "basic_holdings_add", "virtual": true, "datatype": "text" }, + { "name": "supplement_holdings", "virtual": true, "datatype": "text" }, + { + "name": "supplement_holdings_add", + "virtual": true, + "datatype": "text" + }, + { "name": "index_holdings", "virtual": true, "datatype": "text" }, + { "name": "index_holdings_add", "virtual": true, "datatype": "text" }, + { "name": "online", "virtual": true, "datatype": "text" }, + { "name": "missing", "virtual": true, "datatype": "text" }, + { "name": "incomplete", "virtual": true, "datatype": "text" } + ] + }, + "uvs": { + "name": "uvs", + "label": "URL Verification Session", + "table": "url_verify.session", + "pkey": "id", + "pkey_sequence": "url_verify.session_id_seq", + "fields": [ + { "name": "id", "label": "Session ID", "datatype": "id" }, + { "name": "name", "label": "Name", "required": true, "datatype": "text" }, + { + "name": "owning_lib", + "label": "Owning Library", + "required": true, + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "creator", + "label": "Creator", + "required": true, + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "container", + "label": "Record Container", + "required": true, + "type": "link", + "key": "id", + "class": "cbreb", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { + "name": "search", + "label": "Search Constraints", + "required": true, + "datatype": "text" + }, + { + "name": "selectors", + "label": "URL Selectors", + "virtual": true, + "type": "link", + "key": "session", + "class": "uvus", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "attempts", + "label": "Verification Attempts", + "virtual": true, + "type": "link", + "key": "session", + "class": "uvva", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["URL_VERIFY"] } } + }, + "uvsbrem": { + "name": "uvsbrem", + "label": "URL Verify Session Biblio Record Entry Map", + "source": "( SELECT cbrebi.id AS id, 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) )", + "pkey": "id", + "pkey_sequence": "container.biblio_record_entry_bucket_item_id_seq", + "fields": [ + { "name": "id", "label": "Bucket Item ID", "datatype": "id" }, + { + "name": "session", + "label": "Session", + "type": "link", + "key": "id", + "class": "uvs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "owning_lib", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + { + "name": "target_biblio_record_entry", + "label": "Target Biblio Record Entry", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { "retrieve": { "perms": ["URL_VERIFY"] } } + }, + "uvu": { + "name": "uvu", + "label": "URL Verification URL", + "table": "url_verify.url", + "pkey": "id", + "pkey_sequence": "url_verify.url_id_seq", + "fields": [ + { "name": "id", "label": "URL ID", "datatype": "id" }, + { + "name": "redirect_from", + "label": "Redirected From", + "type": "link", + "key": "id", + "class": "uvu", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "item", + "label": "Container Item", + "required": true, + "type": "link", + "key": "id", + "class": "uvsbrem", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "session", + "label": "Session", + "required": true, + "type": "link", + "key": "id", + "class": "uvs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "url_selector", + "label": "URL Selector", + "type": "link", + "key": "id", + "class": "uvus", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "ord", "label": "Ordinal Position", "datatype": "int" }, + { "name": "full_url", "label": "URL", "datatype": "text" }, + { "name": "scheme", "label": "Scheme", "datatype": "text" }, + { "name": "host", "label": "Host", "datatype": "text" }, + { "name": "domain", "label": "Domain", "datatype": "text" }, + { "name": "tld", "label": "TLD", "datatype": "text" }, + { "name": "path", "label": "Path", "datatype": "text" }, + { "name": "page", "label": "Page", "datatype": "text" }, + { "name": "query", "label": "Query", "datatype": "text" }, + { "name": "fragment", "label": "Fragment", "datatype": "text" }, + { + "name": "verifications", + "label": "Verifications", + "virtual": true, + "type": "link", + "key": "url", + "class": "uvuv", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["URL_VERIFY"] }, + "retrieve": { "perms": ["URL_VERIFY"] }, + "update": { "perms": ["URL_VERIFY"] }, + "delete": { "perms": ["URL_VERIFY"] } + } + }, + "uvus": { + "name": "uvus", + "label": "URL Verification URL Selector", + "table": "url_verify.url_selector", + "pkey": "id", + "pkey_sequence": "url_verify.url_selector_id_seq", + "fields": [ + { "name": "id", "label": "URL Selector ID", "datatype": "id" }, + { + "name": "xpath", + "label": "XPath", + "required": true, + "datatype": "text" + }, + { + "name": "session", + "label": "Session", + "required": true, + "type": "link", + "key": "id", + "class": "uvs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "urls", + "label": "URLs", + "virtual": true, + "type": "link", + "key": "id", + "class": "uvu", + "reltype": "has_many", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["URL_VERIFY"] }, + "retrieve": { "perms": ["URL_VERIFY"] }, + "update": { "perms": ["URL_VERIFY"] }, + "delete": { "perms": ["URL_VERIFY"] } + } + }, + "uvuv": { + "name": "uvuv", + "label": "URL Verification", + "table": "url_verify.url_verification", + "pkey": "id", + "pkey_sequence": "url_verify.url_verification_id_seq", + "fields": [ + { "name": "id", "label": "Verification ID", "datatype": "id" }, + { + "name": "url", + "label": "URL", + "type": "link", + "key": "id", + "class": "uvu", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "attempt", + "label": "Attempt", + "type": "link", + "key": "id", + "class": "uvva", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "req_time", "label": "Request Time", "datatype": "timestamp" }, + { "name": "res_time", "label": "Result Time", "datatype": "timestamp" }, + { "name": "res_code", "label": "Result Code", "datatype": "int" }, + { "name": "res_text", "label": "Result Text", "datatype": "text" }, + { + "name": "redirect_to", + "label": "Redirected To", + "type": "link", + "key": "id", + "class": "uvu", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["URL_VERIFY"] }, + "retrieve": { "perms": ["URL_VERIFY"] }, + "update": { "perms": ["URL_VERIFY"] }, + "delete": { "perms": ["URL_VERIFY"] } + } + }, + "uvva": { + "name": "uvva", + "label": "URL Verification Attempt", + "table": "url_verify.verification_attempt", + "pkey": "id", + "pkey_sequence": "url_verify.verification_attempt_id_seq", + "fields": [ + { "name": "id", "label": "Attempt ID", "datatype": "id" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "session", + "label": "Session", + "type": "link", + "key": "id", + "class": "uvs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "start_time", "label": "Start Time", "datatype": "timestamp" }, + { "name": "finish_time", "label": "Finish Time", "datatype": "timestamp" } + ], + "permacrud": { + "create": { "perms": ["URL_VERIFY"] }, + "retrieve": { "perms": ["URL_VERIFY"] }, + "update": { "perms": ["URL_VERIFY"] }, + "delete": { "perms": ["URL_VERIFY"] } + } + }, + "vam": { + "name": "vam", + "label": "Queued Authority Record Match", + "table": "vandelay.authority_match", + "pkey": "id", + "pkey_sequence": "vandelay.authority_match_id_seq", + "fields": [ + { "name": "id", "label": "Match ID", "datatype": "id" }, + { + "name": "queued_record", + "label": "Queued Record", + "type": "link", + "key": "id", + "class": "vqar", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "eg_record", + "label": "Evergreen Record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "quality", "label": "Quality", "datatype": "int" }, + { "name": "match_score", "label": "Match Score", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_AUTHORITY_IMPORT_QUEUE", + "UPDATE_AUTHORITY_IMPORT_QUEUE", + "DELETE_AUTHORITY_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_AUTHORITY_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_AUTHORITY_IMPORT_QUEUE"] } + } + }, + "vaq": { + "name": "vaq", + "label": "Import/Overlay Authority Queue", + "table": "vandelay.authority_queue", + "pkey": "id", + "pkey_sequence": "vandelay.queue_id_seq", + "fields": [ + { + "name": "id", + "label": "Queue ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" }, + { "name": "queue_type", "label": "Type", "datatype": "text" }, + { + "name": "match_set", + "label": "Match Set", + "type": "link", + "key": "id", + "class": "vms", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_AUTHORITY_IMPORT_QUEUE", + "UPDATE_AUTHORITY_IMPORT_QUEUE", + "DELETE_AUTHORITY_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_AUTHORITY_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_AUTHORITY_IMPORT_QUEUE"] } + } + }, + "vbm": { + "name": "vbm", + "label": "Queued Bib Record Match", + "table": "vandelay.bib_match", + "pkey": "id", + "pkey_sequence": "vandelay.bib_match_id_seq", + "fields": [ + { "name": "id", "label": "Match ID", "datatype": "id" }, + { + "name": "queued_record", + "label": "Queued Record", + "type": "link", + "key": "id", + "class": "vqbr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "eg_record", + "label": "Evergreen Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "quality", "label": "Quality", "datatype": "text" }, + { "name": "match_score", "label": "Match Score", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_BIB_IMPORT_QUEUE", + "UPDATE_BIB_IMPORT_QUEUE", + "DELETE_BIB_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_BIB_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_BIB_IMPORT_QUEUE"] } + } + }, + "vbq": { + "name": "vbq", + "label": "Import/Overlay Bib Queue", + "table": "vandelay.bib_queue", + "pkey": "id", + "pkey_sequence": "vandelay.queue_id_seq", + "fields": [ + { + "name": "id", + "label": "Queue ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "complete", "label": "Complete", "datatype": "bool" }, + { "name": "queue_type", "label": "Type", "datatype": "text" }, + { + "name": "match_set", + "label": "Match Set", + "type": "link", + "key": "id", + "class": "vms", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "item_attr_def", + "label": "Item Import Attribute Definition", + "type": "link", + "key": "id", + "class": "viiad", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "match_bucket", + "label": "Match Bucket", + "type": "link", + "key": "id", + "class": "cbreb", + "reltype": "has_a", + "datatype": "link" + } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_BIB_IMPORT_QUEUE", + "UPDATE_BIB_IMPORT_QUEUE", + "DELETE_BIB_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_BIB_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_BIB_IMPORT_QUEUE"] } + } + }, + "vibtf": { + "name": "vibtf", + "label": "Import/Overlay Fields for Removal", + "table": "vandelay.import_bib_trash_fields", + "pkey": "id", + "pkey_sequence": "vandelay.import_bib_trash_fields_id_seq", + "fields": [ + { "name": "id", "label": "Field ID", "datatype": "id" }, + { + "name": "grp", + "label": "Group", + "type": "link", + "key": "id", + "class": "vibtg", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "field", "label": "Field", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_IMPORT_TRASH_FIELD"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_IMPORT_TRASH_FIELD"] }, + "delete": { "perms": ["DELETE_IMPORT_TRASH_FIELD"] } + } + }, + "vibtg": { + "name": "vibtg", + "label": "Import/Overlay Field Groups for Removal", + "table": "vandelay.import_bib_trash_group", + "pkey": "id", + "pkey_sequence": "vandelay.import_bib_trash_group_id_seq", + "fields": [ + { "name": "id", "label": "ID", "selector": "name", "datatype": "id" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "label", "label": "Label", "datatype": "text" }, + { "name": "always_apply", "label": "Always Apply", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["CREATE_IMPORT_TRASH_FIELD"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_IMPORT_TRASH_FIELD"] }, + "delete": { "perms": ["DELETE_IMPORT_TRASH_FIELD"] } + } + }, + "vie": { + "name": "vie", + "label": "Import/Overlay Error Definitions", + "table": "vandelay.import_error", + "pkey": "code", + "fields": [ + { + "name": "code", + "label": "Error Code", + "selector": "description", + "datatype": "id" + }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + } + ], + "permacrud": { "retrieve": {} } + }, + "vii": { + "name": "vii", + "label": "Import Item", + "table": "vandelay.import_item", + "pkey": "id", + "pkey_sequence": "vandelay.import_item_id_seq", + "fields": [ + { "name": "id", "label": "Import Item ID", "datatype": "id" }, + { + "name": "record", + "label": "Import Record", + "type": "link", + "key": "id", + "class": "vqbr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "definition", + "label": "Attribute Definition", + "type": "link", + "key": "id", + "class": "viiad", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "import_error", + "label": "Import Error", + "type": "link", + "key": "code", + "class": "vie", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "error_detail", + "label": "Import Error Detail", + "datatype": "text" + }, + { + "name": "imported_as", + "label": "Final Target Copy", + "type": "link", + "key": "id", + "class": "acp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "import_time", + "label": "Import Time", + "datatype": "timestamp" + }, + { "name": "owning_lib", "label": "Owning Library", "datatype": "int" }, + { "name": "circ_lib", "label": "Circulating Library", "datatype": "int" }, + { "name": "call_number", "label": "Call Number", "datatype": "text" }, + { "name": "copy_number", "label": "Copy Number", "datatype": "int" }, + { "name": "status", "label": "Status", "datatype": "int" }, + { "name": "location", "label": "Shelving Location", "datatype": "int" }, + { "name": "circulate", "label": "Circulate", "datatype": "bool" }, + { "name": "deposit", "label": "Deposit", "datatype": "bool" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "money" + }, + { "name": "ref", "label": "Reference", "datatype": "bool" }, + { "name": "holdable", "label": "Holdable", "datatype": "bool" }, + { "name": "price", "label": "Price", "datatype": "money" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "datatype": "text" + }, + { + "name": "circ_as_type", + "label": "Circulate As MARC Type", + "datatype": "text" + }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "pub_note", "label": "Public Note", "datatype": "text" }, + { "name": "priv_note", "label": "Private Note", "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "bool" }, + { "name": "internal_id", "label": "Overlay Match ID", "datatype": "int" }, + { "name": "stat_cat_data", "label": "Stat Cat Data", "datatype": "text" }, + { "name": "parts_data", "label": "Parts Data", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_IMPORT_ITEM"] }, + "retrieve": { + "perms": [ + "CREATE_IMPORT_ITEM", + "UPDATE_IMPORT_ITEM", + "DELETE_IMPORT_ITEM" + ] + }, + "update": { "perms": ["UPDATE_IMPORT_ITEM"] }, + "delete": { "perms": ["DELETE_IMPORT_ITEM"] } + } + }, + "viiad": { + "name": "viiad", + "label": "Import Item Attribute Definition", + "table": "vandelay.import_item_attr_definition", + "pkey": "id", + "pkey_sequence": "vandelay.import_item_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "Definition ID", "datatype": "id" }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "owning_lib", "label": "Owning Library", "datatype": "text" }, + { + "name": "circ_lib", + "label": "Circulating Library", + "datatype": "text" + }, + { "name": "call_number", "label": "Call Number", "datatype": "text" }, + { "name": "status", "label": "Status", "datatype": "text" }, + { "name": "location", "label": "Shelving Location", "datatype": "text" }, + { "name": "circulate", "label": "Circulate", "datatype": "text" }, + { "name": "deposit", "label": "Deposit", "datatype": "text" }, + { + "name": "deposit_amount", + "label": "Deposit Amount", + "datatype": "text" + }, + { "name": "ref", "label": "Reference", "datatype": "text" }, + { "name": "holdable", "label": "Holdable", "datatype": "text" }, + { "name": "price", "label": "Price", "datatype": "text" }, + { "name": "barcode", "label": "Barcode", "datatype": "text" }, + { + "name": "circ_modifier", + "label": "Circulation Modifier", + "datatype": "text" + }, + { + "name": "circ_as_type", + "label": "Circulate As MARC Type", + "datatype": "text" + }, + { "name": "alert_message", "label": "Alert Message", "datatype": "text" }, + { "name": "pub_note", "label": "Public Note", "datatype": "text" }, + { "name": "priv_note", "label": "Private Note", "datatype": "text" }, + { "name": "opac_visible", "label": "OPAC Visible", "datatype": "text" }, + { "name": "copy_number", "label": "Copy Number", "datatype": "text" }, + { + "name": "internal_id", + "label": "Overlay Match ID", + "datatype": "text" + }, + { "name": "stat_cat_data", "label": "Stat Cat Data", "datatype": "text" }, + { "name": "parts_data", "label": "Parts Data", "datatype": "text" } + ], + "permacrud": { + "create": { + "perms": ["CREATE_IMPORT_ITEM_ATTR_DEF", "ADMIN_IMPORT_ITEM_ATTR_DEF"] + }, + "retrieve": { + "perms": [ + "CREATE_IMPORT_ITEM_ATTR_DEF", + "UPDATE_IMPORT_ITEM_ATTR_DEF", + "DELETE_IMPORT_ITEM_ATTR_DEF", + "ADMIN_IMPORT_ITEM_ATTR_DEF" + ] + }, + "update": { + "perms": ["UPDATE_IMPORT_ITEM_ATTR_DEF", "ADMIN_IMPORT_ITEM_ATTR_DEF"] + }, + "delete": { + "perms": ["DELETE_IMPORT_ITEM_ATTR_DEF", "ADMIN_IMPORT_ITEM_ATTR_DEF"] + } + } + }, + "vmp": { + "name": "vmp", + "label": "Bib Import Merge Profile", + "table": "vandelay.merge_profile", + "pkey": "id", + "pkey_sequence": "vandelay.merge_profile_id_seq", + "fields": [ + { + "name": "id", + "label": "Field ID", + "selector": "name", + "datatype": "id" + }, + { + "name": "owner", + "label": "Owner", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "name", "label": "Name", "i18n": true, "datatype": "text" }, + { "name": "add_spec", "label": "Add Specification", "datatype": "text" }, + { + "name": "replace_spec", + "label": "Replace Specification", + "datatype": "text" + }, + { + "name": "strip_spec", + "label": "Remove Specification", + "datatype": "text" + }, + { + "name": "preserve_spec", + "label": "Preserve Specification", + "datatype": "text" + }, + { + "name": "lwm_ratio", + "label": "Min. Quality Ratio", + "datatype": "float" + }, + { + "name": "update_bib_source", + "label": "Update Bib. Source", + "datatype": "bool" + } + ], + "permacrud": { + "create": { "perms": ["ADMIN_MERGE_PROFILE", "CREATE_MERGE_PROFILE"] }, + "retrieve": { + "perms": [ + "ADMIN_MERGE_PROFILE", + "CREATE_MERGE_PROFILE", + "UPDATE_MERGE_PROFILE", + "DELETE_MERGE_PROFILE", + "VIEW_MERGE_PROFILE" + ] + }, + "update": { "perms": ["ADMIN_MERGE_PROFILE", "UPDATE_MERGE_PROFILE"] }, + "delete": { "perms": ["ADMIN_MERGE_PROFILE", "DELETE_MERGE_PROFILE"] } + } + }, + "vms": { + "name": "vms", + "label": "Record Matching Definition Set", + "table": "vandelay.match_set", + "pkey": "id", + "pkey_sequence": "vandelay.match_set_id_seq", + "fields": [ + { + "name": "id", + "label": "Match Set ID", + "selector": "name", + "datatype": "id" + }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "owner", + "label": "Owning Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "mtype", "label": "Match Set Type", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "retrieve": { + "perms": ["ADMIN_IMPORT_MATCH_SET", "VIEW_IMPORT_MATCH_SET"] + }, + "update": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "delete": { "perms": ["ADMIN_IMPORT_MATCH_SET"] } + } + }, + "vmsp": { + "name": "vmsp", + "label": "Record Matching Definition", + "table": "vandelay.match_set_point", + "pkey": "id", + "pkey_sequence": "vandelay.match_set_point_id_seq", + "fields": [ + { "name": "id", "label": "Match Definition ID", "datatype": "id" }, + { + "name": "parent", + "label": "Expression Tree Parent", + "type": "link", + "key": "id", + "class": "vmsp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "match_set", + "label": "Match Set", + "type": "link", + "key": "id", + "class": "vms", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "bool_op", "label": "Boolean Operator", "datatype": "text" }, + { + "name": "svf", + "label": "Coded Field", + "type": "link", + "key": "id", + "class": "crad", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "negate", "label": "Negate", "datatype": "bool" }, + { "name": "quality", "label": "Importance", "datatype": "int" }, + { + "name": "children", + "label": "Expression Tree Children", + "virtual": true, + "type": "link", + "key": "parent", + "class": "vmsp", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "heading", "label": "Authority Heading", "datatype": "bool" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "retrieve": { + "perms": ["ADMIN_IMPORT_MATCH_SET", "VIEW_IMPORT_MATCH_SET"] + }, + "update": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "delete": { "perms": ["ADMIN_IMPORT_MATCH_SET"] } + } + }, + "vmsq": { + "name": "vmsq", + "label": "Record Quality Metric", + "table": "vandelay.match_set_quality", + "pkey": "id", + "pkey_sequence": "vandelay.match_set_quality_id_seq", + "fields": [ + { "name": "id", "label": "Quality Metric ID", "datatype": "id" }, + { + "name": "match_set", + "label": "Match Set", + "type": "link", + "key": "id", + "class": "vms", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "svf", "label": "Record Attribute", "datatype": "text" }, + { "name": "tag", "label": "Tag", "datatype": "text" }, + { "name": "subfield", "label": "Subfield", "datatype": "text" }, + { "name": "value", "label": "Value", "datatype": "text" }, + { "name": "quality", "label": "Quality", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "retrieve": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "update": { "perms": ["ADMIN_IMPORT_MATCH_SET"] }, + "delete": { "perms": ["ADMIN_IMPORT_MATCH_SET"] } + } + }, + "vqar": { + "name": "vqar", + "label": "Queued Authority Record", + "table": "vandelay.queued_authority_record", + "pkey": "id", + "pkey_sequence": "vandelay.queued_record_id_seq", + "fields": [ + { "name": "id", "label": "Record ID", "datatype": "id" }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { + "name": "import_time", + "label": "Import Time", + "datatype": "timestamp" + }, + { "name": "marc", "label": "MARC", "datatype": "text" }, + { + "name": "queue", + "label": "Queue", + "type": "link", + "key": "id", + "class": "vaq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "imported_as", + "label": "Final Target Record", + "type": "link", + "key": "id", + "class": "are", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "import_error", + "label": "Import Error", + "type": "link", + "key": "code", + "class": "vie", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "error_detail", + "label": "Import Error Detail", + "datatype": "text" + }, + { "name": "purpose", "label": "Purpose", "datatype": "text" }, + { + "name": "attributes", + "label": "Attributes", + "virtual": true, + "type": "link", + "key": "record", + "class": "vqara", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "matches", + "label": "Matches", + "virtual": true, + "type": "link", + "key": "queued_record", + "class": "vam", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "quality", "label": "Quality", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_AUTHORITY_IMPORT_QUEUE", + "UPDATE_AUTHORITY_IMPORT_QUEUE", + "DELETE_AUTHORITY_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_AUTHORITY_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_AUTHORITY_IMPORT_QUEUE"] } + } + }, + "vqara": { + "name": "vqara", + "label": "Queued Authority Record Attribute", + "table": "vandelay.queued_authority_record_attr", + "pkey": "id", + "pkey_sequence": "vandelay.queued_authority_record_attr_id_seq", + "fields": [ + { "name": "id", "label": "Attribute ID", "datatype": "id" }, + { + "name": "record", + "label": "Record", + "type": "link", + "key": "id", + "class": "vqar", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "field", + "label": "Field", + "type": "link", + "key": "id", + "class": "vqarad", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "attr_value", "label": "Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_AUTHORITY_IMPORT_QUEUE", + "UPDATE_AUTHORITY_IMPORT_QUEUE", + "DELETE_AUTHORITY_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_AUTHORITY_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_AUTHORITY_IMPORT_QUEUE"] } + } + }, + "vqarad": { + "name": "vqarad", + "label": "Queued Authority Record Attribute Definition", + "table": "vandelay.authority_attr_definition", + "pkey": "id", + "pkey_sequence": "vandelay.authority_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { "name": "remove", "label": "Remove RegExp", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF"] }, + "delete": { "perms": ["DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF"] } + } + }, + "vqbr": { + "name": "vqbr", + "label": "Queued Bib Record", + "table": "vandelay.queued_bib_record", + "pkey": "id", + "pkey_sequence": "vandelay.queued_record_id_seq", + "fields": [ + { "name": "id", "label": "Record ID", "datatype": "id" }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestamp" + }, + { + "name": "import_time", + "label": "Import Time", + "datatype": "timestamp" + }, + { "name": "marc", "label": "MARC", "datatype": "text" }, + { + "name": "queue", + "label": "Queue", + "type": "link", + "key": "id", + "class": "vbq", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "bib_source", + "label": "Bib Source", + "type": "link", + "key": "id", + "class": "cbs", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "imported_as", + "label": "Final Target Record", + "type": "link", + "key": "id", + "class": "bre", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "import_error", + "label": "Import Error", + "type": "link", + "key": "code", + "class": "vie", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "error_detail", + "label": "Import Error Detail", + "datatype": "text" + }, + { "name": "purpose", "label": "Purpose", "datatype": "text" }, + { + "name": "attributes", + "label": "Attributes", + "virtual": true, + "type": "link", + "key": "record", + "class": "vqbra", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "matches", + "label": "Matches", + "virtual": true, + "type": "link", + "key": "queued_record", + "class": "vbm", + "reltype": "has_many", + "datatype": "link" + }, + { + "name": "import_items", + "label": "Import Items", + "virtual": true, + "type": "link", + "key": "record", + "class": "vii", + "reltype": "has_many", + "datatype": "link" + }, + { "name": "quality", "label": "Quality", "datatype": "int" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_BIB_IMPORT_QUEUE", + "UPDATE_BIB_IMPORT_QUEUE", + "DELETE_BIB_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_BIB_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_BIB_IMPORT_QUEUE"] } + } + }, + "vqbra": { + "name": "vqbra", + "label": "Queued Bib Record Attribute", + "table": "vandelay.queued_bib_record_attr", + "pkey": "id", + "pkey_sequence": "vandelay.queued_bib_record_attr_id_seq", + "fields": [ + { "name": "id", "label": "Attribute ID", "datatype": "id" }, + { + "name": "record", + "label": "Record", + "type": "link", + "key": "id", + "class": "vqbr", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "field", + "label": "Field", + "type": "link", + "key": "id", + "class": "vqbrad", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "attr_value", "label": "Value", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_IMPORT_QUEUE"] }, + "retrieve": { + "perms": [ + "CREATE_BIB_IMPORT_QUEUE", + "UPDATE_BIB_IMPORT_QUEUE", + "DELETE_BIB_IMPORT_QUEUE" + ] + }, + "update": { "perms": ["UPDATE_BIB_IMPORT_QUEUE"] }, + "delete": { "perms": ["DELETE_BIB_IMPORT_QUEUE"] } + } + }, + "vqbrad": { + "name": "vqbrad", + "label": "Queued Bib Record Attribute Definition", + "table": "vandelay.bib_attr_definition", + "pkey": "id", + "pkey_sequence": "vandelay.bib_attr_definition_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "code", "label": "Code", "datatype": "text" }, + { + "name": "description", + "label": "Description", + "i18n": true, + "datatype": "text" + }, + { "name": "xpath", "label": "XPath", "datatype": "text" }, + { "name": "remove", "label": "Remove RegExp", "datatype": "text" } + ], + "permacrud": { + "create": { "perms": ["CREATE_BIB_IMPORT_FIELD_DEF"] }, + "retrieve": {}, + "update": { "perms": ["UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF"] }, + "delete": { "perms": ["DELETE_BIB_IMPORT_IMPORT_FIELD_DEF"] } + } + }, + "vst": { + "name": "vst", + "label": "Vandelay Session Tracker", + "table": "vandelay.session_tracker", + "pkey": "id", + "pkey_sequence": "vandelay.session_tracker_id_seq", + "fields": [ + { "name": "id", "label": "ID", "datatype": "id" }, + { "name": "session_key", "label": "Session Key", "datatype": "text" }, + { "name": "name", "label": "Name", "datatype": "text" }, + { + "name": "usr", + "label": "User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "workstation", + "label": "Workstation", + "type": "link", + "key": "id", + "class": "aws", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "record_type", "label": "Record Type", "datatype": "text" }, + { "name": "queue", "label": "Source Queue", "datatype": "int" }, + { + "name": "create_time", + "label": "Create Time", + "datatype": "timestsamp" + }, + { + "name": "update_time", + "label": "Update Time", + "datatype": "timestsamp" + }, + { "name": "state", "label": "State", "datatype": "text" }, + { "name": "action_type", "label": "Action Type", "datatype": "text" }, + { "name": "total_actions", "label": "Total Actions", "datatype": "int" }, + { + "name": "actions_performed", + "label": "Actions Performed", + "datatype": "int" + } + ], + "permacrud": { + "retrieve": { + "perms": ["CREATE_BIB_IMPORT_QUEUE", "CREATE_AUTHORITY_IMPORT_QUEUE"] + }, + "update": { + "perms": ["UPDATE_BIB_IMPORT_QUEUE", "UPDATE_AUTHORITY_IMPORT_QUEUE"] + }, + "delete": { + "perms": ["DELETE_BIB_IMPORT_QUEUE", "DELETE_AUTHORITY_IMPORT_QUEUE"] + } + } + }, + "xbet": { + "name": "xbet", + "label": "Between Expression", + "table": "query.expr_xbet", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xbind": { + "name": "xbind", + "label": "Bind Variable Expression", + "table": "query.expr_xbind", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "bind_variable", + "label": "Bind Variable", + "type": "link", + "key": "name", + "class": "qbv", + "reltype": "has_a", + "datatype": "link" + } + ] + }, + "xbool": { + "name": "xbool", + "label": "Boolean Expression", + "table": "query.expr_xbool", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "literal", "label": "Literal", "datatype": "text" }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xcase": { + "name": "xcase", + "label": "Case Expression", + "table": "query.expr_xcase", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xcast": { + "name": "xcast", + "label": "Cast Expression", + "table": "query.expr_xcast", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "cast_type", + "label": "Cast Type", + "type": "link", + "key": "id", + "class": "qdt", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xcol": { + "name": "xcol", + "label": "Column Expression", + "table": "query.expr_xcol", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "table_alias", "label": "Table Alias", "datatype": "text" }, + { "name": "column_name", "label": "Column Name", "datatype": "text" }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xex": { + "name": "xex", + "label": "Exists Expression", + "table": "query.expr_xex", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "subquery", + "label": "Subquery", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xfunc": { + "name": "xfunc", + "label": "Function Expression", + "table": "query.expr_xfunc", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "column_name", "label": "Column Name", "datatype": "text" }, + { + "name": "function_id", + "label": "Function ID", + "type": "link", + "key": "id", + "class": "qfs", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xin": { + "name": "xin", + "label": "In Expression", + "table": "query.expr_xin", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { + "name": "subquery", + "label": "Subquery", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xisnull": { + "name": "xisnull", + "label": "IS NULL Expression", + "table": "query.expr_xisnull", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xnull": { + "name": "xnull", + "label": "Null Expression", + "table": "query.expr_xnull", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xnum": { + "name": "xnum", + "label": "Number Expression", + "table": "query.expr_xnum", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "literal", "label": "Literal", "datatype": "text" } + ] + }, + "xop": { + "name": "xop", + "label": "Operator Expression", + "table": "query.expr_xop", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "left_operand", + "label": "Left Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "operator", "label": "Operator", "datatype": "text" }, + { + "name": "right_operand", + "label": "Right Operand", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xser": { + "name": "xser", + "label": "Operator Expression", + "table": "query.expr_xser", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "operator", "label": "Operator", "datatype": "text" }, + { "name": "negate", "label": "Negate?", "datatype": "bool" } + ] + }, + "xstr": { + "name": "xstr", + "label": "String Expression", + "table": "query.expr_xstr", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { "name": "literal", "label": "Literal", "datatype": "text" } + ] + }, + "xsubq": { + "name": "xsubq", + "label": "Subquery Expression", + "table": "query.expr_xsubq", + "pkey": "id", + "pkey_sequence": "query.expression_id_seq", + "fields": [ + { "name": "id", "label": "Expression ID", "datatype": "id" }, + { + "name": "parenthesize", + "label": "Is Parenthesized", + "datatype": "bool" + }, + { + "name": "parent_expr", + "label": "Parent Expression", + "type": "link", + "key": "id", + "class": "qxp", + "reltype": "has_a", + "datatype": "link" + }, + { "name": "seq_no", "label": "Sequence Number", "datatype": "int" }, + { + "name": "subquery", + "label": "Subquery", + "type": "link", + "key": "id", + "class": "qsq", + "reltype": "has_a", + "datatype": "link" + } + ] + } +} + diff --git a/controllers/template.controller.php b/controllers/template.controller.php index f66a5d3..788e25b 100644 --- a/controllers/template.controller.php +++ b/controllers/template.controller.php @@ -158,7 +158,7 @@ class templateController { else { //display the template form $typeListData = $templateObj->getTemplateTypesList(); $groupListData = $templateObj->getTemplategroupsList(); - $template->doc_url=json_decode($template->dataDecoded)->docURL; + isset($template->doc_url) ? $template->doc_url=json_decode($template->dataDecoded)->docURL : false; $templateView->displayTemplateInfoForm($template, $typeListData, $groupListData); } } diff --git a/images/PINESLogo.gif b/images/PINESLogo.gif new file mode 100644 index 0000000000000000000000000000000000000000..47216096ecdf1e9e74091d60c918ade90c16227d GIT binary patch literal 18694 zcmeHu2Ut_h((p-#&=LZOAQCz#y(-c>f>IR(ks1(zB#=-Q1EL}*2uM|wE*6juDxyIV zR4gbUB2sM>3n*An$bS;-uP^U??|1KazwiJ5&6AVe+1=Th**P;ib56`H%~q}Ul!xd5 z?*RY~hjVanaASD*`1pkQ1cZcyBqSu{<>h76l+@JJ)~s1$Y;0^{Vrp$|?da&}>gwv_ z;}Z}NK%r2!Z{HplO)oQ7ScPWhzPSAXz&( zL?$a(Aw5_+Cq&_JsM660^>nIsdYD>Hm~K{t#*xT1Igv&OD28d_h8dBT8QV>cL|f<3 ztd8w+JhsQQFwVMgk6ppujU|b$Mf;t~Q(VeZ?J84z%F>DD*?!g8K{ZE0tB-E4FAQxg zqBWg}i;FvO;6P$Za(a6Dkt0W9>x*|col0sdKXj?GsJOVStgN=SwyyEqg$oyw=oLv< zt23_F9llbVe!U^%=DFP4O(!m&JASA6)a}b9T`i|NTgxA|*WGV#>bhCof4g>|qp|;9 zOH0emn>Sk?b=??z(ACw|G5D~rudije=gQOG_QwyejQ6*X4R$^r=p7lnGd}#_`N;i= zC%rG8^}l`b`0?YXW1}x#ym<2V<;%&}&)-c=%uGF-eGB~m@*kCe*he@70Ac{Kd0A5* ze=5NTAMQ`xink6WdfNJXYvZ?4sbp;>r9iMv_V-rwCIu-0VhoOT=2okWEY~T6g~6=A z;Vdpt%b)-N1wSm96bpti<9w4KeRku+%3Mf6Wob${vkx}T>=UWf(T@lU#D@_=DE=g( zuDFV#vN)bV^d|ZE6a93>H#nLptPl@7yrUUczC#?Cv!N94R9bu$u@*U zCWKHUtwF2`-~>ewm)pZu65dSC=k?I*}PoU^1F(-iYzRdpx!I$||fA0VSRna?y;7KKge4WFtL!pA` z{l2faFdPI0c@n`T!I57^pxGBi3~p|aVMvH)(9`cntPF7T3E)2HDeEYGt+GU_^i`%hN?!#HF7!JU z`ke;ZgfL~}Nd@nVud99Aq@NY=Kde8Dzpp^Q;f<*&U!|w=vmpP6s}SQ~phI6d|JSOJ zgSTfOXea*7>cjYNw?Dt|_08~rdh;K!I}F0lH{gGp;raI{%|_52`h$w|5Bn{~{~pKn z8{WPt&p++882>xn*1t@97(bm2zKZyld-Q*%>-zhi>o@E%7EVxK4nO}H8}y$vL5zRN z*@qJ9<+yMFCVPS>a(92CFUftuvixKI>nANV^w}0l0fQMP(4OG^{fPNZ4;MdF{Bj0g z^jymL!zp}G+)!ttj{S);CH}FTz`>MWw0@l*{z51^H8T`X8{ZrZt#()1{bp99U|1;|QU)Ej* zGxY&(pe1Or!ORD%zTPwFd*uCHDHc<$U-KS+W*HR8L5j8{3e~|o#Gecr_V3A$MepL@ zY3|=s+&^P+A^rt*@e3tHPlZ4N70gBbMBCz)>ko;LZ`i)2nZB6+Kj(h&6&6u0Wi>Dv z0;WV9RlsD(YHc;mzh@g6zh*?f8^=Ec^8cJ|{4V(oM9=>o&;B>GjKRwOEn*=5Sv6aP z**~$5{|@*5m)@NL=05)ixc5a;dW#x{zjE(?X&)J2vhOe5`|nj4g#H`-``^&v|B4DT zel<})dV?Qz_*ZWKM2Y{zoBs*;zsboj;^P^A%hE4mhZoOF|9h4A@8~d@?DM0aXMBy% zeu!QEuW^&1@U){Os`oc(WnJ!t<~k3aq;&i;!dF|@S=GcC+#g5RY6 zRpiRbimG4``~BFrn680O=EA@L(3<2O@Ewt_XCQ^3#LWFHHkBGl{^1DwWx3y(ItJ_H z>&Qx8{6NtoGdS^UBw1FfUPdR(f9 zW6aNkPhYE{^mn<-bwK@|ElM3*c^;BA#)yMsPqJ9jp@VuIf z1!F$RUd|f1^yfBg;bjGO78JZd7G^QfEC5I!~0es>AuLJ-K4GDBK zb#?^T`a%3ZL)KCJ2tPrPo`FNKd>BL=fMOvqEQHYy-oa=_3q&8J5&>ZqkYHwkf!x6nNE918ngetXKX*a^ zDC}z|27tgJFen^~Kq1)>FithF6AOcj@v0yU8FrpH@!(ihBwuPlm63!bzkRcpntI5t zyT&M~G>6IIDQ}8~Kw)*9w8&H4%Nn0%ztk-nd-VE=gZ}ebe}(I-9>?Y; znTfaGc^2(?gVdv`k;C(e-${+XD@&l~#56Jbz$|xY_=ERR$qc~kJgv+vBsunOwRXKJ z>HG!q;N5D;bFYFll5W4Nx>%AlFhhSb&6#+yqM>Zdb74}|Zq0D)y4XHa)8JT8ZPnmx z=GDRJ3yD!}CWVjoYCa=uXb^9x6<9rZ%SWZVk+S)YU4_X9^>gw$oNvsf;`DnAL?0b# zeoRZ=uJp*YBPhc6jC%jL!DC9%()~85&%x0fu91DMRLT7xug=8R?wINiIyU&BByV0* zJI|^4+L(xb(G&N5iUOt)$ zs@L~;I{QBMMSqIkr`1cn*l1=z_$U)7}iFM`$W{A&a>%goY$3mmtlNnCU^aw zdllp7VqX<4)1m}G?nu1~k`FN6FZ}sw(&wjsOO%AQmR~5da^0z06dHEl`0()OEW`~4 zkmT1jcrr&}C;fS!alj*wS2KbP;4bZQR8Y-)-MD0_<)E83Kh3FXzVgX~7dzyeZ3v{>qEm&^eI+dyc2fE5T9p|4O@!pSm!~Ear@;X^{Tp)0tbydZ(X0-Pkru zq%42S^SqN*l0aFs%shi>ooACAVG`}GE>%xB#_-8mCp zAUahtBWOK?o19kFU;uRNtjq`c?4_Qll(8nIo{Nv0uFj_h2(|J&FWX*3unBwE%K+F3 z{&HjNT!`Ds$l_zb=I3?{KrqkYe58EMNvG)8lIHB@o;z=%t;2e)L>a)+00GetgCbV% zeA&IrL}p$bH0Cny)0*oB&fIaDq18n*j@)Me(9_ZOrJwBvM|<|Wk#1F$S9Fet zJU`dgP@38Z>1le&0BRHD&eGbnx=GF|wZ7UHxeDtIR5d^8k{q^;X`A1_o!TR}gqo!< zukrHCJB>zn%N+uZ;-{0sqTH>f>t^eACJs(-t&iR^TX&fLNt-D0QXDoX)StgRukI5~ zxf^E=!V0@*DdRr6 zCEeZ)V}hNO{^@O}!#|iafctZ%?TV<&nO+hbL2NfJ|3-q8&1f24nSa!#~v*y8_NsGFsoF{n#+lCURy@Vrd#O9P< zUC8U&a$DZ@p7#8SsL#RCH}y&Gvh4hp?-wo+d>_6s?@=)w7zZ zk(t=&*OQ#HF^JD|X051|vQXP>I&MO@i=gv~F>v2CfOe$1-gUGpufWZL0bB(oI#3PF z-kM2zU2^+KunL5~@iNc&%ua8S*H@yndMZwdP) zwzQ_SiduFz4eY;U?%*~n%>bIC^=&>2jn3+EoDa8X9(zUJUO6?Me}TNtI>_}>U6qs$ zw@r6m`6c@hg zi)Sts=eo|494f@(SMm-^bZ)J?JtzHe@I|fNi~7S`n)U?eJvPpN9-5rGH;O3Jr&{%9 zf^u5eILT*|>)!X7pxKJvSvq&_V}hK!+j(R6d4(5Ok00OsnRAF2rg?$^>?fUO02^lWx&wEV9pK!2q4oSj)iOp^QdQrcgWI)8{q=WhE*_+Hy3N!% zMcbTuhUy8hk}s!YT!!mzZr{28@Usdn(ua$)!!tC!cD)m!YsXuzui4x_EzfJE>+<6C ziv4raNqJknm!>iRWZJPtrIKi?(TFyEB~%vEyjun+N0CP9@V({cp zHA!nV6MbQQ=3Gu^dGqMZ=9@bY54i+hmxrNlJ(PL->CP74 zK?4U)4WZT>$@+EOJ=K@)&T$>ftCEr)?O%VU;oerpIBfZ&s5jX*1!?^ieNxAsZ9hEz zk~Fp={KMKU)!G#w&d%m_y+3~w`PgNuq5G*=_xtNkXh?ug6avx&WPXD*Sd@^0M+wY$TAR*2^3qbq>}3u1!Ir#+u}?wkX51(A?{CSOIhyCVv)XNAbS5Cze)1(H zr@q0t_2Kx#cG2-D{dZ^1zhMAZcBY-?bDu#?yo-z+cXwHS$2o7~c@h6JB3xvCl?S0g zz4IKM)A!$ZyH7=S%$GYqI^Xbg2IwzZG5U@Osh>NXxqG|Zj6Q9;;l-S2MU|93qn8zA zh_MdX4&W8Sj52rtLomHV0=&Qg9}fojTfsUN{8CsoFoyxgzKf5*1IA!N07SPC)GXu= zP^>%xa|Q4}36{pj_U1AU+2v1+FR6W7;{fAAOWO%7qkl%K(`wGV*;CKe!I7zG4` zQ^_D4QVZ7kyaHJDYs`9xqrEW*e+1UK{TAvkn02p(Iuj3f2*?D;8#9FC^INFnnRTy) zx;nE?B}6co3j@X^awIES#LIfi;Z;_zUX5pkYa@r$q>v#L5yV;tc}> z@%GH%l7a_c{v?Ei5quPZ1;Uxw0PMnKrYL1WWUJ&@(0}2Dxj_r)-rBJQ4-vTe9rk@8 z@6eF2FD(dE4FLYwUiD>|q`|}wMhO5e=6?CN zi>0ljG4tOp-~QnOP5=PrpU42Vc>uz`%%U>CIgSmtV)M1if-CVDiM6>FRfSjg3#utn zYvQ>@lJLff%PgyluOC|4M%~vej^IyM_P&v8StD(sudzPYAlB>3(jx|OXpyz*5;>eJ z?8}@}4K44M+7_)XkBo0+=U;K=FkPkYbWeqcSm9mzh)H~zjPp(Q_WE)IU1GsQe5@BD zkxyPRF!q`sR~kDZ-&)q*j7L;A>T`=*uJZN6u{$QqRA5&vvFwE6WhsCZd)}QGakb=g zZDwdb$t{~jAT7g(+0bB$0FS2!LQo;1w)ynt-4eFT+glvWKJ;AY`B>Zx3&#he08Vx1 zO1xn#1QIyNZQJ)Q7T(A+FSswI<-j^Ui+k2?X~Ql1`By|FXII4+( z(5>mZ6G9H#9VIPhX8<51ZB2|K3}RcL&u-PW!nw5V_Ih!w#>7C7vK=u{c8?`7w2zQg z00cIvMc?1^vCS7k!Od%gA}*oN{765l-^1xT8hw2%mky9QA7vda80&KsFWA=ySL&kfA8o0q~x zGtv<_FbJdau0YA0!$tHdothoUxIcL&fz zSO-|}sT{hY?=t0~gzIn2WixxYRwxz@645}W+ba|uzBDIxH|)NYwnW43z57p;_R1;8 z*2V~q?S@-STJdrVwK(lUE9KVjLOOQ{dDAZ3|5R9TaAdsvK%5?a4;@>QI@-{_Vs#4q zIhsCFt!$YpdjMkLlCqSfy>>J&aUgMJ@j%E8e<+9gq;D8mlOAunQ)enB=25f785(Xd zpt_-YsVx#8@gdfExy+0*v`puy$1b!)t_RGRgL>mc82v_L`8|ad=vM_F`8{^;#-?7V zK5w?n=l%Q{6lXNAD7*5tLIBCf!B)3BapGOZHs5&7T(k+^6w9N7Z^rGc7>4uNTPru` z@=B@1!gY^r-+Dm$J-R9rqvmEnT~_3C1r-t6zl}}gKvf40pho&ZxOK>zc$?QH!+9&a zBfPHm-^dmnnjIJFzzdme> z7Qm+C$rXQc2)iPp5H&fe`EGlEoUPH`ngeu%t&yR9+PxKgWhLS`!H&S<<0+DoLlF;M zwutMiuh4Cpa)o}tS4BzCVj?rRKxayzSKuZ>?tX#taU zcv}n~t0kvnzOCo*`#nfYm?4+#hCqH_uJ&N=V%=<{%qjyDo~;I0 zA!VRzg%2s|Miw>^m!UjYL;6!bDf@UaHlLdm zZRuW0#y9Cl=ddfB;ghniJMz77U9S)#LnOnf$yojqX6FJcL+5U8cfBa-X*ihVXq3&V zr6>GEPrQZO4q~@k-t>jBl*!X`#}91XRXG_S{!rlJeAGUXu3N{QlF|e*N;gv^@$Er_ zhi(xCJm6BWJ?JGK89UOTu-%mfic?klk>@d3*}%v(i(!Yy69-h%Fk<2%cC_EhzrNuR4X-!u?B=m-?^cyw?q=&pk_9b9H*xRN>&Q=+9R++v=igY52Q3k^Icwb;m3?CFsW~)B$s(h^ zwh(nK8gIDq$zI6toA?}e$XXjV(Pi1krIt(Hi0oEKwkIwrBJ`;We^L=a+ro`;{saP? z1eG7-U3Up8Q*+l2kU$8Fqt5gl<{cReZHTj0%(`)gLhRq-}$co@`zS6Lg^ z0bo3k&Jw&)0K&`z?rWlmJ*1det01}y9+hG&c^7&15WfwgWESLHYFGvPR@;n?tW_sS|GA_%&0);=u7 zPC%Zlyc7dR4vQ_@9SUtm_@u5cy$h+ihuMj7JRq^m)<8Sh-Z)Z&&`$KoW8oQYywd!>#qCk7riH|N7a@>sbc|4ydgrE zyxtWC)t*El3?am~GSLzkPXmE6FOosV%24@AWgi1f#E=-aQ@phRraiSnW(dZO4ZJ?0-{1*!!c>|^l9r^pCPLHM zr?!Z~fR_;%d(0|db76E!9ITmmK~=V=g)D6xFN0*WA6mi%m<-t&4;txpTn*$mL<-}f zD^modOCaJF7)}Fof3HKZDVPsdN(O)tHezg2;53!U`h6CmGRAWL!UzDuW1Gc`O}^(8({lL$U4#YL~a4zs1%xHtYAz&YCYZoUcIvP3cmRyCL9kF znWy7E>|G*4&Ol&=adAGOf^Z?amrOn^`uJM&UQI>uz5Yc25B}g1!-Mm2N8kl6%I10O z1t=cdkWvXHcDw~rC3j=#0k+tz*(-;{hT-+Ad<;F2rT~Nkuhg=2(&O_0w==9*jK)A_80)}Bm{J>{+w)KZs&R4wk#@fle z579qeYpG=6goebJ`=$k$?yTqxUO%ancQ5^hKm6e?v!Sb5@L-hjkh8pUhM4UVA-Vw~ z6)BNvL*0at+K{ud17e(lv9PrrJS5KroRWYzR)+6Wmc!VY=^{|r002_?(NF4>O4WNY z_e9K-YwGw+?6n7)(3D`}Zj*6eT$C-G&Cdmsh}ohH6N-U~VWbqMAREXSr3Wi%yub-9 zj9%r@6&<|G@F)zg;Onb9&za%oi{(SNVhFaXiF}p3RmPI>nNMphA`!q~HpXN%!9WPx z2T$;l!E8vAz7PWFpmDyFK~)XqY$}MQX7thx99u&B zFus#p#`z_XuC)HbaCJ|lS&ZoU2p7aK$`b<@oR5K?+Pg#>0^dweVNb16ozAK-h9F}R z(7n|wDt$Q&Gx=s3rBYp+cu&N`+&S0s`s2mB1Qn4T`?UL{AoxTMJERIsv2LmoR#3;W zi>5J*+QFM}ly@D(gC1r86Um3DR6?cbIQ|P~d?cLC9i|VPz!4G|qRLW5N6fHhxc-?# z`H8D+;_CRDBP$%r*b26;cM`rC09pzJuWiV?@G2z5`LBgyHQ$<%OK9b zRIzp?hB8&4Qw7zgS91;*Cs}$f>)r|#LoQeLnDm4w?85}uy6{~+Em7bH9KqCi>2o1* z)&%|JhnW5n?d%3`BeaYbE`i;HK95Ls{TyXB>jjS!gB)ta?7%?ShkzX;y18DF<{R4( zv9R0O7x^&_$xewS&dw;6Q=9Cd3iwi`xOA(PIKx(T_73ZdQL0z0cn^Le#^hpD(&cly z*6<9i&YS|Is&zD-g>hDxM1f$Oh21H2VeTQoYZqKJ6=gHI$D9l|!{0KeUlTZy;N@JJ zDhuEOP_hOB97QlU42paB(7Ch8Ics+5lOdv$5a$=IE7L*@SY-zXc4gTrp(nDv-Zu;1 zU^*-#<6Bf|mWpG%^2q!{H)>P6X4KcV*yZ$KoMKWj*mj9&C!UOw)dAW^Be$G*RErb# z8JgKIhBdY@yTUPSU^-V#+bxd7bm0n?Ht&+P>OYu|kZ9DjyJ+N0G?t((yN53*mMk}^ zu*SmL^>5s3P)&AYCmy03r)fVbF6R`(7e^M; z+EWeLV7VDvd?Gn4UWzRdd(c9500xvNVZ#wy?Bp?$I3hMjHP}9A>;-1$5L_3!&HyI! zNu_;>9n#X{T5JnW*kA3gxs`A*R2opE@!w73@_;k?ou0cPc`=Y?Yu*i|@+k5ER{_e$KHDS~m6e|U-dp%=)c`IPc`j)L zGX+#o0@aT_hT7F0d@FUKv{hS=KcaHA;qoV{4~DVI5DUyQ(}5@J=bzXve`>FY1rw%g F{tsI}=J@~s literal 0 HcmV?d00001 diff --git a/images/pinetree-banner.png b/images/pinetree-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..d79382243c67e49ff74cab056c02ff5eec408ed8 GIT binary patch literal 7794 zcmZXZ1yEH{x5p2Hw1jj@gGi@zcS(nIhcwdNB}kW-M!KazxX{l zna9lKau55Qz4zK{{r>+2QE!xGo}m(>LJ;&!PF7M4yqiD1kP*Rmr;QX1@P^_ftLq9u zXgH5AI4JWIAq1hS*homcd1LM9=ICne=tLnWAwl8f;%I5}&H{ow7h&pF8tVJ_LYJ%O z;tG+0$qJ5Yc*qoL;xU1^33QBR9QV1kNxsmX3ae=XTs!Zt7sPjl$ zl=*QX1(DI;Zq|JY>}K09cSi3U=7e`E&S3T9NL|S2sj{4^+=1w&;^f#rLk9Z>*0)$h zgHUOlAS~p1b4u4cYB=c1Ur_KBRTt7%2+ngF4H@cE%Iabxjd;NPC7z)V7Z?iH<(BYT z0XYyC67`M~{|t#r!v(_9>C~ZI1ju;A%ybia!webI2kcBkfv~F#A2{f3G9?~dZURJs zV-YC{SqnfF<66;DkPaJ!YpKx32hB4>Y;xL`vQSME)HQ~MRtF)YLu{&%VJ{&BAINx! zn%WZz&46&FPqhV4UR7c3GJ;5D)CsoG@JR)|MP_zJ($;1nXBd+sc!kSj^28)ll%>Zj zgNP%D3-jmMcL>T&zyrHIyYn2ws2UsNiEG3#V*b^M_&{Z9x_Q4nUhX6cLF;b*llM%l z^~8Y!h=KO^`Lss})`n=g?=NF4>o7$dpxpgM?K7vx*huAlY*|>?-rAa%?-PG(@=e?C z-m1r_OZ)EKwZGu)<;Bmh8#F;220=0iS3i5cpDPxTjwhmonlA6e%iK1hJ=~H_Q}xN2 zw&*b8ZmK?aj+4xcJ>w{%iV{zJ*-tz5V7{@&bOSHE#tqfj3d8v%FqasZ!T(jD$I@}@ z+PH+E(>BNM9}LLwfz~1G;~o#kB6l*mv{0a>T%t1s8A{TyXnd;|8AOI4$=o2u8Znad zZbGImMAGi3%iUjD$0d)}f9=Cddf8qU@GMcpgJTF&v4jN~Ms% zEz7PJtwEtFOLi*c@`Nu!U%E9xU;;u@_A z__nAEv+-IFgy%t0T_`*V9^w=xkCNb^Z~6E{uC`EP>iLxPl!F@eK2vEHmn<=L z((t0WT^$l%G84tCp|CC3R__+)7ReUn>04Bosit=KCmZ-KNC&I5DjXu@vJ_uc$- zrT1C)sIlE4Opi~uNJmr8pkBHXR!KYCR@qjJUEHFaq+FgoYt>tG(m32$+C)^dJ&(9l z)o9=7XJTbaVAa%L)q9lGk>uCv_u)RHn=Rs>cpt|4cUF;NP^BP?mcELkK2D?=Sy@@^N-2J7Ba z7qG1Qte(S?rRpP|Bb%d$<(%(aIWMzyIbA1uha`TgZcmD!<)pCLtyTD|NT>u^HSAKe znz1HmSI*Tm6?v3hnj8}d{}p!0*%aOsspa+w>tw zXB{$d^2!_QIS(twFJ*bo#Gfjv7^(a^`HvVDV+npN?J152Z5*ms4_S{D73(C=WaPYr zJ|nsEsVt+CcjE7ac5W}4e$FDM?Uqpb(vR(m&lFd(__Ogd-6`xjg!ntyLlP4{I*XT4 zDkU{q{j%DzbRVg(2&=pAcZg|XB~L*bwyXbG@l=-?wNd=@o`xR793xVlm4&ut=V;V7 zzSQ#USEGmD>%T31W#fYrLw*A;UN4J{2dZCM&n$| zj~TKlAq}U2C7 zmICwhXSrTBUdnIu*)`XSF&`QUdx8r61<;5EQ zioXl}-PlOmf(QLkWxGnd(YffM*n-4L#Ei(>`{nuLGG*zK|GL3UiQhN-gUOA)~EV0~SCp*~T3lSGu1 z^nd`Les*id$-D&oCW4iik{ATl#`)f;CV|fsX0mEZ5adk@L4hFDo7;kCwCc!+O`vBKd<5hbNjBgDmwnQBXjq|AvBYJ)KliD>K4#TZf%s77j}#HT_r zRubO9#-{eq?mgpKGP)wWd@#$8wBJ9-tu6T-U5}j#bh?&Np->{AVm@OmLdB&-jmDCS z45pIA&d)_w4P{^u|IekTQjt`WV%Yh}s&7KUC0xpAEO6=n4g1ff|2OPEcmCg}{rArQ z`?UW~@V}G(ci4Z{aW4~jis^m?6Qu|o*)~1f8NIwSh`@ZYv)Eu)@+2rwt^RW8WOLB# zuwm}%sO@;Z(SAuNK;`{=?g$Jr(}g;VlGD@EH{Qc463E@fIsV^TTzB`TiqKy8onu2! zpFX|)fw($5JCMO?_1ftt6crU!A}=rhk!C*#zqzvV!_Ll5jwY?+a`Q zvnvQbIW^Vg*N>OqEjjJxs_x?PywCSk=~S}6pYKmE)R@4J3!b6tRi*|9Klx$H4MtdO ze@pSWSZZi!U@~k^|MkmOkQ}qR{S>u~Ou+r;<&BMvjTeQu<#_f7tl;htq_d^9`_$^r z`+tp>*}{JR@~}+V2zBbrQNZA>!=|-?%@c&RZFep%E(*El+}zyeR#x>M$A;#*bOHid zQ8@H<#@$a^J&yggJIRQNzk%oJc6f8Iw0T(dhCeIe_c;1qUi~$C*u3?DP_HOoA&uqt zVnfVm7Vq@@yzK56thB7Gb^B{w9mj0tTN!`<`v<$BUl-m9G*N~f-s|pd8C*8c6A}{I z|NSaoZg$>m92dG=c4gA3fwD%!M=i}B?(aVFxrX1~`hL-4W@l&Dshn+N4ACm5<>${# zO~rRVUL6G~@Ww}wyh^{tWevy2%ZpDq2eZR4zTcGc)vK8O>Eg4SwTJAQ8a5t>KWS3)|PS8QdC^r zz_v@R-5kr;s|~bl&yA>`ST&Ao!dewN-AO9K!~ZT0Oa%n}9&Z-kuqR+4pkAWB$ksG z2%@5+^Yik8taAKPudc4##TOSBU;E#_ex+U2w|kb5oQx1?SS^#y|Nhs;)|NRb1`!Iz>G_;tubN$IVSlyy@xfJ@M`sGBGiUdEvE%?JI2br#CV(@&&B@?c28r78$d% zTBxX~6Z>u;jvq5JhOf_dK>_7eRbix!^ry3%$to#rs|5VRv8>OyIG8i5UwG}dhvnFD zfe%WGzw>sRwRYhhrpCZbxwdYnzfh3qW9ouLtEh+tNmT23Vw#zi1z2G*kt_CNZf?_! z9~|>%kVt?2I3*?}l~z=kAFp=kclyH?7xn)BUXTEvoZD93t+e9RFDS~%p%fJrfz9Vn z?>D<264TPsHm^A37Zk7)e>nX1_j)&{-sjT6*47s6$oOEkGBhIM!Q<|Uc=-%!+X{>O z;UcZWhI^Y71s2wW^85Dz^u8=>K9f9ZDldMNcmS!V?K%69d+5!bT{ms+!>W@#@Y$AuWxb6eA*C zB;c!4i+<1M2{L6U11l>5Yv*m<-eN=f#KA?r>+Tp8Gqck9?*;YOq!^R+Rw|P%u2!`! z+wv!)ylaug+1~Pd7v6bu2mPb}T6L|o${SYJ;7quP`zv(oL#Ov~9h%w*{SLv^VXPSc@bDxf36OBZ0nlw|-yidAxUZjL(#t+_TXyfcJ+ zcs2(<_~f1qy}18_^!Ioze#Vv-B;Hdrd^VFF1aRZ~_wRuW7}qbP3wm(~=fne0_w@7- z3VCw{+-|;L&l*+C5he@i?z%eJ1Vq9#8;FH7-kZqd;^p0RX|Z;2kS?DA=S#@%#xOiQ ze7-js5(JNQx|O8jvOh%&bWz&fou`foX{31W;KWmqhL+ZZCkvzq7Y`2=oGEzD*4Eaa z8EvD<20QIl?*nFhX1zX86vN-XZCuP5$&}9^4o=Z$dp=1T4#f(-T=j|Xe7HM)RGiI$ zXQrm6I!z8_bxdYl#2FkGsCamI;7rK_Zk;Q%UiJ6)lL~rb6;DSg7Z*6LeQiG(AOTq* z$VNFBM`pG)lmIIClQR8dwGJoJLfe7$63I`NCy6nki*yNFIWOxl<4?yir=5y#WB(ezg%}-JnNILXyGj zNY0b>!Fh9__T2&pAo6^Z;|m~}P|1ufkkLe%r<_n76LqL)s)ZXrnX0Plm&V4ai3w2! z1vLDaFreM18!@b_X^~}RjOMyKKpsFch66a(cwg978Feayxlc|`1RrkCDhxX^sb%6Q zMmPvq4GUXZGJrHuQB&{FloKF^z(w?m#ghwN&2`@Q=S#%|r?~Sz=1PO!$;};DsG;{h zEg~j)Z0~w5fGMBr&Yyk)qlx)>PrF_K9=y%L_+r3{-E1F>`i1Y&c(3MLT@`SJw|2ocEg_!S4M-}ANR=H@?LS_paG%^Rrv=5<(Zw*RB5r8O{=Ks`J zMzan<%HEixJ#8{NZVqoc)BEr3y?OG0T{dL{~_rW6PW3rid@ zaVO`~D(dR$y#NQGZ2rY}7=x#y6S4*R-~DSC!2~8F0a(9b!}}K zd3n@C8t2<9=XS&6c+2->7)YF!-*anf9(fWS6LUQ%a^KxxH|KB@t5<0WEP$l6be;7i zRbpb|gl&Uohan;c=@8Nj-!6bJzW2Xy>5`(rPwHA)?sm90y$Y3DF`$gma>nVI@MHE? z+L{QttUo%vCIxVh2ET{_&L_ICkOn9<4Hy8NCO%_InL#03`( zHnH#T;gT~y3>cWYfCv9y2L~Af9xO^qO30M2ef~0GM1;sC(M@*vcnrk9Pyu4zhIeEZ zFC^{YzydH8OUxZjF68Y5cnNMqL3k1x8p;-M?~Bi*BkJwVuT`D`Y#S*07yeh2&d$!= zSGRPJo*KB8!=)xpmo3@f?gBY}e~HFL9s~`m2?{2M&{*3=n;cfyG89Qg{7HeN%NO#&YFuD(0{_3YtM}z>}e1b z#-q&z_7xW&zww3z1q)!wW6duuiC(47@5UYYgZ;T`Bc~i1K0c!AIR!8Q0E>RBTNH3F z8jN_L+?$q^Bqb3nEG(MH>W+9OcP?-C7aLyT&?!;~3uiwg;rTPAz?zVh6f$fM7D+Y2 z!D%)2SU^k$t;tGRJPFy^%C@$QV@<1iCa0TXcB zqn2pWFQp3-LPHUxUgdykt<&AV_kqTU6r7wmoonM`Fo71|YZo6%k>82LAHu;-K-T~96#OwW zv*H{;!NKty02rvkkzF!n3`C_~&?dVe&<$K$l;`l*Prx)A`>s zg5JXf;Ej~eWh>QLw|dTujWC!*g*PH8%jVC+2s}AsO7x#Ue|~x&HcF7yTt!q0@$jUA z!b7_BavWH)x3@psiEM1-0S_Dc{(TGBh;9e3;t9K@q@m-@riPr%#IG*+QjNRi8^sUlLlMA1?8}#=J{z zsgj7m_|nkeEF$yS)XdE5dOJ-{MFrFH6B0V1Xc~(_Gtd!O1QTE`){_Rk57GsBEiHV_ z;vH+8`X2lckoHHiH#et;ha-X_0fgMz-Nivhu(q=^1BMOYW@2KZ3pnfH@$q7i&as5- z!Sz<-Q=l=_)g=P9fQE&Ih2hMEiiRc>{3QXAnpHP-0n`X{f{g$rKMbRD?S)`X?u_lE zZG$yerhtQ8=BVY=)D&o(cD9C-9-J{-T3W8-DyMB5)PU{)ivk=QPu8Qu0LG)Rq$Cm^ z3F8fLBm)*RS_uu0wZk9oDRxe1zh)BD?N4}GZzeJsprJaTdt zHFfo{ep77k4#S~3CKp#%DO1x8vU<3{k2G@U$7@Cv`Ymen?|4pXI_6ZG$*Z1}YA|Ah zyJ+NEY414Pf9qfq6MK)W!Li%^V3=%jT>BY5*%@%}+D1O~@uD+|X#^k?Y~f9*Mw0=r z+ulS_czCz~%elX@;JLU1i`FskZ;eof<)sbP(%^`g2V&?#XvoGlkQMw(7=q-alqIXg Hjf4LO_EIBa literal 0 HcmV?d00001 diff --git a/install-ubuntu.sh b/install-ubuntu.sh old mode 100755 new mode 100644 diff --git a/models/report.class.php b/models/report.class.php index 97f10f0..b1ee082 100644 --- a/models/report.class.php +++ b/models/report.class.php @@ -156,7 +156,23 @@ class report extends db } return $fieldDocArray; break; + + case 'config.circ_modifier': + $query = 'select code as id, name from config.circ_modifier order by name'; + break; + + case 'config.item_form_map': + $query = 'select code as id, value as name from config.item_form_map order by value'; + break; + + case 'config.language_map': + $query = 'select code as id, value as name from config.language_map order by value'; + break; + case 'config.audience_map': + $query = 'select code as id, value as name from config.audience_map order by value'; + break; + default: return NULL; break; diff --git a/models/temp.json b/models/temp.json new file mode 100644 index 0000000..f91c4cf --- /dev/null +++ b/models/temp.json @@ -0,0 +1 @@ +{"docURL":"","reportColumns":{"0":{"name":"Circulating Library","aggregate":false,"transformLabel":"Raw Data"},"1":{"name":"Shelving Location","aggregate":false,"transformLabel":"Raw Data"},"2":{"name":"Copy Status","aggregate":false,"transformLabel":"Raw Data"},"3":{"name":"Precat Title","aggregate":false,"transformLabel":"Raw Data"},"4":{"name":"Precat Author","aggregate":false,"transformLabel":"Raw Data"},"5":{"name":"Precat Call Number","aggregate":false,"transformLabel":"Raw Data"},"6":{"name":"Barcode","aggregate":false,"transformLabel":"Raw Data"},"7":{"name":"Creation Date\/Time","aggregate":false,"transformLabel":"Raw Data"},"8":{"name":"Last Edit Date\/Time","aggregate":false,"transformLabel":"Raw Data"},"9":{"name":"Name","aggregate":false,"transformLabel":"Raw Data"},"10":{"name":"OPAC\/Staff Client User Name","aggregate":false,"transformLabel":"Raw Data"}},"userParams":{"0":{"column":"Item","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"::P0","fieldDoc":"","aggregate":"","dataType":"bool","table":"asset.copy","paramType":"user"}},"staticParams":{"0":{"column":"Item -> Call Number\/Volume","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"1","fieldDoc":"","aggregate":"","dataType":"org_unit","table":"asset.call_number","paramType":"static"},"1":{"column":"Item -> Call Number\/Volume","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"UNCATALOGED","fieldDoc":"","aggregate":"","dataType":"org_unit","table":"asset.call_number","paramType":"static"},"2":{"column":"Item","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"f","fieldDoc":"","aggregate":"","dataType":"bool","table":"asset.copy","paramType":"static"}}} \ No newline at end of file diff --git a/models/temp2.json b/models/temp2.json new file mode 100644 index 0000000..89e6f75 --- /dev/null +++ b/models/temp2.json @@ -0,0 +1 @@ +{"version":5,"doc_url":"","core_class":"acp","select":[{"alias":"Circulating Library","path":"aou-shortname","field_doc":"","relation":"d9bb0f1ae1cb5d9aac6e4deeef4da9af","column":{"colname":"shortname","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Shelving Location","path":"acpl-name","field_doc":"","relation":"997a0e361cbf1f5a57941642d5fb088a","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Copy Status","path":"ccs-name","field_doc":"","relation":"8129cbef75ca108b4c84d2b9874ab89a","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Title","path":"acp-dummy_title","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_title","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Author","path":"acp-dummy_author","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_author","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Call Number","path":"acp-dummy_isbn","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_isbn","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Barcode","path":"acp-barcode","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"barcode","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Creation Date/Time","path":"acp-create_date","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"create_date","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Last Edit Date/Time","path":"acp-edit_date","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"edit_date","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Name","path":"ccm-name","field_doc":"","relation":"851029826a8f1e629d4b7136a04f86f8","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"OPAC/Staff Client User Name","path":"au-usrname","field_doc":"","relation":"7ebcb384ce3181abb47f6deefdb5c79f","column":{"colname":"usrname","transform":"Bare","transform_label":"Raw Data","aggregate":false}}],"from":{"alias":"7d74f3b92b19da5e606d737d339a9679","path":"acp-acp","table":"asset.copy","idlclass":"acp","join":{"circ_lib-eb2d7f1fefe6a54c8f29fd69d7d4f600":{"type":"inner","key":"id","alias":"d9bb0f1ae1cb5d9aac6e4deeef4da9af","path":"acp-circ_lib","table":"actor.org_unit","idlclass":"aou","label":"Item -> Circulating Library"},"location-ccdc1d371ff6eeb5e16397677300bf76":{"type":"inner","key":"id","alias":"997a0e361cbf1f5a57941642d5fb088a","path":"acp-location","table":"asset.copy_location","idlclass":"acpl","label":"Item -> Shelving Location"},"status-8f0bbe545ab37e7c4d7759476aec9631":{"type":"inner","key":"id","alias":"8129cbef75ca108b4c84d2b9874ab89a","path":"acp-status","table":"config.copy_status","idlclass":"ccs","label":"Item -> Copy Status"},"circ_modifier-706fb26126e429c6ec8e61be820fe758":{"type":"inner","key":"code","alias":"851029826a8f1e629d4b7136a04f86f8","path":"acp-circ_modifier","table":"config.circ_modifier","idlclass":"ccm","label":"Item -> Circulation Modifier"},"creator-38cb3a347e51d3575f004b7007dffc47":{"type":"inner","key":"id","alias":"7ebcb384ce3181abb47f6deefdb5c79f","path":"acp-creator","table":"actor.usr","idlclass":"au","label":"Item -> Creating User"},"call_number-ed55d72666ad50c3c4b9652f5627aba0":{"type":"inner","key":"id","alias":"b2cf79747613caddc0cc6635315db347","path":"acp-call_number","table":"asset.call_number","idlclass":"acn","label":"Item -> Call Number/Volume"}},"label":"Item"},"where":[{"alias":"Owning Library","path":"acn-owning_lib","field_doc":"","relation":"b2cf79747613caddc0cc6635315db347","column":{"colname":"owning_lib","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"1"}},{"alias":"Call Number Label","path":"acn-label","field_doc":"","relation":"b2cf79747613caddc0cc6635315db347","column":{"colname":"label","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"UNCATALOGED"}},{"alias":"Is Deleted","path":"acp-deleted","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"deleted","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"f"}},{"alias":"Circulating Library","path":"acp-circ_lib","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"circ_lib","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"in":"::P0"}}],"having":[],"display_cols":[{"name":"shortname","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Organizational Unit","from":"acp","link":{"name":"circ_lib","label":"Circulating Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"org_unit"},"id":"acp.aou","uplink":{"name":"circ_lib","label":"Circulating Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"org_unit"},"classname":"aou","struct":{"name":"aou","label":"Organizational Unit","table":"actor.org_unit","pkey":"id","pkey_sequence":"actor.org_unit_id_seq","core_label":"Non-core sources","classname":"aou"},"table":"actor.org_unit"}],"label":"Circulating Library","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Circulating Library","index":0},{"name":"name","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Copy/Shelving Location","from":"acp","link":{"name":"location","label":"Shelving Location","type":"link","key":"id","class":"acpl","reltype":"has_a","datatype":"link"},"id":"acp.acpl","uplink":{"name":"location","label":"Shelving Location","type":"link","key":"id","class":"acpl","reltype":"has_a","datatype":"link"},"classname":"acpl","struct":{"name":"acpl","label":"Copy/Shelving Location","table":"asset.copy_location","pkey":"id","pkey_sequence":"asset.copy_location_id_seq","core_label":"Non-core sources","classname":"acpl"},"table":"asset.copy_location"}],"label":"Shelving Location","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Shelving Location","index":1},{"name":"name","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Copy Status","from":"acp","link":{"name":"status","label":"Copy Status","type":"link","key":"id","class":"ccs","reltype":"has_a","datatype":"link"},"id":"acp.ccs","uplink":{"name":"status","label":"Copy Status","type":"link","key":"id","class":"ccs","reltype":"has_a","datatype":"link"},"classname":"ccs","struct":{"name":"ccs","label":"Copy Status","restrict_primary":"100","table":"config.copy_status","pkey":"id","pkey_sequence":"config.copy_status_id_seq","core_label":"Non-core sources","classname":"ccs"},"table":"config.copy_status"}],"label":"Copy Status","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Copy Status","index":2},{"name":"dummy_title","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Title","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":3},{"name":"dummy_author","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Author","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":4},{"name":"dummy_isbn","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Call Number","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":5},{"name":"barcode","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Barcode","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":6},{"name":"create_date","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Creation Date/Time","datatype":"timestamp","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":7},{"name":"edit_date","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Last Edit Date/Time","datatype":"timestamp","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":8},{"name":"name","label":"Name","i18n":true,"datatype":"text","index":9,"path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Circulation Modifier","from":"acp","link":{"name":"circ_modifier","label":"Circulation Modifier","type":"link","key":"code","class":"ccm","reltype":"has_a","datatype":"link"},"id":"acp.ccm","uplink":{"name":"circ_modifier","label":"Circulation Modifier","type":"link","key":"code","class":"ccm","reltype":"has_a","datatype":"link"},"classname":"ccm","struct":{"name":"ccm","label":"Circulation Modifier","table":"config.circ_modifier","pkey":"code","core_label":"Non-core sources","classname":"ccm"},"table":"config.circ_modifier"}],"path_label":"Item -> Circulation Modifier","transform":{"transform":"Bare","label":"Raw Data","aggregate":false},"doc_text":""},{"name":"usrname","label":"OPAC/Staff Client User Name","datatype":"text","index":10,"path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Creating User","from":"acp","link":{"name":"creator","label":"Creating User","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"id":"acp.au","uplink":{"name":"creator","label":"Creating User","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"classname":"au","struct":{"name":"au","label":"ILS User","table":"actor.usr","core":true,"pkey":"id","pkey_sequence":"actor.usr_id_seq","core_label":"Core sources","classname":"au"},"table":"actor.usr"}],"path_label":"Item -> Creating User","transform":{"transform":"Bare","label":"Raw Data","aggregate":false},"doc_text":""}],"filter_cols":[{"name":"owning_lib","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Call Number/Volume","from":"acp","link":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"id":"acp.acn","uplink":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"classname":"acn","struct":{"name":"acn","label":"Call Number/Volume","table":"asset.call_number","pkey":"id","pkey_sequence":"asset.call_number_id_seq","core_label":"Non-core sources","classname":"acn"},"table":"asset.call_number"}],"label":"Owning Library","datatype":"org_unit","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Call Number/Volume","operator":{"op":"=","label":"Equals"},"index":0,"value":"1"},{"name":"label","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Call Number/Volume","from":"acp","link":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"id":"acp.acn","uplink":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"classname":"acn","struct":{"name":"acn","label":"Call Number/Volume","table":"asset.call_number","pkey":"id","pkey_sequence":"asset.call_number_id_seq","core_label":"Non-core sources","classname":"acn"},"table":"asset.call_number"}],"label":"Call Number Label","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Call Number/Volume","operator":{"op":"=","label":"Equals"},"index":1,"value":"UNCATALOGED"},{"name":"deleted","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Is Deleted","datatype":"bool","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","operator":{"op":"=","label":"Equals"},"index":2,"value":"f"},{"name":"circ_lib","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Circulating Library","datatype":"org_unit","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","operator":{"op":"in","label":"In list"},"index":3}]} \ No newline at end of file diff --git a/models/temp3.json b/models/temp3.json new file mode 100644 index 0000000..f17e98b --- /dev/null +++ b/models/temp3.json @@ -0,0 +1,2 @@ +{"version":5,"doc_url":"","core_class":"acp","select":[{"alias":"Circulating Library","path":"aou-shortname","field_doc":"","relation":"d9bb0f1ae1cb5d9aac6e4deeef4da9af","column":{"colname":"shortname","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Shelving Location","path":"acpl-name","field_doc":"","relation":"997a0e361cbf1f5a57941642d5fb088a","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Copy Status","path":"ccs-name","field_doc":"","relation":"8129cbef75ca108b4c84d2b9874ab89a","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Title","path":"acp-dummy_title","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_title","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Author","path":"acp-dummy_author","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_author","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Precat Call Number","path":"acp-dummy_isbn","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"dummy_isbn","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Barcode","path":"acp-barcode","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"barcode","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Creation Date/Time","path":"acp-create_date","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"create_date","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Last Edit Date/Time","path":"acp-edit_date","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"edit_date","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Name","path":"ccm-name","field_doc":"","relation":"851029826a8f1e629d4b7136a04f86f8","column":{"colname":"name","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"OPAC/Staff Client User Name","path":"au-usrname","field_doc":"","relation":"7ebcb384ce3181abb47f6deefdb5c79f","column":{"colname":"usrname","transform":"Bare","transform_label":"Raw Data","aggregate":false}}],"from":{"alias":"7d74f3b92b19da5e606d737d339a9679","path":"acp-acp","table":"asset.copy","idlclass":"acp","join":{"circ_lib-eb2d7f1fefe6a54c8f29fd69d7d4f600":{"type":"inner","key":"id","alias":"d9bb0f1ae1cb5d9aac6e4deeef4da9af","path":"acp-circ_lib","table":"actor.org_unit","idlclass":"aou","label":"Item -> Circulating Library"},"location-ccdc1d371ff6eeb5e16397677300bf76":{"type":"inner","key":"id","alias":"997a0e361cbf1f5a57941642d5fb088a","path":"acp-location","table":"asset.copy_location","idlclass":"acpl","label":"Item -> Shelving Location"},"status-8f0bbe545ab37e7c4d7759476aec9631":{"type":"inner","key":"id","alias":"8129cbef75ca108b4c84d2b9874ab89a","path":"acp-status","table":"config.copy_status","idlclass":"ccs","label":"Item -> Copy Status"},"circ_modifier-706fb26126e429c6ec8e61be820fe758":{"type":"inner","key":"code","alias":"851029826a8f1e629d4b7136a04f86f8","path":"acp-circ_modifier","table":"config.circ_modifier","idlclass":"ccm","label":"Item -> Circulation Modifier"},"creator-38cb3a347e51d3575f004b7007dffc47":{"type":"inner","key":"id","alias":"7ebcb384ce3181abb47f6deefdb5c79f","path":"acp-creator","table":"actor.usr","idlclass":"au","label":"Item -> Creating User"},"call_number-ed55d72666ad50c3c4b9652f5627aba0":{"type":"inner","key":"id","alias":"b2cf79747613caddc0cc6635315db347","path":"acp-call_number","table":"asset.call_number","idlclass":"acn","label":"Item -> Call Number/Volume"}},"label":"Item"},"where":[{"alias":"Owning Library","path":"acn-owning_lib","field_doc":"","relation":"b2cf79747613caddc0cc6635315db347","column":{"colname":"owning_lib","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"1"}},{"alias":"Call Number Label","path":"acn-label","field_doc":"","relation":"b2cf79747613caddc0cc6635315db347","column":{"colname":"label","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"UNCATALOGED"}},{"alias":"Is Deleted","path":"acp-deleted","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"deleted","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"f"}},{"alias":"Circulating Library","path":"acp-circ_lib","field_doc":"","relation":"7d74f3b92b19da5e606d737d339a9679","column":{"colname":"circ_lib","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"in":"::P0"}}],"having":[],"display_cols":[{"name":"shortname","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Organizational Unit","from":"acp","link":{"name":"circ_lib","label":"Circulating Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"org_unit"},"id":"acp.aou","uplink":{"name":"circ_lib","label":"Circulating Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"org_unit"},"classname":"aou","struct":{"name":"aou","label":"Organizational Unit","table":"actor.org_unit","pkey":"id","pkey_sequence":"actor.org_unit_id_seq","core_label":"Non-core sources","classname":"aou"},"table":"actor.org_unit"}],"label":"Circulating Library","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Circulating Library","index":0},{"name":"name","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Copy/Shelving Location","from":"acp","link":{"name":"location","label":"Shelving Location","type":"link","key":"id","class":"acpl","reltype":"has_a","datatype":"link"},"id":"acp.acpl","uplink":{"name":"location","label":"Shelving Location","type":"link","key":"id","class":"acpl","reltype":"has_a","datatype":"link"},"classname":"acpl","struct":{"name":"acpl","label":"Copy/Shelving Location","table":"asset.copy_location","pkey":"id","pkey_sequence":"asset.copy_location_id_seq","core_label":"Non-core sources","classname":"acpl"},"table":"asset.copy_location"}],"label":"Shelving Location","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Shelving Location","index":1},{"name":"name","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Copy Status","from":"acp","link":{"name":"status","label":"Copy Status","type":"link","key":"id","class":"ccs","reltype":"has_a","datatype":"link"},"id":"acp.ccs","uplink":{"name":"status","label":"Copy Status","type":"link","key":"id","class":"ccs","reltype":"has_a","datatype":"link"},"classname":"ccs","struct":{"name":"ccs","label":"Copy Status","restrict_primary":"100","table":"config.copy_status","pkey":"id","pkey_sequence":"config.copy_status_id_seq","core_label":"Non-core sources","classname":"ccs"},"table":"config.copy_status"}],"label":"Copy Status","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Copy Status","index":2},{"name":"dummy_title","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Title","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":3},{"name":"dummy_author","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Author","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":4},{"name":"dummy_isbn","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Precat Call Number","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":5},{"name":"barcode","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Barcode","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":6},{"name":"create_date","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Creation Date/Time","datatype":"timestamp","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":7},{"name":"edit_date","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Last Edit Date/Time","datatype":"timestamp","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","index":8},{"name":"name","label":"Name","i18n":true,"datatype":"text","index":9,"path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Circulation Modifier","from":"acp","link":{"name":"circ_modifier","label":"Circulation Modifier","type":"link","key":"code","class":"ccm","reltype":"has_a","datatype":"link"},"id":"acp.ccm","uplink":{"name":"circ_modifier","label":"Circulation Modifier","type":"link","key":"code","class":"ccm","reltype":"has_a","datatype":"link"},"classname":"ccm","struct":{"name":"ccm","label":"Circulation Modifier","table":"config.circ_modifier","pkey":"code","core_label":"Non-core sources","classname":"ccm"},"table":"config.circ_modifier"}],"path_label":"Item -> Circulation Modifier","transform":{"transform":"Bare","label":"Raw Data","aggregate":false},"doc_text":""},{"name":"usrname","label":"OPAC/Staff Client User Name","datatype":"text","index":10,"path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Creating User","from":"acp","link":{"name":"creator","label":"Creating User","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"id":"acp.au","uplink":{"name":"creator","label":"Creating User","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"classname":"au","struct":{"name":"au","label":"ILS User","table":"actor.usr","core":true,"pkey":"id","pkey_sequence":"actor.usr_id_seq","core_label":"Core sources","classname":"au"},"table":"actor.usr"}],"path_label":"Item -> Creating User","transform":{"transform":"Bare","label":"Raw Data","aggregate":false},"doc_text":""}],"filter_cols":[{"name":"owning_lib","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Call Number/Volume","from":"acp","link":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"id":"acp.acn","uplink":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"classname":"acn","struct":{"name":"acn","label":"Call Number/Volume","table":"asset.call_number","pkey":"id","pkey_sequence":"asset.call_number_id_seq","core_label":"Non-core sources","classname":"acn"},"table":"asset.call_number"}],"label":"Owning Library","datatype":"org_unit","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Call Number/Volume","operator":{"op":"=","label":"Equals"},"index":0,"value":"1"},{"name":"label","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"},{"label":"Call Number/Volume","from":"acp","link":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"id":"acp.acn","uplink":{"name":"call_number","label":"Call Number/Volume","type":"link","key":"id","class":"acn","reltype":"has_a","datatype":"link"},"classname":"acn","struct":{"name":"acn","label":"Call Number/Volume","table":"asset.call_number","pkey":"id","pkey_sequence":"asset.call_number_id_seq","core_label":"Non-core sources","classname":"acn"},"table":"asset.call_number"}],"label":"Call Number Label","datatype":"text","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item -> Call Number/Volume","operator":{"op":"=","label":"Equals"},"index":1,"value":"UNCATALOGED"},{"name":"deleted","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Is Deleted","datatype":"bool","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","operator":{"op":"=","label":"Equals"},"index":2,"value":"f"},{"name":"circ_lib","path":[{"label":"Item","id":"acp","classname":"acp","struct":{"name":"acp","label":"Item","table":"asset.copy","core":true,"pkey":"id","pkey_sequence":"asset.copy_id_seq","core_label":"Core sources","classname":"acp"},"table":"asset.copy"}],"label":"Circulating Library","datatype":"org_unit","doc_text":"","transform":{"label":"Raw Data","transform":"Bare","aggregate":null},"path_label":"Item","operator":{"op":"in","label":"In list"},"index":3}]} + [data] => {"docURL":"","reportColumns":{"0":{"name":"Circulating Library","aggregate":false,"transformLabel":"Raw Data"},"1":{"name":"Shelving Location","aggregate":false,"transformLabel":"Raw Data"},"2":{"name":"Copy Status","aggregate":false,"transformLabel":"Raw Data"},"3":{"name":"Precat Title","aggregate":false,"transformLabel":"Raw Data"},"4":{"name":"Precat Author","aggregate":false,"transformLabel":"Raw Data"},"5":{"name":"Precat Call Number","aggregate":false,"transformLabel":"Raw Data"},"6":{"name":"Barcode","aggregate":false,"transformLabel":"Raw Data"},"7":{"name":"Creation Date\/Time","aggregate":false,"transformLabel":"Raw Data"},"8":{"name":"Last Edit Date\/Time","aggregate":false,"transformLabel":"Raw Data"},"9":{"name":"Name","aggregate":false,"transformLabel":"Raw Data"},"10":{"name":"OPAC\/Staff Client User Name","aggregate":false,"transformLabel":"Raw Data"}},"userParams":{"0":{"column":"Item","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"::P0","fieldDoc":"","aggregate":"","dataType":"bool","table":"asset.copy","paramType":"user"}},"staticParams":{"0":{"column":"Item -> Call Number\/Volume","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"1","fieldDoc":"","aggregate":"","dataType":"org_unit","table":"asset.call_number","paramType":"static"},"1":{"column":"Item -> Call Number\/Volume","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"UNCATALOGED","fieldDoc":"","aggregate":"","dataType":"org_unit","table":"asset.call_number","paramType":"static"},"2":{"column":"Item","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"f","fieldDoc":"","aggregate":"","dataType":"bool","table":"asset.copy","paramType":"static"}}} \ No newline at end of file diff --git a/models/templateDecoder.class.php b/models/templateDecoder.class.php index 0000650..dc6381f 100644 --- a/models/templateDecoder.class.php +++ b/models/templateDecoder.class.php @@ -7,127 +7,172 @@ class templateDecoder function createTemplateObject ($reporterTemplateID) { $templateObj = new stdClass(); - $templateObj->id = $result['id']; - $templateObj->name = $result['name']; - $templateObj->description = $result['description']; - $templateObj->owner = $result['owner']; - $templateObj->folder = $result['folder']; - $templateObj->createTime = $result['create_time']; - $templateObj->data = $result['data']; - $templateObj->dataDecoded = $this->getDecodedTemplateData($result['data']); + $templateObj->id = $result["id"]; + $templateObj->name = $result["name"]; + $templateObj->description = $result["description"]; + $templateObj->owner = $result["owner"]; + $templateObj->folder = $result["folder"]; + $templateObj->createTime = $result["create_time"]; + $templateObj->data = $result["data"]; + $templateObj->dataDecoded = $this->getDecodedTemplateData($result["data"]); } public function decodeTemplateData ($templateData) { - - $userParamsArray=array(); - $staticParamsArray=array(); - $reportColumnsArray=array(); - $returnObj=new stdClass(); - - $jsonData=json_decode($templateData, false); - if (NULL == $jsonData) { - new displayMessageView('JSON format error decoding template data.'); - return NULL; - } - - $version=$jsonData->version; - if ($version != '3' && $version != '4') { - new displayMessageView('Error: Invalid template version: '.$version); - return NULL; - } + $userParamsArray = array(); + $staticParamsArray = array(); + $reportColumnsArray = array(); + $returnObj = new stdClass(); - - $select=$jsonData->select; - $relCache=$jsonData->rel_cache; - $where=(isset($jsonData->where) ? $jsonData->where : NULL); - $having=(isset($jsonData->having) ? $jsonData->having : NULL); + $jsonData = json_decode( $templateData, false ); + $validData = ( $jsonData != NULL ); + + if ( $jsonData->version != "5") { + new displayMessageView( "Error: Invalid template version. Must be Version 5." ); + return NULL; + } + + if ( $validData ) { + $select = $jsonData->select; + $where = ( isset( $jsonData->where ) ? $jsonData->where : NULL ); + $having = ( isset( $jsonData->having ) ? $jsonData->having : NULL ); + + foreach ( $select as $s ) { + $columnName = $s->column->colname; + $r = $s->relation; + $relCol = $s->column; + $displayAggregate = isset( $relCol->aggregate ) ? $relCol->aggregate : NULL; + $displayTransformLabel = isset ( $relCol->transform_label ) ? $relCol->transform_label : NULL; + + $columnArray = array( + "name" => $s->alias, + "aggregate" => $displayAggregate, + "transformLabel"=>$displayTransformLabel + ); - foreach ($select as $s ) - { - $columnName=$s->column->colname; - $r=$s->relation; - $displayAggregate = isset($relCache->$r->fields->dis_tab->$columnName->aggregate) ? $relCache->$r->fields->dis_tab->$columnName->aggregate : NULL; - $displayTransformLabel = isset($relCache->$r->fields->dis_tab->$columnName->transform_label) ? $relCache->$r->fields->dis_tab->$columnName->transform_label : NULL; - $columnArray=array('name'=>$s->alias, 'aggregate'=>$displayAggregate, 'transformLabel'=>$displayTransformLabel); - $reportColumnsArray[] = (object) $columnArray; + $reportColumnsArray[] = (object) $columnArray; + }; + + foreach( array( $where, $having ) as $clause ) { + if ( isset( $clause ) ) { + foreach ( $clause as $cl ) { + $paramsArray = (object) $this->returnClause( $cl, $jsonData ); + if (isset ( $paramsArray->paramType ) ) { + if ( $paramsArray->paramType == "user" ) { + $userParamsArray[] = (object) $paramsArray; + } else { + $staticParamsArray[] = (object) $paramsArray; + } + } + } + } + } + + $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only + $returnObj->reportColumns = (object) $reportColumnsArray; + $returnObj->userParams = (object) $userParamsArray; + $returnObj->staticParams = (object) $staticParamsArray; + + return($returnObj); + } else { + new displayMessageView( "JSON format error decoding template data." ); } - - $clauses = array('where', 'having'); //look for params in both where and having clauses - foreach ($clauses as $c) { - - if ('where' == $c) { - if (NULL == $where) continue; - $clause = $where; - } - else { - if (NULL == $having) continue; - $clause = $having; - } - - foreach ($clause as $cl) { - $relation=$cl->relation; - $colName=$cl->column->colname; - - if ('where' == $c) - $filterTab=$relCache->$relation->fields->filter_tab; - else - $filterTab=$relCache->$relation->fields->aggfilter_tab; - - $columnLabel = str_replace('::','->',$relCache->$relation->label) .' -> '. $cl->alias; - - //Transform - //*** Some templates do not have a transform label - $transform = $cl->column->transform; - if (isset($cl->column->transform_label)) { - $transformLabel = $cl->column->transform_label; - } - else { - $transformLabel = ''; - } - - //Data Type - $dataType=$filterTab->$colName->datatype; - $tableName=$relCache->$relation->table; - - //Action / Operation - $op=$filterTab->$colName->op; - $opLabel=$filterTab->$colName->op_label; - $fieldDoc = isset($filterTab->$colName->field_doc) ? $filterTab->$colName->field_doc : NULL; - $aggregate = isset($filterTab->$colName->aggregate) ? $filterTab->$colName->aggregate : NULL; - $P=$cl->condition; - - list($key, $opValue) = each($P); //get the first (and only) value - if (is_array($opValue)) $opValue = implode(',', $opValue); //if array convert it back to a string - - $paramsArray = array( - 'column' => $columnLabel - ,'transform' => $transform - ,'transformLabel' => $transformLabel - ,'op' => $op - ,'opLabel' => $opLabel - ,'param'=> $opValue - ,'fieldDoc' => $fieldDoc - ,'aggregate' => $aggregate - ,'dataType' => $dataType - ,'table' => $relCache->$relation->table - ); - - //if (mb_substr($opValue,0,3,'UTF-8')=='::P') { - if (substr($opValue,0,3) == '::P') { - $userParamsArray[] = (object) $paramsArray; - } - else { - $staticParamsArray[] = (object) $paramsArray; + } + + function pullLabel ( $d, $str, &$out, $tag, $subtag, $val ) { + if ( $d->$tag == $str ) { + $out = $d->$val; + return; + } else { + if ( isset( $d->$subtag ) ) { + if ( $d->$subtag ) { + foreach ( $d->$subtag as $j ) { + $this->pullLabel( $j, $str, $out, $tag, $subtag, $val ); + } } + } else { + return; } } - - $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only - $returnObj->reportColumns = (object) $reportColumnsArray; - $returnObj->userParams = (object) $userParamsArray; - $returnObj->staticParams = (object) $staticParamsArray; - - return($returnObj); } + + function returnClause( $cl, $jsonData ) { + $relation = isset( $cl->relation ) ? $cl->relation : null; + $colName = isset( $cl->column->colname ) ? $cl->column->colname : null; + + $columnLabel = ""; + $this->pullLabel( $jsonData->from, $relation, $columnLabel, "alias", "join", "label" ); + + $columnLabelFull = $columnLabel . " -> " . $cl->alias; + + $transform = isset( $cl->column->transform ) ? $cl->column->transform : null; + $transformLabel = isset( $cl->column->transform_label ) ? $cl->column->transform_label : ""; + + $dataType = ""; + $op = ""; + $opLabel = ""; + $opValue = ""; + $fieldDoc = ""; + $aggregate = ""; + + if ( isset( $jsonData->filter_cols ) ) { + foreach ( $jsonData->filter_cols as $fc ) { + if ( $fc->path_label === $columnLabel ) { + $dataType = $fc->datatype; + $op = $fc->operator->op; + $opLabel = $fc->operator->label; + isset( $fc->doc_text ) ? $fieldDoc = $fc->doc_text : false; + if ( isset( $fc->transform->aggregate ) ) { + if ( $fc->transform->aggregate != "undefined" ) { + $aggregate = $fc->transform->aggregate; + } + } + break; + } + } + } + + $tableName = ""; + $this->pullLabel( $jsonData->from, $relation, $tableName, "alias", "join", "table" ); + $P = isset( $cl->condition ) ? $cl->condition : null; + + if ( isset( $P ) ) { + list( $key, $opValue ) = each( $P ); //get the first (and only) value + } + + if ( isset( $opValue ) ) { + if ( is_array( $opValue ) ) $opValue = implode( ',', $opValue ); //if array convert it back to a string + } else { + $opValue = ""; + } + + $paramType = strlen( $opValue ) > 2 ? substr( $opValue, 0, 3 ) == "::P" ? "user" : "static" : "static"; + + return array( + 'column' => $columnLabelFull + ,'transform' => $transform + ,'transformLabel' => $transformLabel + ,'op' => $op + ,'opLabel' => $opLabel + ,'param'=> $opValue + ,'fieldDoc' => $fieldDoc + ,'aggregate' => $aggregate + ,'dataType' => $dataType + ,'table' => $tableName + ,'paramType' => $paramType + ); + } + + function returnColumnLabel( $d, $rel, $tag, $val, $retVal ) { + $val = ""; + foreach( $d as $d1 ) { + if ( isset( $d1->$tag ) ) { + if ( $d1->$tag == $val ) { + $val = $d1->$retVal; + break; + } + } + } + return $val; + } } ?> diff --git a/models/templateDecoder.class.php.20201216 b/models/templateDecoder.class.php.20201216 new file mode 100644 index 0000000..11cd50a --- /dev/null +++ b/models/templateDecoder.class.php.20201216 @@ -0,0 +1,355 @@ +id = $result["id"]; + $templateObj->name = $result["name"]; + $templateObj->description = $result["description"]; + $templateObj->owner = $result["owner"]; + $templateObj->folder = $result["folder"]; + $templateObj->createTime = $result["create_time"]; + $templateObj->data = $result["data"]; + $templateObj->dataDecoded = $this->getDecodedTemplateData($result["data"]); + } + + public function decodeTemplateData ($templateData) { + $validData = false; + $version = 3; + + $userParamsArray = array(); + $staticParamsArray = array(); + $reportColumnsArray = array(); + $returnObj = new stdClass(); + + $jsonData = json_decode( $templateData, false ); + if ( $jsonData != NULL ) { + $validData = $jsonData->version != NULL ? true : false; + $version = $jsonData->version; + } + if ( $validData ) { + $version === 3 || $version === 4 ? $jsonData = $this->convertXULTemplate( $jsonData ) : false; + $select = $jsonData->select; + $where = ( isset( $jsonData->where ) ? $jsonData->where : NULL ); + $having = ( isset( $jsonData->having ) ? $jsonData->having : NULL ); + + foreach ( $select as $s ) { + $columnName = $s->column->colname; + $r = $s->relation; + $relCol = $s->column; + $displayAggregate = isset( $relCol->aggregate ) ? $relCol->aggregate : NULL; + $displayTransformLabel = isset ( $relCol->transform_label ) ? $relCol->transform_label : NULL; + + $columnArray = array( + "name" => $s->alias, + "aggregate" => $displayAggregate, + "transformLabel"=>$displayTransformLabel + ); + + $reportColumnsArray[] = (object) $columnArray; + + $where = isset( $jsonData->where ) ? + array( + "name" => "where", + "columns" => $jsonData->where + ) : NULL; + $having = isset( $jsonData->having ) ? + array( + "name" => "having", + "columns" => $jsonData->having + ) : NULL; + + foreach ( array( "where", "having" ) as $c ) { + if ( $c == "where" ) { + if ( !isset( $where ) ) continue; + $clause = $where; + } + if ( $c == "having" ) { + if ( !isset( $having ) ) continue; + $clause = $having; + } + + foreach ( $clause as $cl ) { + $relation = isset( $cl->relation ) ? $cl->relation : null; + $colName = isset( $cl->column->colname ) ? $cl->column->colname : null; + + $columnLabel = ""; + $this->pullLabel( $jsonData->from, $relation, $columnLabel, "alias", "join", "label" ); + $columnLabel = str_replace( '::', '->', $columnLabel); + + $transform = isset( $cl->column->transform ) ? $cl->column->transform : null; + $transformLabel = isset( $cl->column->transform_label ) ? $cl->column->transform_label : ""; + + $dataType = ""; + $op = ""; + $opLabel = ""; + $fieldDoc = ""; + $aggregate = ""; + foreach ( $jsonData->filter_cols as $fc ) { + if ( $fc->name === $colName ) { + $dataType = $fc->datatype; + $op = $fc->operator->op; + $opLabel = $fc->operator->label; + isset( $fc->doc_text ) ? $fieldDoc = $fc->doc_text : false; + if ( isset( $fc->transform->aggregate ) ) { + if ( $fc->transform->aggregate != "undefined" ) { + $aggregate = $fc->transform->aggregate; + } + } + break; + } + } + $tableName = ""; + $this->pullLabel( $jsonData->from, $relation, $tableName, "alias", "join", "table" ); + $P = isset( $cl->condition ) ? $cl->condition : null; + + if ( isset( $P ) ) { + list($key, $opValue) = each($P); //get the first (and only) value + } + if ( isset( $opValue ) ) { + if (is_array($opValue)) $opValue = implode(',', $opValue); //if array convert it back to a string + } else { + $opValue = null; + } + + $paramsArray = array( + 'column' => $columnLabel + ,'transform' => $transform + ,'transformLabel' => $transformLabel + ,'op' => $op + ,'opLabel' => $opLabel + ,'param'=> $opValue + ,'fieldDoc' => $fieldDoc + ,'aggregate' => $aggregate + ,'dataType' => $dataType + ,'table' => $tableName + ); + //if (mb_substr($opValue,0,3,'UTF-8')=='::P') { + if (substr($opValue,0,3) == '::P') { + $userParamsArray[] = (object) $paramsArray; + } + else { + $staticParamsArray[] = (object) $paramsArray; + } + } + } + $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only + $returnObj->reportColumns = (object) $reportColumnsArray; + $returnObj->userParams = (object) $userParamsArray; + $returnObj->staticParams = (object) $staticParamsArray; + + return($returnObj); + } + } else { + new displayMessageView( "JSON format error decoding template data." ); + } + } + + function convertXULTemplate ( $template ) { + $data = ( object )[ + "version" => 5, + "core_class" => $template->core_class, + "select" => $template->select, + "from" => $template->from, + "where" => $template->where, + "having" => $template->having, + "display_cols" => array(), + "filter_cols" => array() + ]; + + $rels = []; + $order_by = ""; + + foreach( $template->rel_cache as $k => $v ) { + $k == "order_by" ? $order_by = $v : $rels{$k} = $v; //array_push( $rels, $v ); + } + + $select = $template->select; + $sel_order = array(); + $idx = 0; + foreach ( $select as $s ) { + $sel_order[strval($s->relation) . strval($s->column->colname)] = $idx; + $idx++; + } + + $idx = 0; + + $IDL = json_decode( file_get_contents( 'config/IDL.json' ) ); + + foreach ( $rels as $r ) { + if ( is_array($r) || is_object($r) ) { + $this->buildCols( $r, 'dis_tab', $sel_order, $data->display_cols, $IDL); + $this->buildCols( $r, 'filter_tab', NULL, $data->filter_cols, $IDL); + $this->buildCols( $r, 'aggfilter_tab', NULL, $data->filter_cols, $IDL); + } + + } + + return $data; + } + + function buildCols( $r, $tt, $sel_order, &$d, $IDL ) { + $colType = $tt == 'dis_tab' ? 'display_cols' : 'filter_cols'; + $ci = 0; + foreach ( $r->fields->{$tt} as $n =>$c ) { + $orig = $r->fields->{$tt}->$n; + $col = ( object ) [ + "name" => $c->colname, + "path" => $this->convertPath( $orig, $r , $IDL), //needs fixed + "label" => $orig->alias, + "datatype" => $c->datatype, + "doc_text" => $c->field_doc, + "transform" => ( object ) [ + "label" => $orig->transform_label, + "transform" => $orig->transform, + "aggregate" => !isset( $orig->aggregate ) ? NULL : $orig->aggregate + ], + "path_label" => preg_replace( "/\:\:/", "->", $r->label), + "index" => false + ]; + if ( $colType == "filter_cols" ) { + @$col->operator = [ + "op" => $orig->op, + "label" => $orig->op_label + ]; + @$col->index = $ci++; + isset( $orig->op_value->value ) ? @$col->value = $orig->op_value->value : FALSE; + } else { + isset( $sel_order[$r->alias . $orig->colname] ) ? @$col->index = $sel_order[$r->alias . $orig->colname] : @$col->index = false; + } + array_push( $d, $col ); + } + } + + function buildNode( $cls, $args, $IDL ) { + if ( !isset( $cls ) || !isset( $args ) ) { + return null; + } else { + $n = isset( $IDL->{ $cls } ) ? $IDL->{ $cls } : null; + } + + if ( !$n ) { + return null; + } else { + if ( !$args ) { + $args = ( object ) [ + "label" => $n->label + ]; + } + $args->id = $cls; + if ( isset( $args->from ) ) { + $args->id = $args->from . "." . $args->id; + } + $links = array(); + foreach( $n->fields as $x ) { + if ( isset( $x->type ) ) { + $x->type == "link" ? array_push( $links, $x ) : false; + } + } + + $args->idl = $this->service($cls, null); + $args->uplink = isset( $args->link ) ? $args->link : null; + $args->classname = $cls; + $args->struct = $n; + $args->table = isset( $n->table ) ? $n->table : null; + $args->fields = $this->_sort_class_fields($n->fields); + $args->links = $this->_sort_class_fields($links); + $args->children = []; + + $args = json_encode( $args ); + + return $args; + } + } + + function convertPath( $orig, $rel, $IDL ) { + $new_path = []; + $table_path = preg_split( "/\./", $rel->path ); + if ( count( $table_path ) > 1 || strpos( $rel->path, "-" ) ) { + array_push( $table_path, $rel->idlclass ); + } + $prev_type= ""; + $prev_link = ""; + + foreach( $table_path as $tp ) { + $cl_split = preg_split( "/-/", $tp); + $cls = $cl_split[0]; + $fld = isset( $cl_split[1] ) ? $cl_split[1] : null; + $args = ( object )[ + "label" => isset( $IDL->{$cls}->label ) ? $IDL->{$cls}->label : null + ]; + + if( $prev_link != "" ) { + $link_parts = preg_split( "/-/", $prev_link ); + $args->from = $link_parts[0]; + $join_parts = preg_split( "/>/", $link_parts[1]); + $prev_col = $join_parts[0]; + foreach( $IDL->{$link_parts[0]}->fields as $f ) { + if ( $prev_col == $f->name ) { + $args->link = $f; + } + } + $args->jtype = isset( $join_parts[1] ) ? $join_parts[1] : null; + } + + array_push( $new_path, $this->buildNode($cls, $args, $IDL)); + $prev_link = $tp; + } + } + + function pullLabel ( $d, $str, &$out, $tag, $subtag, $val ) { + if ( $d->$tag == $str ) { + $out = $d->$val; + return; + } else { + if ( isset( $d->$subtag ) ) { + if ( $d->$subtag ) { + foreach ( $d->$subtag as $j ) { + $this->pullLabel( $j, $str, $out, $tag, $subtag, $val ); + } + } + } else { + return; + } + } + } + + function service( $cls, $seed) { + return ( object ) [ + "a" => ( $seed ? $seed : ( object )[] ), + "classname" => $cls, + "_isfieldmapper" => true + ]; + } + + function _sort_class_fields( $arr ) { + $out = array(); + if ( isset( $arr[0] ) ) { + array_push( $out, $arr[0] ); + array_shift($arr); + $i = 0; + while ( count($arr) > 0 ) { + $arrLabel = isset( $arr[0]->label ) ? $arr[0]->label : ""; + $arrName = isset( $arr[0]->name ) ? $arr[0]->name : ""; + + //$aname = $arr[0]->label ? $arr[0]->label : $arr[0]->name; + + $bName = isset( $out[$i]->label ) ? $out[$i]->label : ""; + $bLabel = isset( $out[$i]->label ) ? $out[$i]->label : $bName; + $bName = isset( $bLabel ) ? $bLabel : $bName; //$out[$i]->label ? $out[$i]->label : $out[$i]->name; + while ( strcmp( $arrName, $bName) > 0 && $i < count( $arr ) ) { + $i++; + } + array_splice( $out, $i, 0, array( $arr[0] ) ); + array_shift( $arr ); + $i = 0; + } + } + return $out; + } +} +?> diff --git a/models/templateDecoder.class.php.202012162234.php b/models/templateDecoder.class.php.202012162234.php new file mode 100644 index 0000000..11cd50a --- /dev/null +++ b/models/templateDecoder.class.php.202012162234.php @@ -0,0 +1,355 @@ +id = $result["id"]; + $templateObj->name = $result["name"]; + $templateObj->description = $result["description"]; + $templateObj->owner = $result["owner"]; + $templateObj->folder = $result["folder"]; + $templateObj->createTime = $result["create_time"]; + $templateObj->data = $result["data"]; + $templateObj->dataDecoded = $this->getDecodedTemplateData($result["data"]); + } + + public function decodeTemplateData ($templateData) { + $validData = false; + $version = 3; + + $userParamsArray = array(); + $staticParamsArray = array(); + $reportColumnsArray = array(); + $returnObj = new stdClass(); + + $jsonData = json_decode( $templateData, false ); + if ( $jsonData != NULL ) { + $validData = $jsonData->version != NULL ? true : false; + $version = $jsonData->version; + } + if ( $validData ) { + $version === 3 || $version === 4 ? $jsonData = $this->convertXULTemplate( $jsonData ) : false; + $select = $jsonData->select; + $where = ( isset( $jsonData->where ) ? $jsonData->where : NULL ); + $having = ( isset( $jsonData->having ) ? $jsonData->having : NULL ); + + foreach ( $select as $s ) { + $columnName = $s->column->colname; + $r = $s->relation; + $relCol = $s->column; + $displayAggregate = isset( $relCol->aggregate ) ? $relCol->aggregate : NULL; + $displayTransformLabel = isset ( $relCol->transform_label ) ? $relCol->transform_label : NULL; + + $columnArray = array( + "name" => $s->alias, + "aggregate" => $displayAggregate, + "transformLabel"=>$displayTransformLabel + ); + + $reportColumnsArray[] = (object) $columnArray; + + $where = isset( $jsonData->where ) ? + array( + "name" => "where", + "columns" => $jsonData->where + ) : NULL; + $having = isset( $jsonData->having ) ? + array( + "name" => "having", + "columns" => $jsonData->having + ) : NULL; + + foreach ( array( "where", "having" ) as $c ) { + if ( $c == "where" ) { + if ( !isset( $where ) ) continue; + $clause = $where; + } + if ( $c == "having" ) { + if ( !isset( $having ) ) continue; + $clause = $having; + } + + foreach ( $clause as $cl ) { + $relation = isset( $cl->relation ) ? $cl->relation : null; + $colName = isset( $cl->column->colname ) ? $cl->column->colname : null; + + $columnLabel = ""; + $this->pullLabel( $jsonData->from, $relation, $columnLabel, "alias", "join", "label" ); + $columnLabel = str_replace( '::', '->', $columnLabel); + + $transform = isset( $cl->column->transform ) ? $cl->column->transform : null; + $transformLabel = isset( $cl->column->transform_label ) ? $cl->column->transform_label : ""; + + $dataType = ""; + $op = ""; + $opLabel = ""; + $fieldDoc = ""; + $aggregate = ""; + foreach ( $jsonData->filter_cols as $fc ) { + if ( $fc->name === $colName ) { + $dataType = $fc->datatype; + $op = $fc->operator->op; + $opLabel = $fc->operator->label; + isset( $fc->doc_text ) ? $fieldDoc = $fc->doc_text : false; + if ( isset( $fc->transform->aggregate ) ) { + if ( $fc->transform->aggregate != "undefined" ) { + $aggregate = $fc->transform->aggregate; + } + } + break; + } + } + $tableName = ""; + $this->pullLabel( $jsonData->from, $relation, $tableName, "alias", "join", "table" ); + $P = isset( $cl->condition ) ? $cl->condition : null; + + if ( isset( $P ) ) { + list($key, $opValue) = each($P); //get the first (and only) value + } + if ( isset( $opValue ) ) { + if (is_array($opValue)) $opValue = implode(',', $opValue); //if array convert it back to a string + } else { + $opValue = null; + } + + $paramsArray = array( + 'column' => $columnLabel + ,'transform' => $transform + ,'transformLabel' => $transformLabel + ,'op' => $op + ,'opLabel' => $opLabel + ,'param'=> $opValue + ,'fieldDoc' => $fieldDoc + ,'aggregate' => $aggregate + ,'dataType' => $dataType + ,'table' => $tableName + ); + //if (mb_substr($opValue,0,3,'UTF-8')=='::P') { + if (substr($opValue,0,3) == '::P') { + $userParamsArray[] = (object) $paramsArray; + } + else { + $staticParamsArray[] = (object) $paramsArray; + } + } + } + $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only + $returnObj->reportColumns = (object) $reportColumnsArray; + $returnObj->userParams = (object) $userParamsArray; + $returnObj->staticParams = (object) $staticParamsArray; + + return($returnObj); + } + } else { + new displayMessageView( "JSON format error decoding template data." ); + } + } + + function convertXULTemplate ( $template ) { + $data = ( object )[ + "version" => 5, + "core_class" => $template->core_class, + "select" => $template->select, + "from" => $template->from, + "where" => $template->where, + "having" => $template->having, + "display_cols" => array(), + "filter_cols" => array() + ]; + + $rels = []; + $order_by = ""; + + foreach( $template->rel_cache as $k => $v ) { + $k == "order_by" ? $order_by = $v : $rels{$k} = $v; //array_push( $rels, $v ); + } + + $select = $template->select; + $sel_order = array(); + $idx = 0; + foreach ( $select as $s ) { + $sel_order[strval($s->relation) . strval($s->column->colname)] = $idx; + $idx++; + } + + $idx = 0; + + $IDL = json_decode( file_get_contents( 'config/IDL.json' ) ); + + foreach ( $rels as $r ) { + if ( is_array($r) || is_object($r) ) { + $this->buildCols( $r, 'dis_tab', $sel_order, $data->display_cols, $IDL); + $this->buildCols( $r, 'filter_tab', NULL, $data->filter_cols, $IDL); + $this->buildCols( $r, 'aggfilter_tab', NULL, $data->filter_cols, $IDL); + } + + } + + return $data; + } + + function buildCols( $r, $tt, $sel_order, &$d, $IDL ) { + $colType = $tt == 'dis_tab' ? 'display_cols' : 'filter_cols'; + $ci = 0; + foreach ( $r->fields->{$tt} as $n =>$c ) { + $orig = $r->fields->{$tt}->$n; + $col = ( object ) [ + "name" => $c->colname, + "path" => $this->convertPath( $orig, $r , $IDL), //needs fixed + "label" => $orig->alias, + "datatype" => $c->datatype, + "doc_text" => $c->field_doc, + "transform" => ( object ) [ + "label" => $orig->transform_label, + "transform" => $orig->transform, + "aggregate" => !isset( $orig->aggregate ) ? NULL : $orig->aggregate + ], + "path_label" => preg_replace( "/\:\:/", "->", $r->label), + "index" => false + ]; + if ( $colType == "filter_cols" ) { + @$col->operator = [ + "op" => $orig->op, + "label" => $orig->op_label + ]; + @$col->index = $ci++; + isset( $orig->op_value->value ) ? @$col->value = $orig->op_value->value : FALSE; + } else { + isset( $sel_order[$r->alias . $orig->colname] ) ? @$col->index = $sel_order[$r->alias . $orig->colname] : @$col->index = false; + } + array_push( $d, $col ); + } + } + + function buildNode( $cls, $args, $IDL ) { + if ( !isset( $cls ) || !isset( $args ) ) { + return null; + } else { + $n = isset( $IDL->{ $cls } ) ? $IDL->{ $cls } : null; + } + + if ( !$n ) { + return null; + } else { + if ( !$args ) { + $args = ( object ) [ + "label" => $n->label + ]; + } + $args->id = $cls; + if ( isset( $args->from ) ) { + $args->id = $args->from . "." . $args->id; + } + $links = array(); + foreach( $n->fields as $x ) { + if ( isset( $x->type ) ) { + $x->type == "link" ? array_push( $links, $x ) : false; + } + } + + $args->idl = $this->service($cls, null); + $args->uplink = isset( $args->link ) ? $args->link : null; + $args->classname = $cls; + $args->struct = $n; + $args->table = isset( $n->table ) ? $n->table : null; + $args->fields = $this->_sort_class_fields($n->fields); + $args->links = $this->_sort_class_fields($links); + $args->children = []; + + $args = json_encode( $args ); + + return $args; + } + } + + function convertPath( $orig, $rel, $IDL ) { + $new_path = []; + $table_path = preg_split( "/\./", $rel->path ); + if ( count( $table_path ) > 1 || strpos( $rel->path, "-" ) ) { + array_push( $table_path, $rel->idlclass ); + } + $prev_type= ""; + $prev_link = ""; + + foreach( $table_path as $tp ) { + $cl_split = preg_split( "/-/", $tp); + $cls = $cl_split[0]; + $fld = isset( $cl_split[1] ) ? $cl_split[1] : null; + $args = ( object )[ + "label" => isset( $IDL->{$cls}->label ) ? $IDL->{$cls}->label : null + ]; + + if( $prev_link != "" ) { + $link_parts = preg_split( "/-/", $prev_link ); + $args->from = $link_parts[0]; + $join_parts = preg_split( "/>/", $link_parts[1]); + $prev_col = $join_parts[0]; + foreach( $IDL->{$link_parts[0]}->fields as $f ) { + if ( $prev_col == $f->name ) { + $args->link = $f; + } + } + $args->jtype = isset( $join_parts[1] ) ? $join_parts[1] : null; + } + + array_push( $new_path, $this->buildNode($cls, $args, $IDL)); + $prev_link = $tp; + } + } + + function pullLabel ( $d, $str, &$out, $tag, $subtag, $val ) { + if ( $d->$tag == $str ) { + $out = $d->$val; + return; + } else { + if ( isset( $d->$subtag ) ) { + if ( $d->$subtag ) { + foreach ( $d->$subtag as $j ) { + $this->pullLabel( $j, $str, $out, $tag, $subtag, $val ); + } + } + } else { + return; + } + } + } + + function service( $cls, $seed) { + return ( object ) [ + "a" => ( $seed ? $seed : ( object )[] ), + "classname" => $cls, + "_isfieldmapper" => true + ]; + } + + function _sort_class_fields( $arr ) { + $out = array(); + if ( isset( $arr[0] ) ) { + array_push( $out, $arr[0] ); + array_shift($arr); + $i = 0; + while ( count($arr) > 0 ) { + $arrLabel = isset( $arr[0]->label ) ? $arr[0]->label : ""; + $arrName = isset( $arr[0]->name ) ? $arr[0]->name : ""; + + //$aname = $arr[0]->label ? $arr[0]->label : $arr[0]->name; + + $bName = isset( $out[$i]->label ) ? $out[$i]->label : ""; + $bLabel = isset( $out[$i]->label ) ? $out[$i]->label : $bName; + $bName = isset( $bLabel ) ? $bLabel : $bName; //$out[$i]->label ? $out[$i]->label : $out[$i]->name; + while ( strcmp( $arrName, $bName) > 0 && $i < count( $arr ) ) { + $i++; + } + array_splice( $out, $i, 0, array( $arr[0] ) ); + array_shift( $arr ); + $i = 0; + } + } + return $out; + } +} +?> diff --git a/models/ver5_formatted.json b/models/ver5_formatted.json new file mode 100644 index 0000000..01fa721 --- /dev/null +++ b/models/ver5_formatted.json @@ -0,0 +1,503 @@ +{ + "version": 5, + "core_class": "acp", + "select": [ + { + "alias": "Barcode", + "column": { + "colname": "barcode", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-barcode", + "relation": "7d74f3b92b19da5e606d737d339a9679" + }, + { + "alias": "TCN Value", + "column": { + "colname": "tcn_value", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-record-bre-tcn_value", + "relation": "640e9f1ba83104cf4de312413f51b877" + }, + { + "alias": "Creation Date/Time", + "column": { + "colname": "create_date", + "transform": "date", + "transform_label": "Date" + }, + "path": "acp-create_date", + "relation": "7d74f3b92b19da5e606d737d339a9679" + }, + { + "alias": "Call Number Label", + "column": { + "colname": "label", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-label", + "relation": "286d7899ae25bee8bdd7dcde49f9e0b7" + }, + { + "alias": "Title Proper (normalized)", + "column": { + "colname": "title", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-record-bre-simple_record-rmsr-title", + "relation": "df8d81aecbe6b10702cbd762ac04cac9" + }, + { + "alias": "Author (normalized)", + "column": { + "colname": "author", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-record-bre-simple_record-rmsr-author", + "relation": "df8d81aecbe6b10702cbd762ac04cac9" + }, + { + "alias": "Shelving Location", + "column": { + "colname": "name", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-location-acpl-name", + "relation": "c17ecc44e3cd2de457e5c9f1e6e0a26f" + }, + { + "alias": "Copy Status", + "column": { + "colname": "name", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-status-ccs-name", + "relation": "9547fadabf916ce4fd3eb232e0902c9c" + }, + { + "alias": "Publication Year (normalized)", + "column": { + "colname": "pubdate", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-record-bre-simple_record-rmsr-pubdate", + "relation": "df8d81aecbe6b10702cbd762ac04cac9" + }, + { + "alias": "Check Out Date/Time", + "column": { + "colname": "xact_start", + "transform": "max", + "transform_label": "Max" + }, + "path": "acp-circulations-circ-xact_start", + "relation": "ddeeaf1839fe1496b309babab563fea7" + }, + { + "alias": "Circulation Modifier", + "column": { + "colname": "circ_modifier", + "transform": "upper", + "transform_label": "Upper case" + }, + "path": "acp-circ_modifier", + "relation": "7d74f3b92b19da5e606d737d339a9679" + }, + { + "alias": "Circ ID", + "column": { + "colname": "id", + "transform": "count_distinct", + "transform_label": "Count Distinct" + }, + "path": "acp-circulations-circ-id", + "relation": "ddeeaf1839fe1496b309babab563fea7" + } + ], + "from": { + "path": "acp-status", + "table": "asset.copy", + "label": "Item", + "alias": "7d74f3b92b19da5e606d737d339a9679", + "idlclass": "acp", + "template_path": "acp", + "join": { + "call_number-7d74f3b92b19da5e606d737d339a9679": { + "key": "id", + "path": "acp-call_number-acn-record", + "table": "asset.call_number", + "label": "Item :: Call Number/Volume", + "alias": "286d7899ae25bee8bdd7dcde49f9e0b7", + "idlclass": "acn", + "template_path": "acp-call_number", + "type": "left", + "join": { + "record-286d7899ae25bee8bdd7dcde49f9e0b7": { + "type": "left", + "key": "id", + "path": "acp-call_number-acn-record-bre", + "table": "biblio.record_entry", + "alias": "640e9f1ba83104cf4de312413f51b877", + "join": { + "id-rmsr-id-7f0e2da56d7bdf7c7434e87c5abaab5c": { + "type": "left", + "key": "id", + "path": "acp-call_number-acn-record-bre-simple_record-rmsr", + "table": "reporter.materialized_simple_record", + "label": "Item -> Call Number/Volume -> Bibliographic Record :: Simple Record Extracts ", + "alias": "df8d81aecbe6b10702cbd762ac04cac9", + "idlclass": "rmsr", + "template_path": "acp-call_number.acn-record.bre-simple_record" + } + }, + "label": "Item -> Call Number/Volume :: Bib Record", + "idlclass": "bre", + "template_path": "acp-call_number.acn-record" + } + } + }, + "id-circ-target_copy-7d74f3b92b19da5e606d737d339a9679": { + "key": "target_copy", + "type": "left", + "path": "acp-circulations-circ", + "table": "action.circulation", + "label": "Item :: Circulations", + "alias": "ddeeaf1839fe1496b309babab563fea7", + "idlclass": "circ", + "template_path": "acp-circulations" + }, + "circ_lib-7d74f3b92b19da5e606d737d339a9679": { + "key": "id", + "path": "acp-circ_lib-aou", + "table": "actor.org_unit", + "label": "Item :: Circulating Library", + "alias": "ab9ff91ac334900edb50f0a5a8e3501f", + "idlclass": "aou", + "template_path": "acp-circ_lib" + }, + "location-7d74f3b92b19da5e606d737d339a9679": { + "key": "id", + "path": "acp-location-acpl", + "table": "asset.copy_location", + "label": "Item :: Shelving Location", + "alias": "c17ecc44e3cd2de457e5c9f1e6e0a26f", + "idlclass": "acpl", + "template_path": "acp-location" + }, + "status-7d74f3b92b19da5e606d737d339a9679": { + "key": "id", + "path": "acp-status-ccs", + "table": "config.copy_status", + "label": "Item :: Copy Status", + "alias": "9547fadabf916ce4fd3eb232e0902c9c", + "idlclass": "ccs", + "template_path": "acp-status" + } + } + }, + "where": [ + { + "alias": "Creation Date/Time", + "column": { + "colname": "create_date", + "transform": "date", + "transform_label": "Date" + }, + "path": "acp-create_date", + "relation": "7d74f3b92b19da5e606d737d339a9679", + "condition": { "<=": "::P0" } + }, + { + "alias": "Is Deleted", + "column": { + "colname": "deleted", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-deleted", + "relation": "7d74f3b92b19da5e606d737d339a9679", + "condition": { "=": "f" } + }, + { + "alias": "Call Number Label", + "column": { + "colname": "label", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-call_number-acn-label", + "relation": "286d7899ae25bee8bdd7dcde49f9e0b7", + "condition": { "between": ["J 000", "J 100"] } + }, + { + "alias": "Organizational Unit ID", + "column": { + "colname": "id", + "transform": "Bare", + "transform_label": "Raw Data" + }, + "path": "acp-circ_lib-aou-id", + "relation": "ab9ff91ac334900edb50f0a5a8e3501f", + "condition": { "in": "::P2" } + } + ], + "having": [ + { + "alias": "Circ ID", + "column": { + "colname": "id", + "transform": "count_distinct", + "transform_label": "Count Distinct" + }, + "path": "acp-circulations-circ-id", + "relation": "ddeeaf1839fe1496b309babab563fea7", + "condition": { "<=": "::P1" } + } + ], + "display_cols": [ + { + "name": "barcode", + "path": null, + "label": "Barcode", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item", + "index": 0 + }, + { + "name": "create_date", + "path": null, + "label": "Creation Date/Time", + "datatype": "timestamp", + "doc_text": null, + "transform": { "label": "Date", "transform": "date", "aggregate": null }, + "path_label": "Item", + "index": 2 + }, + { + "name": "circ_modifier", + "path": null, + "label": "Circulation Modifier", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Upper case", + "transform": "upper", + "aggregate": null + }, + "path_label": "Item", + "index": 10 + }, + { + "name": "label", + "path": null, + "label": "Call Number Label", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Call Number/Volume", + "index": 3 + }, + { + "name": "title", + "path": null, + "label": "Title Proper (normalized)", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Call Number/Volume -> Bibliographic Record -> Simple Record Extracts ", + "index": 4 + }, + { + "name": "author", + "path": null, + "label": "Author (normalized)", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Call Number/Volume -> Bibliographic Record -> Simple Record Extracts ", + "index": 5 + }, + { + "name": "pubdate", + "path": null, + "label": "Publication Year (normalized)", + "datatype": "int", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Call Number/Volume -> Bibliographic Record -> Simple Record Extracts ", + "index": 8 + }, + { + "name": "xact_start", + "path": null, + "label": "Check Out Date/Time", + "datatype": "timestamp", + "doc_text": null, + "transform": { "label": "Max", "transform": "max", "aggregate": true }, + "path_label": "Item -> Circulations", + "index": 9 + }, + { + "name": "id", + "path": null, + "label": "Circ ID", + "datatype": "id", + "doc_text": null, + "transform": { + "label": "Count Distinct", + "transform": "count_distinct", + "aggregate": true + }, + "path_label": "Item -> Circulations", + "index": 11 + }, + { + "name": "name", + "path": null, + "label": "Shelving Location", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Shelving Location", + "index": 6 + }, + { + "name": "tcn_value", + "path": null, + "label": "TCN Value", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Call Number/Volume -> Bib Record", + "index": 1 + }, + { + "name": "name", + "path": null, + "label": "Copy Status", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Copy Status", + "index": 7 + } + ], + "filter_cols": [ + { + "name": "create_date", + "path": null, + "label": "Creation Date/Time", + "datatype": "timestamp", + "doc_text": null, + "transform": { "label": "Date", "transform": "date", "aggregate": null }, + "path_label": "Item", + "index": 0, + "operator": { "op": "<=", "label": "On or Before (Date/Time)" } + }, + { + "name": "deleted", + "path": null, + "label": "Is Deleted", + "datatype": "bool", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item", + "index": 1, + "operator": { "op": "=", "label": "Equals" }, + "value": "f" + }, + { + "name": "label", + "path": null, + "label": "Call Number Label", + "datatype": "text", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": "undefined" + }, + "path_label": "Item -> Call Number/Volume", + "index": 0, + "operator": { "op": "between", "label": "Between" }, + "value": ["J 000", "J 100"] + }, + { + "name": "id", + "path": null, + "label": "Circ ID", + "datatype": "id", + "doc_text": null, + "transform": { + "label": "Count Distinct", + "transform": "count_distinct", + "aggregate": true + }, + "path_label": "Item -> Circulations", + "index": 0, + "operator": { "op": "<=", "label": "Less than or equal to" } + }, + { + "name": "id", + "path": null, + "label": "Organizational Unit ID", + "datatype": "org_unit", + "doc_text": null, + "transform": { + "label": "Raw Data", + "transform": "Bare", + "aggregate": null + }, + "path_label": "Item -> Circulating Library", + "index": 0, + "operator": { "op": "in", "label": "In list" } + } + ] +} diff --git a/perl/execreports/erconfig.pl b/perl/execreports/erconfig.pl old mode 100755 new mode 100644 diff --git a/perl/execreports/erprocess.pl b/perl/execreports/erprocess.pl old mode 100755 new mode 100644 diff --git a/perl/execreports/erqueries.pl b/perl/execreports/erqueries.pl old mode 100755 new mode 100644 diff --git a/tester.20201216.php.bak b/tester.20201216.php.bak new file mode 100644 index 0000000..112387e --- /dev/null +++ b/tester.20201216.php.bak @@ -0,0 +1,266 @@ +select; + // $returnObj->select = $select; + + $where = ( isset( $jsonData->where ) ? $jsonData->where : NULL ); + $having = ( isset( $jsonData->having ) ? $jsonData->having : NULL ); + + // $returnObj->where = $where; + // $returnObj->having = $having; + foreach ( $select as $s ) { + $columnName = $s->column->colname; + $r = $s->relation; + $relCol = $s->column; + $displayAggregate = isset( $relCol->aggregate ) ? $relCol->aggregate : NULL; + $displayTransformLabel = isset ( $relCol->transform_label ) ? $relCol->transform_label : NULL; + + $columnArray = array( + "name" => $s->alias, + "aggregate" => $displayAggregate, + "transformLabel"=>$displayTransformLabel + ); + + $reportColumnsArray[] = (object) $columnArray; + + + $where = $jsonData->where ?? null; + $having = $jsonData->having ?? null; + + if ( isset( $where ) ) { + foreach ( $where as $w ) { + $relation = $w->relation; + $colName = $w->column->colname; + print_r( $colName ); + + $columnLabel = ""; + pullLabel( $jsonData->from, $relation, $columnLabel, "alias", "join", "label"); + } + } + + } + // $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only + $returnObj->reportColumns = (object) $reportColumnsArray; + // $returnObj->userParams = (object) $userParamsArray; + // $returnObj->staticParams = (object) $staticParamsArray; + + return($returnObj); + } + + // function convertXULTemplate ( $template ) { + // $data = ( object )[ + // "version" => 5, + // "core_class" => $template->core_class, + // "select" => $template->select, + // "from" => $template->from, + // "where" => $template->where, + // "having" => $template->having, + // "display_cols" => array(), + // "filter_cols" => array() + // ]; + + // $rels = []; + // $order_by = ""; + + // foreach( $template->rel_cache as $k => $v ) { + // $k == "order_by" ? $order_by = $v : $rels{$k} = $v; //array_push( $rels, $v ); + // } + + // $select = $template->select; + // $sel_order = array(); + // $idx = 0; + // foreach ( $select as $s ) { + // $sel_order[strval($s->relation) . strval($s->column->colname)] = $idx; + // $idx++; + // } + + // $idx = 0; + + // $IDL = json_decode( file_get_contents( 'config/IDL.json' ) ); + + // foreach ( $rels as $r ) { + // if ( is_array($r) || is_object($r) ) { + // $this->buildCols( $r, 'dis_tab', $sel_order, $data->display_cols, $IDL); + // $this->buildCols( $r, 'filter_tab', NULL, $data->filter_cols, $IDL); + // $this->buildCols( $r, 'aggfilter_tab', NULL, $data->filter_cols, $IDL); + // } + + // } + + // return $data; + // } + +// function buildCols( $r, $tt, $sel_order, &$d, $IDL ) { +// $colType = $tt == 'dis_tab' ? 'display_cols' : 'filter_cols'; +// $ci = 0; +// foreach ( $r->fields->{$tt} as $n =>$c ) { +// $orig = $r->fields->{$tt}->$n; +// $col = ( object ) [ +// "name" => $c->colname, +// "path" => $this->convertPath( $orig, $r , $IDL), //needs fixed +// "label" => $orig->alias, +// "datatype" => $c->datatype, +// "doc_text" => $c->field_doc, +// "transform" => ( object ) [ +// "label" => $orig->transform_label, +// "transform" => $orig->transform, +// "aggregate" => !isset( $orig->aggregate ) ? NULL : $orig->aggregate +// ], +// "path_label" => preg_replace( "/\:\:/", "->", $r->label), +// "index" => false +// ]; +// if ( $colType == "filter_cols" ) { +// @$col->operator = [ +// "op" => $orig->op, +// "label" => $orig->op_label +// ]; +// @$col->index = $ci++; +// isset( $orig->op_value->value ) ? @$col->value = $orig->op_value->value : FALSE; +// } else { +// isset( $sel_order[$r->alias . $orig->colname] ) ? @$col->index = $sel_order[$r->alias . $orig->colname] : @$col->index = false; +// } +// array_push( $d, $col ); +// } +// } + +// function buildNode( $cls, $args, $IDL ) { +// if ( !isset( $cls ) || !isset( $args ) ) { +// return null; +// } else { +// $n = isset( $IDL->{ $cls } ) ? $IDL->{ $cls } : null; +// } + +// if ( !$n ) { +// return null; +// } else { +// if ( !$args ) { +// $args = ( object ) [ +// "label" => $n->label +// ]; +// } +// $args->id = $cls; +// if ( isset( $args->from ) ) { +// $args->id = $args->from . "." . $args->id; +// } +// $links = array(); +// foreach( $n->fields as $x ) { +// if ( isset( $x->type ) ) { +// $x->type == "link" ? array_push( $links, $x ) : false; +// } +// } + +// $args->idl = $this->service($cls, null); +// $args->uplink = isset( $args->link ) ? $args->link : null; +// $args->classname = $cls; +// $args->struct = $n; +// $args->table = isset( $n->table ) ? $n->table : null; +// $args->fields = $this->_sort_class_fields($n->fields); +// $args->links = $this->_sort_class_fields($links); +// $args->children = []; + +// $args = json_encode( $args ); + +// return $args; +// } +// } + +// function convertPath( $orig, $rel, $IDL ) { +// $new_path = []; +// $table_path = preg_split( "/\./", $rel->path ); +// if ( count( $table_path ) > 1 || strpos( $rel->path, "-" ) ) { +// array_push( $table_path, $rel->idlclass ); +// } +// $prev_type= ""; +// $prev_link = ""; + +// foreach( $table_path as $tp ) { +// $cl_split = preg_split( "/-/", $tp); +// $cls = $cl_split[0]; +// $fld = isset( $cl_split[1] ) ? $cl_split[1] : null; +// $args = ( object )[ +// "label" => isset( $IDL->{$cls}->label ) ? $IDL->{$cls}->label : null +// ]; + +// if( $prev_link != "" ) { +// $link_parts = preg_split( "/-/", $prev_link ); +// $args->from = $link_parts[0]; +// $join_parts = preg_split( "/>/", $link_parts[1]); +// $prev_col = $join_parts[0]; +// foreach( $IDL->{$link_parts[0]}->fields as $f ) { +// if ( $prev_col == $f->name ) { +// $args->link = $f; +// } +// } +// $args->jtype = isset( $join_parts[1] ) ? $join_parts[1] : null; +// } + +// array_push( $new_path, $this->buildNode($cls, $args, $IDL)); +// $prev_link = $tp; +// } +// } + + function pullLabel ( $d, $str, &$out, $tag, $subtag, $val ) { + if ( $d->$tag == $str ) { + $out = $d->$val; + return; + } else { + if ( isset( $d->$subtag ) ) { + if ( $d->$subtag ) { + foreach ( $d->$subtag as $j ) { + pullLabel( $j, $str, $out, $tag, $subtag, $val ); + } + } + } else { + return; + } + } + } + +// function service( $cls, $seed) { +// return ( object ) [ +// "a" => ( $seed ? $seed : ( object )[] ), +// "classname" => $cls, +// "_isfieldmapper" => true +// ]; +// } + +// function _sort_class_fields( $arr ) { +// $out = array(); +// if ( isset( $arr[0] ) ) { +// array_push( $out, $arr[0] ); +// array_shift($arr); +// $i = 0; +// while ( count($arr) > 0 ) { +// $arrLabel = isset( $arr[0]->label ) ? $arr[0]->label : ""; +// $arrName = isset( $arr[0]->name ) ? $arr[0]->name : ""; + +// //$aname = $arr[0]->label ? $arr[0]->label : $arr[0]->name; + +// $bName = isset( $out[$i]->label ) ? $out[$i]->label : ""; +// $bLabel = isset( $out[$i]->label ) ? $out[$i]->label : $bName; +// $bName = isset( $bLabel ) ? $bLabel : $bName; //$out[$i]->label ? $out[$i]->label : $out[$i]->name; +// while ( strcmp( $arrName, $bName) > 0 && $i < count( $arr ) ) { +// $i++; +// } +// array_splice( $out, $i, 0, array( $arr[0] ) ); +// array_shift( $arr ); +// $i = 0; +// } +// } +// return $out; +// } +// } +?> diff --git a/tester.php b/tester.php new file mode 100644 index 0000000..6155426 --- /dev/null +++ b/tester.php @@ -0,0 +1,133 @@ +select; + $where = ( isset( $jsonData->where ) ? $jsonData->where : NULL ); + $having = ( isset( $jsonData->having ) ? $jsonData->having : NULL ); + + foreach ( $select as $s ) { + $columnName = $s->column->colname; + $r = $s->relation; + $relCol = $s->column; + $displayAggregate = isset( $relCol->aggregate ) ? $relCol->aggregate : NULL; + $displayTransformLabel = isset ( $relCol->transform_label ) ? $relCol->transform_label : NULL; + + $columnArray = array( + "name" => $s->alias, + "aggregate" => $displayAggregate, + "transformLabel"=>$displayTransformLabel + ); + + $reportColumnsArray[] = (object) $columnArray; + } + + foreach( array( $where, $having ) as $clause ) { + if ( isset( $clause ) ) { + foreach ( $clause as $cl ) { + $paramsArray = returnClause( $cl, $jsonData ); + if ( substr( $paramsArray->param, 0, 3) == "::P" ) { + $userParamsArray[] = (object) $paramsArray; + } else { + $staticParamsArray[] = (object) $paramsArray; + } + } + } + } + + $returnObj->docURL = isset($jsonData->doc_url) ? $jsonData->doc_url : NULL; //version 4 templates only + $returnObj->reportColumns = (object) $reportColumnsArray; + $returnObj->userParams = (object) $userParamsArray; + $returnObj->staticParams = (object) $staticParamsArray; + + print_r( $returnObj ); + + return($returnObj); + } + + function pullLabel ( $d, $str, &$out, $tag, $subtag, $val ) { + if ( $d->$tag == $str ) { + $out = $d->$val; + return; + } else { + if ( isset( $d->$subtag ) ) { + if ( $d->$subtag ) { + foreach ( $d->$subtag as $j ) { + pullLabel( $j, $str, $out, $tag, $subtag, $val ); + } + } + } else { + return; + } + } + } + + function returnClause( $cl, $jsonData ) { + $relation = isset( $cl->relation ) ? $cl->relation : null; + $colName = isset( $cl->column->colname ) ? $cl->column->colname : null; + + $columnLabel = ""; + pullLabel( $jsonData->from, $relation, $columnLabel, "alias", "join", "label" ); + $columnLabel = str_replace( '::', '->', $columnLabel); + + $transform = isset( $cl->column->transform ) ? $cl->column->transform : null; + $transformLabel = isset( $cl->column->transform_label ) ? $cl->column->transform_label : ""; + + $dataType = ""; + $op = ""; + $opLabel = ""; + $fieldDoc = ""; + $aggregate = ""; + + foreach ( $jsonData->filter_cols as $fc ) { + if ( $fc->name === $colName ) { + $dataType = $fc->datatype; + $op = $fc->operator->op; + $opLabel = $fc->operator->label; + isset( $fc->doc_text ) ? $fieldDoc = $fc->doc_text : false; + if ( isset( $fc->transform->aggregate ) ) { + if ( $fc->transform->aggregate != "undefined" ) { + $aggregate = $fc->transform->aggregate; + } + } + break; + } + } + + $tableName = ""; + pullLabel( $jsonData->from, $relation, $tableName, "alias", "join", "table" ); + $P = isset( $cl->condition ) ? $cl->condition : null; + + if ( isset( $P ) ) { + list( $key, $opValue ) = each( $P ); //get the first (and only) value + } + + if ( isset( $opValue ) ) { + if ( is_array( $opValue ) ) $opValue = implode( ',', $opValue ); //if array convert it back to a string + } else { + $opValue = ""; + } + + return array( + 'column' => $columnLabel + ,'transform' => $transform + ,'transformLabel' => $transformLabel + ,'op' => $op + ,'opLabel' => $opLabel + ,'param'=> $opValue + ,'fieldDoc' => $fieldDoc + ,'aggregate' => $aggregate + ,'dataType' => $dataType + ,'table' => $tableName + ); + } +?> diff --git a/update-installed.sh b/update-installed.sh new file mode 100755 index 0000000..ac85baf --- /dev/null +++ b/update-installed.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +REPO_NAME="report-creator" +BRICK_HEADS="brick02-head brick03-head brick04-head brick05-head brick06-head" +OSRF_WEB_ROOT="/openils/var/web" +GIT_LOCATION="/home/opensrf/$REPO_NAME" +PROD_BACKUP="/home/opensrf/report-creator-prod-backup" + +# back up what's already installed +if [ ! -d "$PROD_BACKUP" ]; then + echo "Production backup directory $PROD_BACKUP not found, creating it..." + mkdir "$PROD_BACKUP" +fi +rsync -auv "$OSRF_WEB_ROOT"/"$REPO_NAME"/ "$PROD_BACKUP"/ +date > "$PROD_BACKUP"/last_sync_date + +# quick sed to change the prod URL in a config file +sed -i 's/next.gapines.org/gapines.org/' $GIT_LOCATION/config/production.config.php + +# now copy the git files over to the web dir +rsync -auv --exclude="install*.sh" --exclude=".git" "$GIT_LOCATION"/ "$OSRF_WEB_ROOT"/"$REPO_NAME"/ + +# and now do the rest of the bricks +for i in $BRICK_HEADS; do + rsync -auvz --exclude="install*.sh" --exclude=".git" "$OSRF_WEB_ROOT"/"$REPO_NAME"/ "$i":"$OSRF_WEB_ROOT"/"$REPO_NAME"/ +done diff --git a/ver5.json b/ver5.json new file mode 100644 index 0000000..db96040 --- /dev/null +++ b/ver5.json @@ -0,0 +1,809 @@ +{ + "version": 5, + "core_class": "ahr", + "select": [ + { + "alias": "Hold ID", + "path": "ahr-id", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "id", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Request Date/Time", + "path": "ahr-request_time", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "request_time", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Target Object ID", + "path": "ahr-target", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "target", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Currently Frozen", + "path": "ahr-frozen", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "frozen", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Pickup Lib", + "path": "aou-shortname", + "field_doc": "", + "relation": "413df8472eb3495de6137209d94c2539", + "column": { + "colname": "shortname", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Request Lib", + "path": "aou-shortname", + "field_doc": "", + "relation": "462716f66fc7b046f1eb8a64b9beff2b", + "column": { + "colname": "shortname", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "Hold User", + "path": "au-id", + "field_doc": "", + "relation": "0d692e82dd1cfc230f6c9d0b5f9c76ee", + "column": { + "colname": "id", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + }, + { + "alias": "User Placed the Hold", + "path": "au-id", + "field_doc": "", + "relation": "21dac70a3544f1b89d90c251302902ad", + "column": { + "colname": "id", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": false + } + } + ], + "from": { + "alias": "3b0d7d05c65006de7b2ca20f5fe39690", + "path": "ahr-ahr", + "table": "action.hold_request", + "idlclass": "ahr", + "label": "Hold Request", + "join": { + "pickup_lib-a83aec92287ef2eed487e52c74b46f81": { + "type": "inner", + "key": "id", + "alias": "413df8472eb3495de6137209d94c2539", + "path": "ahr-pickup_lib", + "table": "actor.org_unit", + "idlclass": "aou", + "label": "Hold Request -> Pickup Library" + }, + "request_lib-1c6ab274a890bb96a1991321619cfea5": { + "type": "inner", + "key": "id", + "alias": "462716f66fc7b046f1eb8a64b9beff2b", + "path": "ahr-request_lib", + "table": "actor.org_unit", + "idlclass": "aou", + "label": "Hold Request -> Requesting Library" + }, + "usr-4e09cff1d200f1b2657c55ddd4fdf2ee": { + "type": "inner", + "key": "id", + "alias": "0d692e82dd1cfc230f6c9d0b5f9c76ee", + "path": "ahr-usr", + "table": "actor.usr", + "idlclass": "au", + "label": "Hold Request -> Hold User" + }, + "requestor-ec37b94ce77dcc7440f642f250a33297": { + "type": "inner", + "key": "id", + "alias": "21dac70a3544f1b89d90c251302902ad", + "path": "ahr-requestor", + "table": "actor.usr", + "idlclass": "au", + "label": "Hold Request -> Requesting User" + } + } + }, + "where": [ + { + "alias": "Fulfillment Date/Time", + "path": "ahr-fulfillment_time", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "fulfillment_time", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": 0 + }, + "condition": { "is": null } + }, + { + "alias": "Hold Cancel Date/Time", + "path": "ahr-cancel_time", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "cancel_time", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": 0 + }, + "condition": { "is": null } + }, + { + "alias": "Hold Type", + "path": "ahr-hold_type", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "hold_type", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": 0 + }, + "condition": { "=": "T" } + }, + { + "alias": "Capture Date/Time", + "path": "ahr-capture_time", + "field_doc": "", + "relation": "3b0d7d05c65006de7b2ca20f5fe39690", + "column": { + "colname": "capture_time", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": 0 + }, + "condition": { "is": null } + }, + { + "alias": "Organizational Unit ID", + "path": "aou-id", + "field_doc": "", + "relation": "462716f66fc7b046f1eb8a64b9beff2b", + "column": { + "colname": "id", + "transform": "Bare", + "transform_label": "Raw Data", + "aggregate": 0 + }, + "condition": { "in": "::P0" } + } + ], + "having": [], + "display_cols": [ + { + "name": "id", + "label": "Hold ID", + "datatype": "id", + "index": 0, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "request_time", + "label": "Request Date/Time", + "datatype": "timestamp", + "index": 1, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "target", + "label": "Target Object ID", + "datatype": "link", + "index": 2, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "frozen", + "label": "Currently Frozen", + "datatype": "bool", + "index": 3, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "shortname", + "label": "Pickup Lib", + "required": true, + "datatype": "text", + "index": 4, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + }, + { + "label": "Pickup Library", + "from": "ahr", + "link": { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "id": "ahr.aou", + "uplink": { + "name": "pickup_lib", + "label": "Pickup Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "classname": "aou", + "struct": { + "name": "aou", + "label": "Organizational Unit", + "table": "actor.org_unit", + "pkey": "id", + "pkey_sequence": "actor.org_unit_id_seq", + "core_label": "Non-core sources", + "classname": "aou" + }, + "table": "actor.org_unit" + } + ], + "path_label": "Hold Request -> Pickup Library", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "shortname", + "label": "Request Lib", + "required": true, + "datatype": "text", + "index": 5, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + }, + { + "label": "Requesting Library", + "from": "ahr", + "link": { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "id": "ahr.aou", + "uplink": { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "classname": "aou", + "struct": { + "name": "aou", + "label": "Organizational Unit", + "table": "actor.org_unit", + "pkey": "id", + "pkey_sequence": "actor.org_unit_id_seq", + "core_label": "Non-core sources", + "classname": "aou" + }, + "table": "actor.org_unit" + } + ], + "path_label": "Hold Request -> Requesting Library", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "id", + "label": "Hold User", + "selector": "usrname", + "datatype": "id", + "index": 6, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + }, + { + "label": "Hold User", + "from": "ahr", + "link": { + "name": "usr", + "label": "Hold User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + "id": "ahr.au", + "uplink": { + "name": "usr", + "label": "Hold User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + "classname": "au", + "struct": { + "name": "au", + "label": "ILS User", + "table": "actor.usr", + "core": true, + "pkey": "id", + "pkey_sequence": "actor.usr_id_seq", + "core_label": "Core sources", + "classname": "au" + }, + "table": "actor.usr" + } + ], + "path_label": "Hold Request -> Hold User", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "id", + "label": "User Placed the Hold", + "selector": "usrname", + "datatype": "id", + "index": 7, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + }, + { + "label": "Requesting User", + "from": "ahr", + "link": { + "name": "requestor", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + "id": "ahr.au", + "uplink": { + "name": "requestor", + "label": "Requesting User", + "type": "link", + "key": "id", + "class": "au", + "reltype": "has_a", + "datatype": "link" + }, + "classname": "au", + "struct": { + "name": "au", + "label": "ILS User", + "table": "actor.usr", + "core": true, + "pkey": "id", + "pkey_sequence": "actor.usr_id_seq", + "core_label": "Core sources", + "classname": "au" + }, + "table": "actor.usr" + } + ], + "path_label": "Hold Request -> Requesting User", + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + } + ], + "filter_cols": [ + { + "name": "fulfillment_time", + "label": "Fulfillment Date/Time", + "datatype": "timestamp", + "index": 0, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "operator": { "label": "Is NULL", "op": "is" }, + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "cancel_time", + "label": "Hold Cancel Date/Time", + "datatype": "timestamp", + "index": 1, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "operator": { "label": "Is NULL", "op": "is" }, + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "hold_type", + "label": "Hold Type", + "type": "link", + "key": "hold_type", + "class": "cht", + "reltype": "has_a", + "datatype": "text", + "index": 2, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "operator": { "op": "=", "label": "Equals" }, + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "", + "value": "T" + }, + { + "name": "capture_time", + "label": "Capture Date/Time", + "datatype": "timestamp", + "index": 3, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + } + ], + "path_label": "Hold Request", + "operator": { "label": "Is NULL", "op": "is" }, + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + }, + { + "name": "id", + "label": "Organizational Unit ID", + "selector": "shortname", + "datatype": "org_unit", + "index": 4, + "path": [ + { + "label": "Hold Request", + "id": "ahr", + "classname": "ahr", + "struct": { + "name": "ahr", + "label": "Hold Request", + "table": "action.hold_request", + "core": true, + "pkey": "id", + "pkey_sequence": "action.hold_request_id_seq", + "core_label": "Core sources", + "classname": "ahr" + }, + "table": "action.hold_request" + }, + { + "label": "Requesting Library", + "from": "ahr", + "link": { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "id": "ahr.aou", + "uplink": { + "name": "request_lib", + "label": "Requesting Library", + "type": "link", + "key": "id", + "class": "aou", + "reltype": "has_a", + "datatype": "org_unit" + }, + "classname": "aou", + "struct": { + "name": "aou", + "label": "Organizational Unit", + "table": "actor.org_unit", + "pkey": "id", + "pkey_sequence": "actor.org_unit_id_seq", + "core_label": "Non-core sources", + "classname": "aou" + }, + "table": "actor.org_unit" + } + ], + "path_label": "Hold Request -> Requesting Library", + "operator": { "label": "In list", "op": "in" }, + "transform": { + "transform": "Bare", + "label": "Raw Data", + "aggregate": false + }, + "doc_text": "" + } + ] +} diff --git a/views/baseReport.view.php b/views/baseReport.view.php index d4753ab..d9acbe3 100644 --- a/views/baseReport.view.php +++ b/views/baseReport.view.php @@ -18,15 +18,21 @@ class baseReportView { case 2: $spaces = '    '; break; default: $spaces = ' '; break; } - if ((isset($this->defaultValues->paramsDecoded->$name) && in_array($values->id, $this->defaultValues->paramsDecoded->$name)) + + $valueCount = false; + $selected = ""; + if ( isset( $this->defaultValues ) && isset ( $values ) ){ + if ((isset($this->defaultValues->paramsDecoded->$name) && in_array($values->id, $this->defaultValues->paramsDecoded->$name)) || (count($this->defaultValues)==0 && $values->id==$_SESSION['homeOU'])) { $selected = ' selected '; $selectedValues .= $values->shortname.'  
'; - if (NULL == $firstSelected) $firstSelected = $index; + if (NULL == $firstSelected) $firstSelected = $index; } - else { - $selected = ''; - } + else { + $selected = ""; + } + } + $select .= ''; $index++; } diff --git a/views/report.view.php b/views/report.view.php index abec704..d1eacab 100644 --- a/views/report.view.php +++ b/views/report.view.php @@ -305,7 +305,7 @@ class reportView extends baseReportView { return submitReport(saveType); } - var columnNames= + var columnNames= Created by usrname)==''?'id# '.$template->owner:$template->usrname, ' on ', date('m/d/Y \a\t h:i:s A', strtotime($template->create_time)); ?> Name: Description: - Documentation URL: + Documentation URL:"> Type:createSimpleSelectFromObject($typeListData, 'typeList', $typeListSelected); ?> Group:createSimpleSelectFromObject($groupListData, 'groupList', $groupListSelected); ?> Active: diff --git a/views/terran_equal_in_list.json b/views/terran_equal_in_list.json new file mode 100644 index 0000000..7ed126c --- /dev/null +++ b/views/terran_equal_in_list.json @@ -0,0 +1 @@ +{"version":5,"core_class":"combcirc","select":[{"alias":"Home Library","path":"aou-shortname","field_doc":"","relation":"84577380bb6510842561b7f81382af5b","column":{"colname":"shortname","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"School","path":"au-guardian","field_doc":"","relation":"6811e1745e0c3f5d8a9832a43993b722","column":{"colname":"guardian","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Grade","path":"au-name_keywords","field_doc":"","relation":"6811e1745e0c3f5d8a9832a43993b722","column":{"colname":"name_keywords","transform":"Bare","transform_label":"Raw Data","aggregate":false}},{"alias":"Count of Circulations","path":"combcirc-id","field_doc":"","relation":"a28abd4e77ad39f3bff5d8d720b02230","column":{"colname":"id","transform":"count","transform_label":"Count","aggregate":true}}],"from":{"alias":"a28abd4e77ad39f3bff5d8d720b02230","path":"combcirc-combcirc","table":"action.all_circulation","idlclass":"combcirc","join":{"usr_home_ou-812c537716bbeffc37e22c7f0bc829dd":{"type":"inner","key":"id","alias":"84577380bb6510842561b7f81382af5b","path":"combcirc-usr_home_ou","table":"actor.org_unit","idlclass":"aou","label":"Combined Aged and Active Circulations -> Patron Home Library"},"usr-8cee82ea4c86f6887c478253de5f1525":{"type":"inner","key":"id","alias":"6811e1745e0c3f5d8a9832a43993b722","path":"combcirc-usr","table":"actor.usr","idlclass":"au","label":"Combined Aged and Active Circulations -> Patron"},"usr_profile-0b448630158e25fe461a4dab76ed7cb4":{"type":"inner","key":"id","alias":"fbb47dba4979508d40938a2bdde82c77","path":"combcirc-usr_profile","table":"permission.grp_tree","idlclass":"pgt","label":"Combined Aged and Active Circulations -> Patron Profile Group"}},"label":"Combined Aged and Active Circulations"},"where":[{"alias":"Checkout Date/Time","path":"combcirc-xact_start","field_doc":"","relation":"a28abd4e77ad39f3bff5d8d720b02230","column":{"colname":"xact_start","transform":"date","transform_label":"Date","aggregate":0},"condition":{"between":"::P0"}},{"alias":"Group ID","path":"pgt-id","field_doc":"","relation":"fbb47dba4979508d40938a2bdde82c77","column":{"colname":"id","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"=":"61"}},{"alias":"Organizational Unit ID","path":"aou-id","field_doc":"","relation":"84577380bb6510842561b7f81382af5b","column":{"colname":"id","transform":"Bare","transform_label":"Raw Data","aggregate":0},"condition":{"in":"::P1"}}],"having":[],"display_cols":[{"name":"shortname","label":"Home Library","required":true,"datatype":"text","index":0,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"},{"label":"Patron Home Library","from":"combcirc","link":{"name":"usr_home_ou","label":"Patron Home Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"link"},"id":"combcirc.aou","uplink":{"name":"usr_home_ou","label":"Patron Home Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"link"},"classname":"aou","struct":{"name":"aou","label":"Organizational Unit","table":"actor.org_unit","pkey":"id","pkey_sequence":"actor.org_unit_id_seq","core_label":"Non-core sources","classname":"aou"},"table":"actor.org_unit"}],"path_label":"Combined Aged and Active Circulations -> Patron Home Library","transform":{"label":"Raw Data","transform":"Bare","aggregate":false},"doc_text":""},{"name":"guardian","label":"School","datatype":"text","index":1,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"},{"label":"Patron","from":"combcirc","link":{"name":"usr","label":"Patron","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"id":"combcirc.au","uplink":{"name":"usr","label":"Patron","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"classname":"au","struct":{"name":"au","label":"ILS User","table":"actor.usr","core":true,"pkey":"id","pkey_sequence":"actor.usr_id_seq","core_label":"Core sources","classname":"au"},"table":"actor.usr"}],"path_label":"Combined Aged and Active Circulations -> Patron","transform":{"label":"Raw Data","transform":"Bare","aggregate":false},"doc_text":""},{"name":"name_keywords","label":"Grade","datatype":"text","index":2,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"},{"label":"Patron","from":"combcirc","link":{"name":"usr","label":"Patron","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"id":"combcirc.au","uplink":{"name":"usr","label":"Patron","type":"link","key":"id","class":"au","reltype":"has_a","datatype":"link"},"classname":"au","struct":{"name":"au","label":"ILS User","table":"actor.usr","core":true,"pkey":"id","pkey_sequence":"actor.usr_id_seq","core_label":"Core sources","classname":"au"},"table":"actor.usr"}],"path_label":"Combined Aged and Active Circulations -> Patron","transform":{"label":"Raw Data","transform":"Bare","aggregate":false},"doc_text":""},{"name":"id","label":"Count of Circulations","datatype":"id","index":3,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"}],"path_label":"Combined Aged and Active Circulations","transform":{"label":"Count","transform":"count","aggregate":true},"doc_text":""}],"filter_cols":[{"name":"xact_start","label":"Checkout Date/Time","datatype":"timestamp","index":0,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"}],"path_label":"Combined Aged and Active Circulations","operator":{"label":"Between","op":"between"},"transform":{"transform":"date","label":"Date","aggregate":false},"doc_text":""},{"name":"id","label":"Group ID","selector":"name","datatype":"id","index":1,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"},{"label":"Patron Profile Group","from":"combcirc","link":{"name":"usr_profile","label":"Patron Profile Group","type":"link","key":"id","class":"pgt","reltype":"has_a","datatype":"link"},"id":"combcirc.pgt","uplink":{"name":"usr_profile","label":"Patron Profile Group","type":"link","key":"id","class":"pgt","reltype":"has_a","datatype":"link"},"classname":"pgt","struct":{"name":"pgt","label":"Permission Group","table":"permission.grp_tree","pkey":"id","pkey_sequence":"permission.grp_tree_id_seq","core_label":"Non-core sources","classname":"pgt"},"table":"permission.grp_tree"}],"path_label":"Combined Aged and Active Circulations -> Patron Profile Group","operator":{"op":"=","label":"Equals"},"transform":{"label":"Raw Data","transform":"Bare","aggregate":false},"doc_text":"","value":"61"},{"name":"id","label":"Organizational Unit ID","selector":"shortname","datatype":"org_unit","index":2,"path":[{"label":"Combined Aged and Active Circulations","id":"combcirc","classname":"combcirc","struct":{"name":"combcirc","label":"Combined Aged and Active Circulations","table":"action.all_circulation","core":true,"pkey":"id","pkey_sequence":"money.billable_xact_id_seq","core_label":"Core sources","classname":"combcirc"},"table":"action.all_circulation"},{"label":"Patron Home Library","from":"combcirc","link":{"name":"usr_home_ou","label":"Patron Home Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"link"},"id":"combcirc.aou","uplink":{"name":"usr_home_ou","label":"Patron Home Library","type":"link","key":"id","class":"aou","reltype":"has_a","datatype":"link"},"classname":"aou","struct":{"name":"aou","label":"Organizational Unit","table":"actor.org_unit","pkey":"id","pkey_sequence":"actor.org_unit_id_seq","core_label":"Non-core sources","classname":"aou"},"table":"actor.org_unit"}],"path_label":"Combined Aged and Active Circulations -> Patron Home Library","operator":{"label":"In list","op":"in"},"transform":{"label":"Raw Data","transform":"Bare","aggregate":false},"doc_text":""}]} diff --git a/views/terran_saved_list.json b/views/terran_saved_list.json new file mode 100644 index 0000000..d14cfa3 --- /dev/null +++ b/views/terran_saved_list.json @@ -0,0 +1 @@ +{"docURL":null,"reportColumns":{"0":{"name":"Home Library","aggregate":false,"transformLabel":"Raw Data"},"1":{"name":"School","aggregate":false,"transformLabel":"Raw Data"},"2":{"name":"Grade","aggregate":false,"transformLabel":"Raw Data"},"3":{"name":"Count of Circulations","aggregate":true,"transformLabel":"Count"}},"userParams":{"0":{"column":"Combined Aged and Active Circulations","transform":"date","transformLabel":"Date","op":"between","opLabel":"Between","param":"::P0","fieldDoc":"","aggregate":false,"dataType":"timestamp","table":"action.all_circulation","paramType":"user"},"1":{"column":"Combined Aged and Active Circulations -> Patron Home Library","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"::P1","fieldDoc":"","aggregate":false,"dataType":"id","table":"actor.org_unit","paramType":"user"}},"staticParams":{"0":{"column":"Combined Aged and Active Circulations -> Patron Profile Group","transform":"Bare","transformLabel":"Raw Data","op":"=","opLabel":"Equals","param":"61","fieldDoc":"","aggregate":false,"dataType":"id","table":"permission.grp_tree","paramType":"static"}}} \ No newline at end of file -- 2.11.0