c1065823f3620abc933da4088c944e100576c260
[working/Evergreen.git] / Open-ILS / examples / fm_IDL.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!--
3
4 Copyright (C) 2006-2008 Georgia Public Library Service
5 Copyright (C) 2008 Equinox Software, Inc
6 Author: Mike Rylander <miker@esilibrary.com>
7
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
21
22 -->
23
24 <IDL xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:idl="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
25
26         <!-- Virtual classes -->
27         <class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true" reporter:label="User Payment Summary">
28                 <fields>
29                         <field name="usr" oils_persist:virtual="true" />
30                         <field name="forgive_payment" oils_persist:virtual="true" />
31                         <field name="work_payment" oils_persist:virtual="true" />
32                         <field name="credit_payment" oils_persist:virtual="true" />
33                         <field name="goods_payment" oils_persist:virtual="true" />
34                 </fields>
35                 <links>
36                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
37                 </links>
38         </class>
39
40         <class id="mwps" controller="open-ils.cstore" oils_obj:fieldmapper="money::workstation_payment_summary" oils_persist:virtual="true" reporter:label="Workstation Payment Summary">
41                 <fields>
42                         <field name="workstation" oils_persist:virtual="true" />
43                         <field name="cash_payment" oils_persist:virtual="true" />
44                         <field name="check_payment" oils_persist:virtual="true" />
45                         <field name="credit_card_payment" oils_persist:virtual="true" />
46                 </fields>
47                 <links>
48                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
49                 </links>
50         </class>
51
52         <class id="brn" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_node" oils_persist:virtual="true" reporter:label="Record Node">
53                 <fields>
54                         <field name="id" oils_persist:virtual="true" />
55                         <field name="children" oils_persist:virtual="true" />
56                         <field name="owner_doc" oils_persist:virtual="true" />
57                         <field name="intra_doc_id" oils_persist:virtual="true" />
58                         <field name="parent_node" oils_persist:virtual="true" />
59                         <field name="node_type" oils_persist:virtual="true" />
60                         <field name="namespace_uri" oils_persist:virtual="true" />
61                         <field name="name" oils_persist:virtual="true" />
62                         <field name="value" oils_persist:virtual="true" />
63                 </fields>
64         </class>
65
66         <class id="mvr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::virtual_record" oils_persist:virtual="true" reporter:label="Virtual Record">
67                 <fields>
68                         <field name="title" oils_persist:virtual="true" />
69                         <field name="author" oils_persist:virtual="true" />
70                         <field name="doc_id" oils_persist:virtual="true" />
71                         <field name="doc_type" oils_persist:virtual="true" />
72                         <field name="pubdate" oils_persist:virtual="true" />
73                         <field name="isbn" oils_persist:virtual="true" />
74                         <field name="publisher" oils_persist:virtual="true" />
75                         <field name="tcn" oils_persist:virtual="true" />
76                         <field name="subject" oils_persist:virtual="true" />
77                         <field name="types_of_resource" oils_persist:virtual="true" />
78                         <field name="call_numbers" oils_persist:virtual="true" />
79                         <field name="edition" oils_persist:virtual="true" />
80                         <field name="online_loc" oils_persist:virtual="true" />
81                         <field name="synopsis" oils_persist:virtual="true" />
82                         <field name="physical_description" oils_persist:virtual="true" />
83                         <field name="toc" oils_persist:virtual="true" />
84                         <field name="copy_count" oils_persist:virtual="true" />
85                         <field name="series" oils_persist:virtual="true" />
86                         <field name="serials" oils_persist:virtual="true" />
87                 </fields>
88         </class>
89
90         <class id="ex" controller="open-ils.cstore" oils_obj:fieldmapper="ex" oils_persist:virtual="true">
91                 <fields>
92                         <field name="err_msg" oils_persist:virtual="true" />
93                         <field name="type" oils_persist:virtual="true" />
94                 </fields>
95         </class>
96
97         <class id="perm_ex" controller="open-ils.cstore" oils_obj:fieldmapper="perm_ex" oils_persist:virtual="true">
98                 <fields>
99                         <field name="err_msg" oils_persist:virtual="true" />
100                         <field name="type" oils_persist:virtual="true" />
101                 </fields>
102         </class>
103
104         <class id="amtr" controller="open-ils.cstore" oils_obj:fieldmapper="action::matrix_test_result" oils_persist:virtual="true" reporter:label="Matrix Test Result">
105                 <fields oils_persist:primary="matchpoint">
106                         <field reporter:label="Matchpoint ID" name="matchpoint" reporter:datatype="id"/>
107                         <field reporter:label="Success" name="success" reporter:datatype="bool"/>
108                         <field reporter:label="Failure Part" name="fail_part" reporter:datatype="text"/>
109                 </fields>
110                 <links>
111                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
112                 </links>
113         </class>
114
115         <class id="accs" controller="open-ils.cstore" oils_obj:fieldmapper="action::circ_chain_summary" oils_persist:virtual="true" reporter:label="Circulation Chain Summary">
116         <!-- when the time is right, turn me into a view.  -->
117                 <fields>
118             <field reporter:label="Total Circs" name="num_circs" datatype="int"/>
119             <field reporter:label="Start Time" name="start_time" datatype="timestamp"/>
120             <field reporter:label="Checkout Workstation" name="checkout_workstation" datatype="text"/>
121             <field reporter:label="Last Renewal Time" name="last_renewal_time" datatype="timestamp"/>
122             <field reporter:label="Last Stop Fines" name="last_stop_fines" datatype="text"/>
123             <field reporter:label="Last Stop Fines Time" name="last_stop_fines_time" datatype="timestamp"/>
124             <field reporter:label="Last Renewal Workstation" name="last_renewal_workstation" datatype="text"/>
125             <field reporter:label="Last Checkin Workstation" name="last_checkin_workstation" datatype="text"/>
126             <field reporter:label="Last Checkin Time" name="last_checkin_time" datatype="timestamp"/>
127             <field reporter:label="Last Checkin Scan Time" name="last_checkin_scan_time" datatype="timestamp"/>
128                 </fields>
129         </class>
130
131
132         <!-- Actually in the DB -->
133         <class id="vmp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::merge_profile" oils_persist:tablename="vandelay.merge_profile" reporter:label="Bib Import Merge Profile">
134                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.merge_profile_id_seq">
135                         <field reporter:label="Field ID" name="id" reporter:selector="name" reporter:datatype="id"/>
136                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
137                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
138                         <field reporter:label="Add Specification" name="add_spec" reporter:datatype="text"/>
139                         <field reporter:label="Replace Specification" name="replace_spec" reporter:datatype="text"/>
140                         <field reporter:label="Remove Specification" name="strip_spec" reporter:datatype="text"/>
141                         <field reporter:label="Preserve Specification" name="preserve_spec" reporter:datatype="text"/>
142                 </fields>
143                 <links>
144                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
145                 </links>
146                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
147                         <actions>
148                                 <create permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE" context_field="owner"/>
149                                 <retrieve permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE UPDATE_MERGE_PROFILE DELETE_MERGE_PROFILE VIEW_MERGE_PROFILE" context_field="owner"/>
150                                 <update permission="ADMIN_MERGE_PROFILE UPDATE_MERGE_PROFILE" context_field="owner"/>
151                                 <delete permission="ADMIN_MERGE_PROFILE DELETE_MERGE_PROFILE" context_field="owner"/>
152                         </actions>
153                 </permacrud>
154         </class>
155
156         <class id="vibtf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_bib_trash_fields" oils_persist:tablename="vandelay.import_bib_trash_fields" reporter:label="Import/Overlay Fields for Removal">
157                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_bib_trash_fields_id_seq">
158                         <field reporter:label="Field ID" name="id" reporter:datatype="id"/>
159                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
160                         <field reporter:label="Field" name="field" reporter:datatype="text"/>
161                 </fields>
162                 <links>
163                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
164                 </links>
165                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
166                         <actions>
167                                 <create permission="CREATE_IMPORT_TRASH_FIELD" context_field="owner"/>
168                                 <retrieve permission="CREATE_IMPORT_TRASH_FIELD UPDATE_IMPORT_TRASH_FIELD DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
169                                 <update permission="UPDATE_IMPORT_TRASH_FIELD" context_field="owner"/>
170                                 <delete permission="DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
171                         </actions>
172                 </permacrud>
173         </class>
174
175         <class id="vii" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_item" oils_persist:tablename="vandelay.import_item" reporter:label="Import Item">
176                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_id_seq">
177                         <field reporter:label="Import Item ID" name="id" reporter:datatype="id"/>
178                         <field reporter:label="Import Record" name="record" reporter:datatype="link"/>
179                         <field reporter:label="Attribute Definition" name="definition" reporter:datatype="link"/>
180                         <field reporter:label="Owning Library" name="owning_lib" reporter:datatype="int"/>
181                         <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="int"/>
182                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
183                         <field reporter:label="Copy Number" name="copy_number" reporter:datatype="int"/>
184                         <field reporter:label="Status" name="status" reporter:datatype="int"/>
185                         <field reporter:label="Shelving Location" name="location" reporter:datatype="int"/>
186                         <field reporter:label="Circulate" name="circulate" reporter:datatype="bool"/>
187                         <field reporter:label="Deposit" name="deposit" reporter:datatype="bool"/>
188                         <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money"/>
189                         <field reporter:label="Reference" name="ref" reporter:datatype="bool"/>
190                         <field reporter:label="Holdable" name="holdable" reporter:datatype="bool"/>
191                         <field reporter:label="Price" name="price" reporter:datatype="money"/>
192                         <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
193                         <field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="text"/>
194                         <field reporter:label="Circulate As MARC Type" name="circ_as_type" reporter:datatype="text"/>
195                         <field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
196                         <field reporter:label="Public Note" name="pub_note" reporter:datatype="text"/>
197                         <field reporter:label="Private Note" name="priv_note" reporter:datatype="text"/>
198                         <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
199                 </fields>
200                 <links>
201                         <link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
202                         <link field="definition" reltype="has_a" key="id" map="" class="viiad"/>
203                 </links>
204                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
205                         <actions>
206                                 <create permission="CREATE_IMPORT_ITEM">
207                     <context link="definition" field="owner"/>
208                                 </create>
209                                 <retrieve permission="CREATE_IMPORT_ITEM UPDATE_IMPORT_ITEM DELETE_IMPORT_ITEM">
210                     <context link="definition" field="owner"/>
211                                 </retrieve>
212                                 <update permission="UPDATE_IMPORT_ITEM">
213                     <context link="definition" field="owner"/>
214                                 </update>
215                                 <delete permission="DELETE_IMPORT_ITEM">
216                     <context link="definition" field="owner"/>
217                                 </delete>
218                         </actions>
219                 </permacrud>
220         </class>
221
222         <class id="viiad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_item_attr_definition" oils_persist:tablename="vandelay.import_item_attr_definition" reporter:label="Import Item Attribute Definition">
223                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_attr_definition_id_seq">
224                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
225                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
226                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
227                         <field reporter:label="Tag" name="tag" reporter:datatype="text"/>
228                         <field reporter:label="Keep" name="keep" reporter:datatype="bool"/>
229                         <field reporter:label="Owning Library" name="owning_lib" reporter:datatype="text"/>
230                         <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="text"/>
231                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
232                         <field reporter:label="Status" name="status" reporter:datatype="text"/>
233                         <field reporter:label="Shelving Location" name="location" reporter:datatype="text"/>
234                         <field reporter:label="Circulate" name="circulate" reporter:datatype="text"/>
235                         <field reporter:label="Deposit" name="deposit" reporter:datatype="text"/>
236                         <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="text"/>
237                         <field reporter:label="Reference" name="ref" reporter:datatype="text"/>
238                         <field reporter:label="Holdable" name="holdable" reporter:datatype="text"/>
239                         <field reporter:label="Price" name="price" reporter:datatype="text"/>
240                         <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
241                         <field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="text"/>
242                         <field reporter:label="Circulate As MARC Type" name="circ_as_type" reporter:datatype="text"/>
243                         <field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
244                         <field reporter:label="Public Note" name="pub_note" reporter:datatype="text"/>
245                         <field reporter:label="Private Note" name="priv_note" reporter:datatype="text"/>
246                         <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="text"/>
247                         <field reporter:label="Copy Number" name="copy_number" reporter:datatype="text"/>
248                 </fields>
249                 <links>
250                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
251                 </links>
252                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
253                         <actions>
254                                 <create permission="CREATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
255                                 <retrieve permission="CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
256                                 <update permission="UPDATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
257                                 <delete permission="DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
258                         </actions>
259                 </permacrud>
260         </class>
261
262         <class id="vbq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_queue" oils_persist:tablename="vandelay.bib_queue" reporter:label="Import/Overlay Bib Queue">
263                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
264                         <field reporter:label="Queue ID" name="id" reporter:selector="name" reporter:datatype="id"/>
265                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
266                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
267                         <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
268                         <field reporter:label="Type" name="queue_type" reporter:datatype="text"/>
269                         <field reporter:label="Item Import Attribute Definition" name="item_attr_def" reporter:datatype="link"/>
270                 </fields>
271                 <links>
272                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
273                         <link field="item_attr_def" reltype="has_a" key="id" map="" class="viiad"/>
274                 </links>
275                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
276                         <actions>
277                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
278                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
279                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
280                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
281                         </actions>
282                 </permacrud>
283         </class>
284
285         <class id="vqbr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_bib_record" oils_persist:tablename="vandelay.queued_bib_record" reporter:label="Queued Bib Record">
286                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
287                         <field reporter:label="Record ID" name="id" reporter:datatype="id"/>
288                         <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
289                         <field reporter:label="Import Time" name="import_time" reporter:datatype="timestamp"/>
290                         <field reporter:label="MARC" name="marc" reporter:datatype="text"/>
291                         <field reporter:label="Queue" name="queue" reporter:datatype="link"/>
292                         <field reporter:label="Bib Source" name="bib_source" reporter:datatype="link"/>
293                         <field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
294                         <field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
295                         <field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
296                         <field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
297                 </fields>
298                 <links>
299                         <link field="queue" reltype="has_a" key="id" map="" class="vbq"/>
300                         <link field="bib_source" reltype="has_a" key="id" map="" class="cbs"/>
301                         <link field="imported_as" reltype="has_a" key="id" map="" class="bre"/>
302             <link field="attributes" reltype="has_many" key="record" map="" class="vqbra"/>
303             <link field="matches" reltype="has_many" key="queued_record" map="" class="vbm"/>
304                 </links>
305                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
306                         <actions>
307                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
308                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
309                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
310                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
311                         </actions>
312                 </permacrud>
313         </class>
314
315         <class id="vqbrad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_attr_definition" oils_persist:tablename="vandelay.bib_attr_definition" reporter:label="Queued Bib Record Attribute Definition">
316                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_attr_definition_id_seq">
317                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
318                         <field reporter:label="Code" name="code" reporter:datatype="text"/>
319                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
320                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
321                         <field reporter:label="Remove RegExp" name="remove" reporter:datatype="text"/>
322                         <field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
323                 </fields>
324                 <links/>
325                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
326                         <actions>
327                                 <create permission="CREATE_BIB_IMPORT_FIELD_DEF" global_required="true"/>
328                 <retrieve/>
329                                 <update permission="UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
330                                 <delete permission="DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
331                         </actions>
332                 </permacrud>
333         </class>
334
335         <class id="vqbra" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_bib_record_attr" oils_persist:tablename="vandelay.queued_bib_record_attr" reporter:label="Queued Bib Record Attribute">
336                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_bib_record_attr_id_seq">
337                         <field reporter:label="Attribute ID" name="id" reporter:datatype="id"/>
338                         <field reporter:label="Record" name="record" reporter:datatype="link"/>
339                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
340                         <field reporter:label="Value" name="attr_value" reporter:datatype="text"/>
341                 </fields>
342                 <links>
343                         <link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
344                         <link field="field" reltype="has_a" key="id" map="" class="vqbrad"/>
345                 </links>
346                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
347                         <actions>
348                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
349                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
350                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
351                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
352                         </actions>
353                 </permacrud>
354         </class>
355
356         <class id="vbm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_match" oils_persist:tablename="vandelay.bib_match" reporter:label="Queued Bib Record Match">
357                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_match_id_seq">
358                         <field reporter:label="Match ID" name="id" reporter:datatype="id"/>
359                         <field reporter:label="Queued Record" name="queued_record" reporter:datatype="link"/>
360                         <field reporter:label="Matched Attribute" name="matched_attr" reporter:datatype="link"/>
361                         <field reporter:label="Evergreen Record" name="eg_record" reporter:datatype="link"/>
362                         <field reporter:label="Field Type" name="field_type" reporter:datatype="text"/>
363                 </fields>
364                 <links>
365                         <link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
366                         <link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
367                         <link field="matched_attr" reltype="has_a" key="id" map="" class="vqbra"/>
368                 </links>
369                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
370                         <actions>
371                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
372                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
373                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
374                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
375                         </actions>
376                 </permacrud>
377         </class>
378
379         <class id="vaq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_queue" oils_persist:tablename="vandelay.authority_queue" reporter:label="Import/Overlay Authority Queue">
380                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
381                         <field reporter:label="Queue ID" name="id" reporter:selector="name" reporter:datatype="id"/>
382                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
383                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
384                         <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
385                         <field reporter:label="Type" name="queue_type" reporter:datatype="text"/>
386                 </fields>
387                 <links>
388                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
389                 </links>
390                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
391                         <actions>
392                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
393                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
394                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
395                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
396                         </actions>
397                 </permacrud>
398         </class>
399
400         <class id="vqar" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_authority_record" oils_persist:tablename="vandelay.queued_authority_record" reporter:label="Queued Authority Record">
401                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
402                         <field reporter:label="Record ID" name="id" reporter:datatype="id"/>
403                         <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
404                         <field reporter:label="Import Time" name="import_time" reporter:datatype="timestamp"/>
405                         <field reporter:label="MARC" name="marc" reporter:datatype="text"/>
406                         <field reporter:label="Queue" name="queue" reporter:datatype="link"/>
407                         <field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
408                         <field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
409                         <field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
410                         <field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
411                 </fields>
412                 <links>
413                         <link field="queue" reltype="has_a" key="id" map="" class="vaq"/>
414                         <link field="imported_as" reltype="has_a" key="id" map="" class="are"/>
415             <link field="attributes" reltype="has_many" key="record" map="" class="vqara"/>
416             <link field="matches" reltype="has_many" key="queued_record" map="" class="vam"/>
417                 </links>
418                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
419                         <actions>
420                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
421                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
422                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
423                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
424                         </actions>
425                 </permacrud>
426         </class>
427
428         <class id="vqarad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_attr_definition" oils_persist:tablename="vandelay.authority_attr_definition" reporter:label="Queued Authority Record Attribute Definition">
429                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_attr_definition_id_seq">
430                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
431                         <field reporter:label="Code" name="code" reporter:datatype="text"/>
432                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
433                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
434                         <field reporter:label="Remove RegExp" name="remove" reporter:datatype="text"/>
435                         <field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
436                 </fields>
437                 <links/>
438                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
439                         <actions>
440                                 <create permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
441                 <retrieve/>
442                                 <update permission="UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
443                                 <delete permission="DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
444                         </actions>
445                 </permacrud>
446         </class>
447
448         <class id="vqara" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_authority_record_attr" oils_persist:tablename="vandelay.queued_authority_record_attr" reporter:label="Queued Authority Record Attribute">
449                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_authority_record_attr_id_seq">
450                         <field reporter:label="Attribute ID" name="id" reporter:datatype="id"/>
451                         <field reporter:label="Record" name="record" reporter:datatype="link"/>
452                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
453                         <field reporter:label="Value" name="attr_value" reporter:datatype="text"/>
454                 </fields>
455                 <links>
456                         <link field="record" reltype="has_a" key="id" map="" class="vqar"/>
457                         <link field="field" reltype="has_a" key="id" map="" class="vqarad"/>
458                 </links>
459                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
460                         <actions>
461                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
462                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
463                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
464                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
465                         </actions>
466                 </permacrud>
467         </class>
468
469         <class id="vam" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_match" oils_persist:tablename="vandelay.authority_match" reporter:label="Queued Authority Record Match">
470                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_match_id_seq">
471                         <field reporter:label="Match ID" name="id" reporter:datatype="id"/>
472                         <field reporter:label="Queued Record" name="queued_record" reporter:datatype="link"/>
473                         <field reporter:label="Matched Attribute" name="matched_attr" reporter:datatype="link"/>
474                         <field reporter:label="Evergreen Record" name="eg_record" reporter:datatype="link"/>
475                 </fields>
476                 <links>
477                         <link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
478                         <link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
479                         <link field="matched_attr" reltype="has_a" key="id" map="" class="vqbra"/>
480                 </links>
481                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
482                         <actions>
483                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
484                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
485                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
486                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
487                         </actions>
488                 </permacrud>
489         </class>
490
491
492         <class id="auoi" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_org_unit_opt_in" oils_persist:tablename="actor.usr_org_unit_opt_in" reporter:label="User Sharing Opt-in">
493                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_org_unit_opt_in_id_seq">
494                         <field reporter:label="Opt-in ID" name="id" reporter:datatype="id"/>
495                         <field reporter:label="Workstation" name="opt_in_ws" reporter:datatype="link"/>
496                         <field reporter:label="Staff Member" name="staff" reporter:datatype="link"/>
497                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
498                         <field reporter:label="Allowed Org Unit" name="org_unit" reporter:datatype="link"/>
499                         <field reporter:label="Opt-in Date/Time" name="opt_in_ts" reporter:datatype="timestamp"/>
500                 </fields>
501                 <links>
502                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
503                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
504                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
505                         <link field="opt_in_ws" reltype="has_a" key="id" map="" class="aws"/>
506                 </links>
507         </class>
508
509     <class id="cgf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::global_flag" oils_persist:tablename="config.global_flag" reporter:label="Global Flags and Settings" oils_persist:field_safe="true">
510         <fields oils_persist:primary="name">
511             <field reporter:label="Name" name="name" reporter:datatype="text"/>
512             <field reporter:label="Label" name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
513             <field reporter:label="Value" name="value"  reporter:datatype="text"/>
514             <field reporter:label="Enabled" name="enabled"  reporter:datatype="bool"/>
515         </fields>
516         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
517             <actions>
518                 <create   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
519                 <retrieve permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
520                 <update   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
521                 <delete   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
522             </actions>
523         </permacrud>
524     </class>
525
526     <class id="cin" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::index_normalizer" oils_persist:tablename="config.index_normalizer" reporter:label="Indexing Normalizer" oils_persist:field_safe="true">
527         <fields oils_persist:primary="id">
528             <field reporter:label="ID" name="id" reporter:datatype="id"/>
529             <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
530             <field reporter:label="Description" name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
531             <field reporter:label="Function" name="func"  reporter:datatype="text"/>
532             <field reporter:label="Required Parameter Count" name="param_count"  reporter:datatype="int"/>
533         </fields>
534         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
535             <actions>
536                 <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
537                 <retrieve/>
538                 <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
539                 <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
540             </actions>
541         </permacrud>
542     </class>
543
544         <class id="cmfinm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field_index_norm_map" oils_persist:tablename="config.metabib_field_index_norm_map" reporter:label="Metabib Field to Indexing Normalizer Map" oils_persist:field_safe="true">
545                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_index_norm_map_id_seq">
546                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
547                         <field reporter:label="Metabib Field" name="field" reporter:datatype="link"/>
548                         <field reporter:label="Normalizer" name="norm" reporter:datatype="link"/>
549                         <field reporter:label="Parameters (JSON Array)" name="params" reporter:datatype="text"/>
550                         <field reporter:label="Order of Application" name="pos" reporter:datatype="int"/>
551                 </fields>
552                 <links>
553                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
554                         <link field="norm" reltype="has_a" key="id" map="" class="cin"/>
555                 </links>
556         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
557             <actions>
558                 <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
559                 <retrieve/>
560                 <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
561                 <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
562             </actions>
563         </permacrud>
564         </class>
565
566         <class id="cracct" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::remote_account" oils_persist:tablename="config.remote_account" reporter:label="Remote (3rd party) Account">
567                 <fields oils_persist:primary="id" oils_persist:sequence="config.remote_account_id_seq">
568                         <field name="id"            reporter:datatype="id"   reporter:label="ID"/>
569                         <field name="label"         reporter:datatype="text" reporter:label="Label"/>
570                         <field name="host"          reporter:datatype="text" reporter:label="Host"/>
571                         <field name="username"      reporter:datatype="text" reporter:label="Username"/>
572                         <field name="password"      reporter:datatype="text" reporter:label="Password"/>
573                         <field name="account"       reporter:datatype="text" reporter:label="Account"/>
574                         <field name="path"          reporter:datatype="text" reporter:label="Path"/>
575                         <field name="owner"         reporter:datatype="link" reporter:label="Owner"/>
576                         <field name="last_activity" reporter:datatype="timestamp" reporter:label="Last Activity"/>
577                 </fields>
578                 <links>
579                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
580                 </links>
581         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
582             <actions>
583                 <create   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
584                 <retrieve permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
585                 <update   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
586                 <delete   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
587             </actions>
588         </permacrud>
589         </class>
590
591     <class id="czs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::z3950_source" oils_persist:tablename="config.z3950_source" reporter:label="Z39.50 Source">
592         <fields oils_persist:primary="name">
593             <field reporter:label="Z39.50 Source" name="name" reporter:datatype="id"/>
594             <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
595             <field reporter:label="Host" name="host"  reporter:datatype="text"/>
596             <field reporter:label="Port" name="port"  reporter:datatype="int"/>
597             <field reporter:label="DB" name="db"  reporter:datatype="text"/>
598             <field reporter:label="Record Format" name="record_format"  reporter:datatype="text"/>
599             <field reporter:label="Transmission Format" name="transmission_format"  reporter:datatype="text"/>
600             <field reporter:label="Auth" name="auth"  reporter:datatype="bool"/>
601             <field reporter:label="Attrs" name="attrs" oils_persist:virtual="true"  reporter:datatype="link"/>
602         </fields>
603         <links>
604             <link field="attrs" reltype="has_many" key="source" map="" class="cza"/>
605         </links>
606         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
607             <actions>
608                 <create permission="ADMIN_Z3950_SOURCE" global_required="true"/>
609                 <retrieve/>
610                 <update permission="ADMIN_Z3950_SOURCE" global_required="true"/>
611                 <delete permission="ADMIN_Z3950_SOURCE" global_required="true"/>
612             </actions>
613         </permacrud>
614     </class>
615
616     <class id="cza" controller="open-ils.cstore" oils_obj:fieldmapper="config::z3950_attr" oils_persist:tablename="config.z3950_attr" reporter:label="Z39.50 Attribute">
617         <fields oils_persist:primary="id" oils_persist:sequence="config.z3950_attr_id_seq">
618             <field reporter:label="Z39.50 Attribute ID" name="id" reporter:datatype="id"/>
619             <field reporter:label="Z39.50 Source" name="source" reporter:datatype="link"/>
620             <field reporter:label="Name" name="name" reporter:datatype="text"/>
621             <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
622             <field reporter:label="Code" name="code"  reporter:datatype="int"/>
623             <field reporter:label="Format" name="format"  reporter:datatype="int"/>
624             <field reporter:label="Truncation" name="truncation"  reporter:datatype="int"/>
625         </fields>
626         <links>
627             <link field="source" reltype="has_a" key="name" map="" class="czs"/>
628         </links>
629     </class>
630
631         <class id="ateo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_output" oils_persist:tablename="action_trigger.event_output" reporter:label="Event Output">
632                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_output_id_seq">
633                         <field reporter:label="Output ID" name="id" reporter:datatype="id"/>
634                         <field reporter:label="Create Date/Time" name="create_time" reporter:datatype="timestamp"/>
635                         <field reporter:label="Data" name="data" reporter:datatype="text"/>
636                         <field reporter:label="Is Error" name="is_error" reporter:datatype="bool"/>
637                         <field reporter:label="Events" name="events" oils_persist:virtual="true"  reporter:datatype="link"/>
638                         <field reporter:label="Error Events" name="error_events" oils_persist:virtual="true"  reporter:datatype="link"/>
639                 </fields>
640                 <links>
641             <link field="events" reltype="has_many" key="template_output" map="" class="atev"/>
642             <link field="error_events" reltype="has_many" key="error_output" map="" class="atev"/>
643                 </links>
644                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
645                         <actions>
646                                 <retrieve/>
647                                 <delete permission="ADMIN_TRIGGER_TEMPLATE_OUTPUT DELETE_TRIGGER_TEMPLATE_OUTPUT" global_required="true"/>
648                         </actions>
649                 </permacrud>
650         </class>
651
652         <class id="ath" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::hook" oils_persist:tablename="action_trigger.hook" reporter:label="Trigger Hook Point">
653                 <fields oils_persist:primary="key">
654                         <field reporter:label="Hook Key" name="key" reporter:datatype="text"/>
655                         <field reporter:label="Core Type" name="core_type" reporter:datatype="text"/>
656                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
657                         <field reporter:label="Passive" name="passive"  reporter:datatype="bool"/>
658                 </fields>
659                 <links/>
660                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
661                         <actions>
662                                 <create permission="ADMIN_TRIGGER_HOOK CREATE_TRIGGER_HOOK" global_required="true"/>
663                                 <retrieve/>
664                                 <update permission="ADMIN_TRIGGER_HOOK UPDATE_TRIGGER_HOOK" global_required="true"/>
665                                 <delete permission="ADMIN_TRIGGER_HOOK DELETE_TRIGGER_HOOK" global_required="true"/>
666                         </actions>
667                 </permacrud>
668         </class>
669
670         <class id="atcol" controller="open-ils.cstore" oils_obj:fieldmapper="action_trigger::collector" oils_persist:tablename="action_trigger.collector" reporter:label="Trigger Environment Collector">
671                 <fields oils_persist:primary="module">
672                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
673                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
674                 </fields>
675                 <links/>
676         </class>
677
678         <class id="atval" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::validator" oils_persist:tablename="action_trigger.validator" reporter:label="Trigger Condition Validator">
679                 <fields oils_persist:primary="module">
680                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
681                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
682                 </fields>
683                 <links/>
684                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
685                         <actions>
686                                 <create permission="ADMIN_TRIGGER_VALIDATOR CREATE_TRIGGER_VALIDATOR" global_required="true"/>
687                                 <retrieve/>
688                                 <update permission="ADMIN_TRIGGER_VALIDATOR UPDATE_TRIGGER_VALIDATOR" global_required="true"/>
689                                 <delete permission="ADMIN_TRIGGER_VALIDATOR DELETE_TRIGGER_VALIDATOR" global_required="true"/>
690                         </actions>
691                 </permacrud>
692         </class>
693
694         <class id="atreact" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::reactor" oils_persist:tablename="action_trigger.reactor" reporter:label="Trigger Event Reactor">
695                 <fields oils_persist:primary="module">
696                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
697                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
698                 </fields>
699                 <links/>
700                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
701                         <actions>
702                                 <create permission="ADMIN_TRIGGER_REACTOR CREATE_TRIGGER_REACTOR" global_required="true"/>
703                                 <retrieve/>
704                                 <update permission="ADMIN_TRIGGER_REACTOR UPDATE_TRIGGER_REACTOR" global_required="true"/>
705                                 <delete permission="ADMIN_TRIGGER_REACTOR DELETE_TRIGGER_REACTOR" global_required="true"/>
706                         </actions>
707                 </permacrud>
708         </class>
709
710         <class id="atclean" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::cleanup" oils_persist:tablename="action_trigger.cleanup" reporter:label="Trigger Event Cleanup">
711                 <fields oils_persist:primary="module">
712                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
713                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
714                 </fields>
715                 <links/>
716                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
717                         <actions>
718                                 <create permission="ADMIN_TRIGGER_CLEANUP CREATE_TRIGGER_CLEANUP" global_required="true"/>
719                                 <retrieve/>
720                                 <update permission="ADMIN_TRIGGER_CLEANUP UPDATE_TRIGGER_CLEANUP" global_required="true"/>
721                                 <delete permission="ADMIN_TRIGGER_CLEANUP DELETE_TRIGGER_CLEANUP" global_required="true"/>
722                         </actions>
723                 </permacrud>
724         </class>
725
726         <class id="atenv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::environment" oils_persist:tablename="action_trigger.environment" reporter:label="Trigger Event Environment Entry">
727                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.environment_id_seq">
728                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
729                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
730                         <field reporter:label="Field Path" name="path" reporter:datatype="text"/>
731                         <field reporter:label="Collector" name="collector" reporter:datatype="link"/>
732                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
733                 </fields>
734                 <links>
735                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
736                         <link field="collector" reltype="has_a" key="id" map="" class="atcol"/>
737                 </links>
738                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
739                         <actions>
740                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF">
741                     <context link="event_def" field="owner"/>
742                 </create>
743                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF">
744                     <context link="event_def" field="owner"/>
745                 </retrieve>
746                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF">
747                     <context link="event_def" field="owner"/>
748                 </update>
749                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF">
750                     <context link="event_def" field="owner"/>
751                 </delete>
752                         </actions>
753                 </permacrud>
754         </class>
755
756         <class id="atevdef" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_definition" oils_persist:tablename="action_trigger.event_definition" reporter:label="Trigger Event Definition">
757                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_definition_id_seq">
758                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
759                         <field reporter:label="Enabled" name="active" reporter:datatype="bool"/>
760                         <field reporter:label="Owning Library" name="owner"  reporter:datatype="org_unit"/>
761                         <field reporter:label="Hook" name="hook"  reporter:datatype="link"/>
762                         <field reporter:label="Validator" name="validator"  reporter:datatype="link"/>
763                         <field reporter:label="Reactor" name="reactor"  reporter:datatype="link"/>
764                         <field reporter:label="Success Cleanup" name="cleanup_success"  reporter:datatype="link"/>
765                         <field reporter:label="Failure Cleanup" name="cleanup_failure"  reporter:datatype="link"/>
766                         <field reporter:label="Processing Delay" name="delay"  reporter:datatype="interval"/>
767                         <field reporter:label="Max Event Validity Delay" name="max_delay"  reporter:datatype="interval"/>
768                         <field reporter:label="Processing Delay Context Field" name="delay_field"  reporter:datatype="text"/>
769                         <field reporter:label="Processing Group Context Field" name="group_field"  reporter:datatype="text"/>
770                         <field reporter:label="Template" name="template"  reporter:datatype="text"/>
771                         <field reporter:label="Name" name="name"  reporter:datatype="text"/>
772                         <field reporter:label="Granularity" name="granularity"  reporter:datatype="text"/>
773                         <field reporter:label="Opt-In User Field" name="usr_field"  reporter:datatype="text"/>
774                         <field reporter:label="Opt-In Setting Type" name="opt_in_setting"  reporter:datatype="link"/>
775                         <field reporter:label="Environment Entries" name="env" oils_persist:virtual="true"  reporter:datatype="link"/>
776                         <field reporter:label="Parameters" name="params" oils_persist:virtual="true"  reporter:datatype="link"/>
777                 </fields>
778                 <links>
779                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
780                         <link field="hook" reltype="has_a" key="key" map="" class="ath"/>
781                         <link field="validator" reltype="has_a" key="module" map="" class="atval"/>
782                         <link field="reactor" reltype="has_a" key="module" map="" class="atreact"/>
783                         <link field="cleanup_success" reltype="has_a" key="module" map="" class="atclean"/>
784                         <link field="cleanup_failure" reltype="has_a" key="module" map="" class="atclean"/>
785                         <link field="env" reltype="has_many" key="event_def" map="" class="atenv"/>
786                         <link field="params" reltype="has_many" key="event_def" map="" class="atevparam"/>
787                         <link field="opt_in_setting" reltype="has_a" key="name" map="" class="cust"/>
788                 </links>
789                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
790                         <actions>
791                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF" context_field="owner"/>
792                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF" context_field="owner"/>
793                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF" context_field="owner"/>
794                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF" context_field="owner"/>
795                         </actions>
796                 </permacrud>
797         </class>
798
799         <class id="atev" controller="open-ils.cstore" oils_obj:fieldmapper="action_trigger::event" oils_persist:tablename="action_trigger.event" reporter:label="Trigger Event Entry">
800                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_id_seq">
801                         <field reporter:label="Event ID" name="id" reporter:datatype="id"/>
802                         <field reporter:label="Target ID" name="target" reporter:datatype="int"/>
803                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
804                         <field reporter:label="Add Time" name="add_time" reporter:datatype="timestamp"/>
805                         <field reporter:label="Run Time" name="run_time" reporter:datatype="timestamp"/>
806                         <field reporter:label="Start Time" name="start_time" reporter:datatype="timestamp"/>
807                         <field reporter:label="Update Time" name="update_time" reporter:datatype="timestamp"/>
808                         <field reporter:label="Complete Time" name="complete_time" reporter:datatype="timestamp"/>
809                         <field reporter:label="State" name="state" reporter:datatype="text"/>
810                         <field reporter:label="User Data" name="user_data" reporter:datatype="text"/>
811                         <field reporter:label="Template Output" name="template_output" reporter:datatype="link"/>
812                         <field reporter:label="Error Output" name="error_output" reporter:datatype="text"/>
813                         <field reporter:label="Asynchronous Output" name="async_output" reporter:datatype="link"/>
814                         <field reporter:label="Update Process" name="update_process" reporter:datatype="int"/>
815                 </fields>
816                 <links>
817                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
818                         <link field="template_output" reltype="has_a" key="id" map="" class="ateo"/>
819                         <link field="error_output" reltype="has_a" key="id" map="" class="ateo"/>
820                         <link field="async_output" reltype="has_a" key="id" map="" class="ateo"/>
821                 </links>
822         </class>
823
824         <class id="atevparam" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_param" oils_persist:tablename="action_trigger.event_params" reporter:label="Trigger Event Parameter">
825                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_params_id_seq">
826                         <field reporter:label="Event ID" name="id" reporter:datatype="id"/>
827                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
828                         <field reporter:label="Parameter Name" name="param" reporter:datatype="text"/>
829                         <field reporter:label="Parameter Value" name="value" reporter:datatype="text"/>
830                 </fields>
831                 <links>
832                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
833                 </links>
834                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
835                         <actions>
836                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF">
837                     <context link="event_def" field="owner"/>
838                 </create>
839                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF">
840                     <context link="event_def" field="owner"/>
841                 </retrieve>
842                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF">
843                     <context link="event_def" field="owner"/>
844                 </update>
845                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF">
846                     <context link="event_def" field="owner"/>
847                 </delete>
848                         </actions>
849                 </permacrud>
850         </class>
851
852         <class id="aws" controller="open-ils.cstore" oils_obj:fieldmapper="actor::workstation" oils_persist:tablename="actor.workstation" reporter:label="Workstation">
853                 <fields oils_persist:primary="id" oils_persist:sequence="actor.workstation_id_seq">
854                         <field reporter:label="Workstation ID" name="id" reporter:datatype="id"/>
855                         <field reporter:label="Workstation Name" name="name" reporter:datatype="text"/>
856                         <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
857                         <field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
858                 </fields>
859                 <links>
860                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
861                         <link field="circulations" reltype="has_many" key="workstation" map="" class="circ"/>
862                 </links>
863         </class>
864
865         <class id="ccm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_modifier" oils_persist:tablename="config.circ_modifier" reporter:label="Circulation Modifier">
866                 <fields oils_persist:primary="code">
867                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
868                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
869                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
870                         <field reporter:label="SIP2 Media Type" name="sip2_media_type" reporter:datatype="text" oils_persist:i18n="true"/>
871                         <field reporter:label="Magnetic Media" name="magnetic_media" reporter:datatype="bool"/>
872                 </fields>
873                 <links/>
874         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
875             <actions>
876                 <create permission="ADMIN_CIRC_MOD" global_required="true"/>
877                 <retrieve/>
878                 <update permission="ADMIN_CIRC_MOD" global_required="true"/>
879                 <delete permission="ADMIN_CIRC_MOD" global_required="true"/>
880             </actions>
881         </permacrud>
882         </class>
883
884         <class id="aiit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_item_type" oils_persist:tablename="acq.invoice_item_type" reporter:label="Non-bibliographic Invoice Item Type" oils_persist:field_safe="true">
885                 <fields oils_persist:primary="code">
886                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
887                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
888                         <field reporter:label="Prorate?" name="prorate" reporter:datatype="bool"/>
889                 </fields>
890                 <links/>
891         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
892             <actions>
893                 <create permission="CREATE_INVOICE_ITEM_TYPE" global_required="true"/>
894                 <retrieve/>
895                 <update permission="UPDATE_INVOICE_ITEM_TYPE" global_required="true"/>
896                 <delete permission="DELETE_INVOICE_ITEM_TYPE" global_required="true"/>
897             </actions>
898         </permacrud>
899         </class>
900
901         <class id="acqim" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_method" oils_persist:tablename="acq.invoice_method" reporter:label="Invoice Method used by Vendor" oils_persist:field_safe="true">
902                 <fields oils_persist:primary="code">
903                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
904                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
905                 </fields>
906                 <links/>
907         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
908             <actions>
909                 <create permission="ADMIN_INVOICE_METHOD CREATE_INVOICE_METHOD" global_required="true"/>
910                 <retrieve/>
911                 <update permission="ADMIN_INVOICE_METHOD UPDATE_INVOICE_METHOD" global_required="true"/>
912                 <delete permission="ADMIN_INVOICE_METHOD DELETE_INVOICE_METHOD" global_required="true"/>
913             </actions>
914         </permacrud>
915         </class>
916
917         <class id="ccpbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::copy_bucket_type" oils_persist:tablename="container.copy_bucket_type" reporter:label="Copy Bucket Type" oils_persist:field_safe="true">
918                 <fields oils_persist:primary="code">
919                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
920                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
921                 </fields>
922                 <links/>
923         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
924             <actions>
925                 <create permission="CREATE_COPY_BTYPE" global_required="true"/>
926                 <retrieve/>
927                 <update permission="UPDATE_COPY_BTYPE" global_required="true"/>
928                 <delete permission="DELETE_COPY_BTYPE" global_required="true"/>
929             </actions>
930         </permacrud>
931         </class>
932
933         <class id="ccnbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::call_number_bucket_type" oils_persist:tablename="container.call_number_bucket_type" reporter:label="Call Number Bucket Type" oils_persist:field_safe="true">
934                 <fields oils_persist:primary="code">
935                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
936                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
937                 </fields>
938                 <links/>
939         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
940             <actions>
941                 <create permission="CREATE_CN_BTYPE" global_required="true"/>
942                 <retrieve/>
943                 <update permission="UPDATE_CN_BTYPE" global_required="true"/>
944                 <delete permission="DELETE_CN_BTYPE" global_required="true"/>
945             </actions>
946         </permacrud>
947         </class>
948
949         <class id="cbrebt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::biblio_record_entry_bucket_type" oils_persist:tablename="container.biblio_record_entry_bucket_type" reporter:label="Bibliographic Record Bucket Type" oils_persist:field_safe="true">
950                 <fields oils_persist:primary="code">
951                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
952                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
953                 </fields>
954                 <links/>
955         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
956             <actions>
957                 <create permission="CREATE_BIB_BTYPE" global_required="true"/>
958                 <retrieve/>
959                 <update permission="UPDATE_BIB_BTYPE" global_required="true"/>
960                 <delete permission="DELETE_BIB_BTYPE" global_required="true"/>
961             </actions>
962         </permacrud>
963         </class>
964
965         <class id="cubt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::user_bucket_type" oils_persist:tablename="container.user_bucket_type" reporter:label="User Bucket Type" oils_persist:field_safe="true">
966                 <fields oils_persist:primary="code">
967                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
968                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
969                 </fields>
970                 <links/>
971         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
972             <actions>
973                 <create permission="CREATE_USER_BTYPE" global_required="true"/>
974                 <retrieve/>
975                 <update permission="UPDATE_USER_BTYPE" global_required="true"/>
976                 <delete permission="DELETE_USER_BTYPE" global_required="true"/>
977             </actions>
978         </permacrud>
979         </class>
980
981         <class id="cvrfm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::videorecording_format_map" oils_persist:tablename="config.videorecording_format_map" reporter:label="Videorecording Format" oils_persist:field_safe="true">
982                 <fields oils_persist:primary="code">
983                         <field reporter:label="Code" name="code" reporter:selector="value" reporter:datatype="id"/>
984                         <field reporter:label="Format" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
985                 </fields>
986                 <links/>
987         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
988             <actions>
989                 <create permission="ADMIN_MARC_CODE" global_required="true"/>
990                 <retrieve/>
991                 <update permission="ADMIN_MARC_CODE" global_required="true"/>
992                 <delete permission="ADMIN_MARC_CODE" global_required="true"/>
993             </actions>
994         </permacrud>
995         </class>
996
997         <class id="chmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::hold_matrix_matchpoint" oils_persist:tablename="config.hold_matrix_matchpoint" reporter:label="Hold Matrix Matchpoint">
998                 <fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_matchpoint_id_seq">
999                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1000                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1001                         <field reporter:label="User Home Library" name="user_home_ou" reporter:datatype="org_unit"/>
1002                         <field reporter:label="Request Library" name="request_ou" reporter:datatype="org_unit"/>
1003                         <field reporter:label="Pickup Library" name="pickup_ou" reporter:datatype="org_unit"/>
1004                         <field reporter:label="Owning Library" name="item_owning_ou" reporter:datatype="org_unit"/>
1005                         <field reporter:label="Item Circ Library" name="item_circ_ou" reporter:datatype="org_unit"/>
1006                         <field reporter:label="User Permission Group" name="usr_grp" reporter:datatype="link"/>
1007                         <field reporter:label="Requestor Permission Group" name="requestor_grp" reporter:datatype="link"/>
1008                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1009                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1010                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1011                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1012                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1013                         <field reporter:label="Holdable?" name="holdable" reporter:datatype="bool"/>
1014                         <field reporter:label="Range is from Owning Lib?" name="distance_is_from_owner" reporter:datatype="bool"/>
1015                         <field reporter:label="Transit Range" name="transit_range" reporter:datatype="link"/>
1016                         <field reporter:label="Max Holds" name="max_holds" reporter:datatype="int"/>
1017                         <field reporter:label="Max includes Frozen" name="include_frozen_holds" reporter:datatype="bool"/>
1018                         <field reporter:label="Copy Age Hold Protection Rule" name="age_hold_protect_rule" reporter:datatype="link"/>
1019                 </fields>
1020                 <links>
1021                         <link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
1022                         <link field="request_ou" reltype="has_a" key="id" map="" class="aou"/>
1023                         <link field="pickup_ou" reltype="has_a" key="id" map="" class="aou"/>
1024                         <link field="item_owning_ou" reltype="has_a" key="id" map="" class="aou"/>
1025                         <link field="item_circ_ou" reltype="has_a" key="id" map="" class="aou"/>
1026                         <link field="usr_grp" reltype="has_a" key="id" map="" class="pgt"/>
1027                         <link field="requestor_grp" reltype="has_a" key="id" map="" class="pgt"/>
1028                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1029                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1030                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1031                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1032                         <link field="age_hold_protect_rule" reltype="has_a" key="id" map="" class="crahp"/>
1033             <link field="transit_range" reltype="has_a" key="id" map="" class="aout"/>
1034                 </links>
1035         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1036             <actions>
1037                 <create permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1038                 <retrieve permission="ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1039                 <update permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1040                 <delete permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1041             </actions>
1042         </permacrud>
1043         </class>
1044
1045         <class id="ccmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_matchpoint" oils_persist:tablename="config.circ_matrix_matchpoint" reporter:label="Circulation Matrix Matchpoint">
1046                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
1047                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1048                         <field reporter:label="Renewal?" name="is_renewal" reporter:datatype="bool"/>
1049                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1050                         <field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
1051                         <field reporter:label="Permission Group" name="grp" reporter:datatype="link"/>
1052                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1053                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1054                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1055                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1056                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1057                         <field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" reporter:datatype="text"/>
1058                         <field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" reporter:datatype="text"/>
1059                         <field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
1060                         <field reporter:label="Duration Rule" name="duration_rule" reporter:datatype="link"/>
1061                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
1062                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
1063                         <field reporter:label="Script Test" name="script_test" reporter:datatype="text"/>
1064                         <field name="total_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Total Copy/Hold Ratio"/>
1065                         <field name="available_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Available Copy/Hold Ratio"/>
1066                 </fields>
1067                 <links>
1068                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1069                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
1070                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1071                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1072                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1073                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1074                         <link field="duration_rule" reltype="has_a" key="id" map="" class="crcd"/>
1075                         <link field="max_fine_rule" reltype="has_a" key="id" map="" class="crmf"/>
1076                         <link field="recurring_fine_rule" reltype="has_a" key="id" map="" class="crrf"/>
1077                 </links>
1078         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1079             <actions>
1080                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1081                 <retrieve permission="ADMIN_CIRC_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1082                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1083                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1084             </actions>
1085         </permacrud>
1086         </class>
1087
1088         <class id="ccmcmt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_circ_mod_test" oils_persist:tablename="config.circ_matrix_circ_mod_test" reporter:label="Circulation Matrix Circulation Modifier Subtest">
1089                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_id_seq">
1090                         <field reporter:label="Test ID" name="id" reporter:datatype="id"/>
1091                         <field reporter:label="Matchpoint ID" name="matchpoint" reporter:datatype="link"/>
1092                         <field reporter:label="Items Out" name="items_out" reporter:datatype="int"/>
1093                 </fields>
1094                 <links>
1095                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
1096                 </links>
1097         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1098             <actions>
1099                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1100                     <context link="matchpoint" field="org_unit"/>
1101                 </create>
1102                 <retrieve/>
1103                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1104                     <context link="matchpoint" field="org_unit"/>
1105                 </update>
1106                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1107                     <context link="matchpoint" field="org_unit"/>
1108                 </delete>
1109             </actions>
1110         </permacrud>
1111         </class>
1112
1113         <class id="ccmcmtm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_circ_mod_test_map" oils_persist:tablename="config.circ_matrix_circ_mod_test_map" reporter:label="Circulation Matrix Circulation Modifier Subtest Circulation Modifier Set">
1114                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_map_id_seq">
1115                         <field reporter:label="Entry ID" name="id" reporter:datatype="id"/>
1116                         <field reporter:label="Circulation Modifier Subtest ID" name="circ_mod_test" reporter:datatype="link"/>
1117                         <field reporter:label="Circulation Modifier" name="circ_mod" reporter:datatype="link"/>
1118                 </fields>
1119                 <links>
1120                         <link field="circ_mod_test" reltype="has_a" key="id" map="" class="ccmcmt"/>
1121                         <link field="circ_mod" reltype="has_a" key="code" map="" class="ccm"/>
1122                 </links>
1123         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1124             <actions>
1125                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1126                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1127                 </create>
1128                 <retrieve/>
1129                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1130                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1131                 </update>
1132                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1133                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1134                 </delete>
1135             </actions>
1136         </permacrud>
1137         </class>
1138
1139         <class id="cit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::identification_type" oils_persist:tablename="config.identification_type" reporter:label="Identification Type">
1140                 <fields oils_persist:primary="id" oils_persist:sequence="config.identification_type_id_seq">
1141                         <field reporter:label="Identification ID" name="id" reporter:selector="name" reporter:datatype="id"/>
1142                         <field reporter:label="Identification Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1143                 </fields>
1144                 <links/>
1145         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1146             <actions>
1147                 <create permission="ADMIN_IDENT_TYPE" global_required="true"/>
1148                 <retrieve/>
1149                 <update permission="ADMIN_IDENT_TYPE" global_required="true"/>
1150                 <delete permission="ADMIN_IDENT_TYPE" global_required="true"/>
1151             </actions>
1152         </permacrud>
1153         </class>
1154
1155         <class id="asvq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::survey_question" oils_persist:tablename="action.survey_question" reporter:label="User Survey Question">
1156                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_question_id_seq">
1157                         <field reporter:label="Answers" name="answers" oils_persist:virtual="true" reporter:datatype="link"/>
1158                         <field reporter:label="Responses" name="responses" oils_persist:virtual="true" reporter:datatype="link"/>
1159                         <field reporter:label="Question ID" name="id" reporter:datatype="id" />
1160                         <field reporter:label="Question" name="question" reporter:datatype="text"/>
1161                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
1162                 </fields>
1163                 <links>
1164                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
1165                         <link field="responses" reltype="has_many" key="question" map="" class="asvr"/>
1166                         <link field="answers" reltype="has_many" key="question" map="" class="asva"/>
1167                 </links>
1168         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1169             <actions>
1170                 <create permission="ADMIN_SURVEY">
1171                     <context link="survey" field="owner"/>
1172                 </create>
1173                 <retrieve/>
1174                 <update permission="ADMIN_SURVEY">
1175                     <context link="survey" field="owner"/>
1176                 </update>
1177                 <delete permission="ADMIN_SURVEY">
1178                     <context link="survey" field="owner"/>
1179                 </delete>
1180             </actions>
1181         </permacrud>
1182         </class>
1183         <class id="mbts" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary" oils_persist:tablename="money.materialized_billable_xact_summary" reporter:label="Billable Transaction Summary" oils_persist:readonly="true">
1184                 <fields oils_persist:primary="id" oils_persist:sequence="">
1185                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1186                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1187                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1188                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1189                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1190                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1191                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1192                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1193                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1194                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1195                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1196                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1197                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1198                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1199                 </fields>
1200                 <links>
1201                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1202                 </links>
1203         </class>
1204         <class id="mbtslv" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary_location_view" oils_persist:tablename="money.billable_xact_summary_location_view" reporter:label="Billable Transaction Summary with Billing Location" oils_persist:readonly="true" reporter:core="true">
1205                 <fields oils_persist:primary="id" oils_persist:sequence="">
1206                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1207                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1208                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1209                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1210                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1211                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1212                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1213                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1214                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1215                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1216                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1217                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1218                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1219                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1220                         <field reporter:label="Billing Location" name="billing_location" reporter:datatype="link"/>
1221                 </fields>
1222                 <links>
1223                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1224                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
1225                 </links>
1226         </class>
1227         <class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
1228                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
1229                         <field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1230                         <field reporter:label="Creating Staff" name="creator" reporter:datatype="link"/>
1231                         <field reporter:label="Note ID" name="id" reporter:datatype="id" />
1232                         <field reporter:label="Is OPAC Visible?" name="pub" reporter:datatype="bool"/>
1233                         <field reporter:label="Note Title" name="title" reporter:datatype="text"/>
1234                         <field reporter:label="User" name="usr" reporter:datatype="link" />
1235                         <field reporter:label="Note Content" name="value" reporter:datatype="text"/>
1236                 </fields>
1237                 <links>
1238                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1239                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1240                 </links>
1241         </class>
1242         <class id="aupr" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_password_reset" oils_persist:tablename="actor.usr_password_reset" reporter:label="User password reset requests">
1243                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_password_reset_id_seq">
1244                         <field reporter:label="Request ID" name="id" reporter:datatype="id"/>
1245                         <field reporter:label="UUID" name="uuid" reporter:datatype="text"/>
1246                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1247                         <field reporter:label="Request Time" name="request_time" reporter:datatype="timestamp"/>
1248                         <field reporter:label="Was Reset?" name="has_been_reset" reporter:datatype="bool"/>
1249                 </fields>
1250                 <links>
1251                         <link field="usr" reltype="has_a" key="id" class="au"/>
1252                 </links>
1253         </class>
1254         <class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
1255                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
1256                         <field reporter:label="Setting ID" name="id" reporter:datatype="id" />
1257                         <field reporter:label="Name" name="name" reporter:datatype="link"/>
1258                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1259                         <field reporter:label="Value" name="value" reporter:datatype="text"/>
1260                 </fields>
1261                 <links>
1262                         <link field="name" reltype="has_a" key="name" map="" class="cust"/>
1263                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1264                 </links>
1265         </class>
1266         <class id="mafe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::author_field_entry" oils_persist:tablename="metabib.author_field_entry" reporter:label="Author Field Entry">
1267                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.author_field_entry_id_seq">
1268                         <field name="field" reporter:datatype="link"/>
1269                         <field name="id" reporter:datatype="id" />
1270                         <field name="source" reporter:datatype="link"/>
1271                         <field name="value" reporter:datatype="text"/>
1272                 </fields>
1273                 <links>
1274                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1275                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1276                 </links>
1277         </class>
1278         <class id="aihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::in_house_use" oils_persist:tablename="action.in_house_use" reporter:core="true" reporter:label="In House Use">
1279                 <fields oils_persist:primary="id" oils_persist:sequence="action.in_house_use_id_seq">
1280                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1281                         <field reporter:label="Item" name="item" reporter:datatype="int" />
1282                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1283                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1284                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1285                 </fields>
1286                 <links>
1287                         <link field="item" reltype="has_a" key="id" map="" class="acp"/>
1288                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1289                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1290                 </links>
1291         </class>
1292         <class id="ancihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::non_cat_in_house_use" oils_persist:tablename="action.non_cat_in_house_use" reporter:core="true" reporter:label="Non-cataloged In House Use">
1293                 <fields oils_persist:primary="id" oils_persist:sequence="action.non_cat_in_house_use_id_seq">
1294                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1295                         <field reporter:label="Item Type" name="item_type" reporter:datatype="link"/>
1296                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1297                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1298                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1299                 </fields>
1300                 <links>
1301                         <link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
1302                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1303                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1304                 </links>
1305         </class>
1306         <class id="atc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::transit_copy" oils_persist:tablename="action.transit_copy" reporter:core="true" reporter:label="Copy Transit">
1307                 <fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
1308                         <field reporter:label="Pretransit Copy Status" name="copy_status" reporter:datatype="bool"/>
1309                         <field reporter:label="Destination" name="dest" reporter:datatype="link"/>
1310                         <field reporter:label="Receive Date/Time" name="dest_recv_time" reporter:datatype="timestamp"/>
1311                         <field reporter:label="Transit ID" name="id" reporter:datatype="id"/>
1312                         <field reporter:label="Is Persistent? (unused)" name="persistant_transfer" reporter:datatype="bool"/>
1313                         <field reporter:label="Previous Hop (unused)" name="prev_hop" reporter:datatype="link"/>
1314                         <field reporter:label="Source" name="source" reporter:datatype="link"/>
1315                         <field reporter:label="Prev Destination" name="prev_dest" reporter:datatype="org_unit"/>
1316                         <field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
1317                         <field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
1318                         <field reporter:label="Hold Transit" name="hold_transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
1319                 </fields>
1320                 <links>
1321                         <link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
1322                         <link field="source" reltype="has_a" key="id" map="" class="aou"/>
1323                         <link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
1324                         <link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
1325                         <link field="dest" reltype="has_a" key="id" map="" class="aou"/>
1326                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1327                 </links>
1328         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1329             <actions>
1330                 <create permission="TRANSIT_COPY" context_field="owner">
1331                     <context link="target_copy" field="circ_lib"/>
1332                 </create>
1333                 <retrieve/>
1334                 <update permission="UPDATE_TRANSIT" context_field="dest source"/>
1335                 <delete permission="DELETE_TRANSIT" context_field="dest source"/>
1336             </actions>
1337         </permacrud>
1338         </class>
1339         <class id="asvr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::survey_response" oils_persist:tablename="action.survey_response" reporter:label="Survey Response">
1340                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_response_id_seq">
1341                         <field reporter:label="Answer" name="answer" reporter:datatype="link"/>
1342                         <field reporter:label="Answer Date/Time" name="answer_date" reporter:datatype="timestamp"/>
1343                         <field reporter:label="Effective Answer Date/Time" name="effective_date" reporter:datatype="timestamp"/>
1344                         <field reporter:label="Answer ID" name="id" reporter:datatype="id" />
1345                         <field reporter:label="Question" name="question" reporter:datatype="link"/>
1346                         <field reporter:label="Response Group ID" name="response_group_id" reporter:datatype="int" />
1347                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
1348                         <field reporter:label="Responding User" name="usr" reporter:datatype="link"/>
1349                 </fields>
1350                 <links>
1351                         <link field="question" reltype="has_a" key="id" map="" class="asvq"/>
1352                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
1353                         <link field="answer" reltype="has_a" key="id" map="" class="asva"/>
1354                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1355                 </links>
1356         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1357             <actions>
1358                 <create permission="ADMIN_SURVEY">
1359                     <context link="survey" field="owner"/>
1360                 </create>
1361                 <retrieve/>
1362                 <update permission="ADMIN_SURVEY">
1363                     <context link="survey" field="owner"/>
1364                 </update>
1365                 <delete permission="ADMIN_SURVEY">
1366                     <context link="survey" field="owner"/>
1367                 </delete>
1368             </actions>
1369         </permacrud>
1370         </class>
1371         <class id="ccbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item" oils_persist:tablename="container.copy_bucket_item" reporter:label="Copy Bucket Item">
1372                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
1373                         <field name="bucket" />
1374                         <field name="id" reporter:datatype="id" />
1375                         <field name="target_copy" reporter:datatype="link"/>
1376                         <field name="create_time" reporter:datatype="timestamp" />
1377                         <field name="pos" reporter:datatype="int" />
1378                         <field name="notes" oils_persist:virtual="true" reporter:datatype="link" />
1379                 </fields>
1380                 <links>
1381                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1382                         <link field="bucket" reltype="has_a" key="id" map="" class="ccb"/>
1383             <link field="notes" reltype="has_many" map="" key="item" class="ccbin"/>
1384                 </links>
1385         </class>
1386         <class id="ccbin" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item_note" oils_persist:tablename="container.copy_bucket_item_note" reporter:label="Copy Bucket Item Note">
1387                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_note_id_seq">
1388                         <field name="id" reporter:datatype="id" />
1389                         <field name="item" reporter:datatype="link"/>
1390                         <field name="note" reporter:datatype="text" />
1391                 </fields>
1392                 <links>
1393                         <link field="item" reltype="has_a" key="id" map="" class="ccbi"/>
1394                 </links>
1395         </class>
1396         <class id="are" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
1397                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
1398                         <field name="active" reporter:datatype="bool"/>
1399                         <field name="arn_source" />
1400                         <field name="arn_value" />
1401                         <field name="create_date" reporter:datatype="timestamp"/>
1402                         <field name="creator" />
1403                         <field name="deleted" reporter:datatype="bool"/>
1404                         <field name="edit_date" reporter:datatype="timestamp"/>
1405                         <field name="editor" />
1406                         <field name="id" reporter:datatype="id" />
1407                         <field name="last_xact_id" />
1408                         <field name="marc" />
1409                         <field name="source" />
1410                         <field name="fixed_fields" oils_persist:virtual="true" />
1411                         <field name="notes" oils_persist:virtual="true" />
1412                 </fields>
1413                 <links>
1414                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1415                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1416                         <link field="notes" reltype="has_many" key="record" map="" class="arn"/>
1417                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
1418                 </links>
1419         </class>
1420         <class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor" reporter:label="Authority Record Descriptor">
1421                 <fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
1422                         <field name="char_encoding" />
1423                         <field name="id" />
1424                         <field name="record" />
1425                         <field name="record_status" />
1426                 </fields>
1427                 <links>
1428                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
1429                 </links>
1430         </class>
1431         <class id="clm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::language_map" oils_persist:tablename="config.language_map" reporter:label="Language Map" oils_persist:field_safe="true">
1432                 <fields oils_persist:primary="code" oils_persist:sequence="">
1433                         <field reporter:label="Language Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1434                         <field reporter:label="Language" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
1435                 </fields>
1436                 <links/>
1437         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1438             <actions>
1439                 <create permission="CREATE_MARC_CODE" global_required="true"/>
1440                 <retrieve/>
1441                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
1442                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
1443             </actions>
1444         </permacrud>
1445         </class>
1446         <class id="mccp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_card_payment" oils_persist:tablename="money.credit_card_payment" reporter:label="Credit Card Payment">
1447                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
1448                         <field name="accepting_usr" />
1449                         <field name="amount" reporter:datatype="money" />
1450                         <field name="amount_collected" reporter:datatype="money" />
1451                         <field name="approval_code" reporter:datatype="text"/>
1452                         <field name="cash_drawer" reporter:datatype="link"/>
1453                         <field name="cc_number" reporter:datatype="text"/>
1454                         <field name="cc_type" reporter:datatype="text"/>
1455                         <field name="cc_processor" reporter:datatype="text"/>
1456                         <field name="expire_month" reporter:datatype="int" />
1457                         <field name="expire_year" reporter:datatype="int" />
1458                         <field name="id" reporter:datatype="id" />
1459                         <field name="note" reporter:datatype="text"/>
1460                         <field name="payment_ts" reporter:datatype="timestamp"/>
1461                         <field name="xact" reporter:datatype="link"/>
1462                         <field name="payment_type" oils_persist:virtual="true" reporter:datatype="text"/>
1463                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
1464                 </fields>
1465                 <links>
1466                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
1467                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
1468                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
1469                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
1470                 </links>
1471         </class>
1472         <class id="cxt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::xml_transform" oils_persist:tablename="config.xml_transform" reporter:label="XML/XSLT Transform Definition">
1473                 <fields oils_persist:primary="name">
1474                         <field reporter:label="Field Class" name="field_class" />
1475                         <field reporter:label="Name" name="name" reporter:datatype="text" />
1476                         <field reporter:label="Namespace URI" name="namespace_uri" reporter:datatype="text"/>
1477                         <field reporter:label="Namespace Prefix" name="prefix" reporter:datatype="text"/>
1478                         <field reporter:label="XSLT" name="xslt" reporter:datatype="text" />
1479                 </fields>
1480                 <links/>
1481         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1482             <actions>
1483                 <create permission="CREATE_XML_TRANSFORM" global_required="true"/>
1484                 <retrieve/>
1485                 <update permission="UPDATE_XML_TRANSFORM" global_required="true"/>
1486                 <delete permission="DELETE_XML_TRANSFORM" global_required="true"/>
1487             </actions>
1488         </permacrud>
1489         </class>
1490
1491         <class id="cmsa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_search_alias" oils_persist:tablename="config.metabib_search_alias" reporter:label="Metabib Search Alias">
1492                 <fields oils_persist:primary="alias">
1493                         <field reporter:label="Alias (RegExp)" name="alias" reporter:datatype="text"/>
1494                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
1495                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
1496                 </fields>
1497                 <links>
1498                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
1499                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1500                 </links>
1501         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1502             <actions>
1503                 <create permission="CREATE_METABIB_SEARCH_ALIAS" global_required="true"/>
1504                 <retrieve/>
1505                 <update permission="UPDATE_METABIB_SEARCH_ALIAS" global_required="true"/>
1506                 <delete permission="DELETE_METABIB_SEARCH_ALIAS" global_required="true"/>
1507             </actions>
1508         </permacrud>
1509         </class>
1510
1511         <class id="cmc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_class" oils_persist:tablename="config.metabib_class" reporter:label="Metabib Class">
1512                 <fields oils_persist:primary="name">
1513                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
1514                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1515                         <field reporter:label="Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
1516                 </fields>
1517                 <links>
1518                         <link field="fields" reltype="has_many" key="name" map="" class="cmf"/>
1519                 </links>
1520         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1521             <actions>
1522                 <create permission="CREATE_METABIB_CLASS" global_required="true"/>
1523                 <retrieve/>
1524                 <update permission="UPDATE_METABIB_CLASS" global_required="true"/>
1525                 <delete permission="DELETE_METABIB_CLASS" global_required="true"/>
1526             </actions>
1527         </permacrud>
1528         </class>
1529
1530         <class id="cmf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field" reporter:label="Metabib Field">
1531                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
1532                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
1533                         <field reporter:label="ID" name="id" reporter:datatype="id" />
1534                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
1535                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1536                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
1537                         <field reporter:label="Weight" name="weight" reporter:datatype="int" />
1538                         <field reporter:label="Format" name="format" reporter:datatype="link"/>
1539                         <field reporter:label="Search Field" name="search_field" reporter:datatype="bool" />
1540                         <field reporter:label="Facet Field" name="facet_field" reporter:datatype="bool" />
1541                         <field reporter:label="Facet XPath" name="facet_xpath" reporter:datatype="text" />
1542                 </fields>
1543                 <links>
1544                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
1545                 </links>
1546         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1547             <actions>
1548                 <create permission="CREATE_METABIB_FIELD" global_required="true"/>
1549                 <retrieve/>
1550                 <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
1551                 <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
1552             </actions>
1553         </permacrud>
1554         </class>
1555         <class id="cbfp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::biblio_fingerprint" oils_persist:tablename="config.biblio_fingerprint" reporter:label="Fingerprint Definition">
1556                 <fields oils_persist:primary="id" oils_persist:sequence="config.biblio_fingerprint_id_seq">
1557                         <field name="id" reporter:datatype="id" />
1558                         <field name="name" reporter:datatype="text"/>
1559                         <field name="xpath" reporter:datatype="text"/>
1560                         <field name="format" reporter:datatype="link"/>
1561                         <field name="first_word" reporter:datatype="bool" />
1562                 </fields>
1563                 <links/>
1564         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1565             <actions>
1566                 <create permission="CREATE_BIBLIO_FINGERPRINT" global_required="true"/>
1567                 <retrieve/>
1568                 <update permission="UPDATE_BIBLIO_FINGERPRINT" global_required="true"/>
1569                 <delete permission="DELETE_BIBLIO_FINGERPRINT" global_required="true"/>
1570             </actions>
1571         </permacrud>
1572         </class>
1573         <class id="cam" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::audience_map" oils_persist:tablename="config.audience_map" reporter:label="Audience Map" oils_persist:field_safe="true">
1574                 <fields oils_persist:primary="code" oils_persist:sequence="">
1575                         <field reporter:label="Audience Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1576                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
1577                         <field reporter:label="Audience" name="value"  reporter:datatype="text" oils_persist:i18n="true"/>
1578                 </fields>
1579                 <links/>
1580         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1581             <actions>
1582                 <create permission="CREATE_MARC_CODE" global_required="true"/>
1583                 <retrieve/>
1584                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
1585                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
1586             </actions>
1587         </permacrud>
1588         </class>
1589         <class id="cifm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::item_form_map" oils_persist:tablename="config.item_form_map" reporter:label="Item Form Map" oils_persist:field_safe="true">
1590                 <fields oils_persist:primary="code" oils_persist:sequence="">
1591                         <field reporter:label="Item Form Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1592                         <field reporter:label="Item Form" name="value"  reporter:datatype="text" oils_persist:i18n="true"/>
1593                 </fields>
1594                 <links/>
1595         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1596             <actions>
1597                 <create permission="ADMIN_MARC_CODE" global_required="true"/>
1598                 <retrieve/>
1599                 <update permission="ADMIN_MARC_CODE" global_required="true"/>
1600                 <delete permission="ADMIN_MARC_CODE" global_required="true"/>
1601             </actions>
1602         </permacrud>
1603         </class>
1604         <class id="acn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::call_number" oils_persist:tablename="asset.call_number" reporter:label="Call Number/Volume">
1605                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
1606                         <field reporter:label="Copies" name="copies" oils_persist:virtual="true" reporter:datatype="link"/>
1607                         <field reporter:label="Create Date/Time" name="create_date" reporter:datatype="timestamp"/>
1608                         <field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
1609                         <field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
1610                         <field reporter:label="Last Edit Date/Time" name="edit_date" reporter:datatype="timestamp"/>
1611                         <field reporter:label="Last Editing User" name="editor" reporter:datatype="link"/>
1612                         <field reporter:label="Call Number/Volume ID" name="id" reporter:datatype="id" />
1613                         <field reporter:label="Call Number Label" name="label" reporter:datatype="text"/>
1614                         <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
1615                         <field reporter:label="Bib Record" name="record" reporter:datatype="link"/>
1616                         <field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1617                         <field reporter:label="URI Maps" name="uri_maps" oils_persist:virtual="true" reporter:datatype="link"/>
1618                         <field reporter:label="URIs" name="uris" oils_persist:virtual="true" reporter:datatype="link"/>
1619                 </fields>
1620                 <links>
1621                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1622                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1623                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
1624                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1625                         <link field="notes" reltype="has_many" key="call_number" map="" class="acnn"/>
1626                         <link field="copies" reltype="has_many" key="call_number" map="" class="acp"/>
1627                         <link field="uris" reltype="has_many" key="call_number" map="uri" class="auricnm"/>
1628                         <link field="uri_maps" reltype="has_many" key="call_number" map="" class="auricnm"/>
1629                 </links>
1630         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1631             <actions>
1632                 <create permission="CREATE_VOLUME" context_field="owning_lib"/>
1633                 <retrieve/>
1634                 <update permission="UPDATE_VOLUME" context_field="owning_lib"/>
1635                 <delete permission="DELETE_VOLUME" context_field="owning_lib"/>
1636             </actions>
1637         </permacrud>
1638         </class>
1639         <class id="auri" controller="open-ils.cstore" oils_obj:fieldmapper="asset::uri" oils_persist:tablename="asset.uri" reporter:label="Electronic Access URI">
1640                 <fields oils_persist:primary="id" oils_persist:sequence="asset.uri_id_seq">
1641                         <field reporter:label="URI ID" name="id" reporter:datatype="id"/>
1642                         <field reporter:label="URI" name="href" reporter:datatype="text"/>
1643                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1644                         <field reporter:label="Use Information" name="use_restriction" reporter:datatype="text"/>
1645                         <field reporter:label="Active" name="active" reporter:datatype="bool"/>
1646                         <field reporter:label="Call Number Maps" name="call_number_maps" oils_persist:virtual="true" reporter:datatype="link"/>
1647                         <field reporter:label="Call Numbers" name="call_numbers" oils_persist:virtual="true" reporter:datatype="link"/>
1648                 </fields>
1649                 <links>
1650                         <link field="call_numbers" reltype="has_many" key="uri" map="call_number" class="auricnm"/>
1651                         <link field="call_number_maps" reltype="has_many" key="uri" map="" class="auricnm"/>
1652         </links>
1653         </class>
1654         <class id="auricnm" controller="open-ils.cstore" oils_obj:fieldmapper="asset::uri_call_number_map" oils_persist:tablename="asset.uri_call_number_map" reporter:label="Electronic Access URI to Call Number Map">
1655                 <fields oils_persist:primary="id" oils_persist:sequence="asset.uri_call_number_map_id_seq">
1656                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
1657                         <field reporter:label="URI" name="uri" reporter:datatype="int"/>
1658                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
1659                 </fields>
1660                 <links>
1661                         <link field="uri" reltype="has_a" key="id" map="" class="auri"/>
1662                         <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
1663                 </links>
1664         </class>
1665         <class id="cst" controller="open-ils.cstore" oils_obj:fieldmapper="config::standing" oils_persist:tablename="config.standing" reporter:label="Standing Penalty">
1666                 <fields oils_persist:primary="id" oils_persist:sequence="config.standing_id_seq">
1667                         <field name="id" reporter:datatype="id" />
1668                         <field name="value" oils_persist:i18n="true" />
1669                 </fields>
1670                 <links/>
1671         </class>
1672         <class id="mous" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="money::open_user_summary" oils_persist:tablename="money.open_usr_summary" reporter:label="Open User Summary">
1673                 <fields oils_persist:primary="usr" oils_persist:sequence="">
1674                         <field name="balance_owed" reporter:datatype="money" />
1675                         <field name="total_owed" reporter:datatype="money" />
1676                         <field name="total_paid" reporter:datatype="money" />
1677                         <field name="usr" reporter:datatype="link"/>
1678                 </fields>
1679                 <links>
1680                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1681         </links>
1682         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1683             <actions>
1684                 <retrieve permission="VIEW_USER">
1685                     <context link="usr" field="home_ou"/>
1686                 </retrieve>
1687             </actions>
1688         </permacrud>
1689         </class>
1690         <class id="mct" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="money::collections_tracker" oils_persist:tablename="money.collections_tracker" reporter:label="Collections Tracker">
1691                 <fields oils_persist:primary="id" oils_persist:sequence="money.collections_tracker_id_seq">
1692                         <field name="collector" />
1693                         <field name="enter_time" reporter:datatype="timestamp"/>
1694                         <field name="id" reporter:datatype="id" />
1695                         <field name="location" reporter:datatype="link"/>
1696                         <field name="usr" reporter:datatype="link"/>
1697                 </fields>
1698                 <links>
1699                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1700                         <link field="collector" reltype="has_a" key="id" map="" class="au"/>
1701                         <link field="location" reltype="has_a" key="id" map="" class="aou"/>
1702                 </links>
1703         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1704             <actions>
1705                 <create permission="money.collections_tracker.create" context_field="location"/>
1706                 <retrieve permission="money.collections_tracker.create" context_field="location"/> 
1707                 <delete permission="money.collections_tracker.create" context_field="location"/>
1708             </actions>
1709         </permacrud>
1710         </class>
1711         <class id="bre" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="biblio::record_entry" oils_persist:tablename="biblio.record_entry" reporter:core="true" reporter:label="Bibliographic Record">
1712                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry_id_seq">
1713                         <field reporter:label="Call Numbers" name="call_numbers" oils_persist:virtual="true" reporter:datatype="link"/>
1714                         <field reporter:label="Fixed Field Entry" name="fixed_fields" oils_persist:virtual="true" reporter:datatype="link"/>
1715                         <field reporter:label="Is Active?" name="active" reporter:datatype="bool"/>
1716                         <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1717                         <field reporter:label="Record Creator" name="creator" reporter:datatype="link"/>
1718                         <field reporter:label="Is Deleted?" name="deleted" reporter:datatype="bool"/>
1719                         <field reporter:label="Last Edit Data/Time" name="edit_date" reporter:datatype="timestamp"/>
1720                         <field reporter:label="Last Editing User" name="editor" reporter:datatype="link"/>
1721                         <field reporter:label="Fingerprint" name="fingerprint"  reporter:datatype="text"/>
1722                         <field reporter:label="Record ID" name="id" reporter:datatype="id" />
1723                         <field reporter:label="Last Transaction ID" name="last_xact_id"  reporter:datatype="text"/>
1724                         <field reporter:label="MARC21Slim" name="marc"  reporter:datatype="text"/>
1725                         <field reporter:label="Overall Quality" name="quality" reporter:datatype="int" />
1726                         <field reporter:label="Record Source" name="source" reporter:datatype="link"/>
1727                         <field reporter:label="TCN Source" name="tcn_source"  reporter:datatype="text"/>
1728                         <field reporter:label="TCN Value" name="tcn_value"  reporter:datatype="text"/>
1729                         <field reporter:label="Owner" name="owner"  reporter:datatype="org_unit"/>
1730                         <field reporter:label="Share Depth" name="share_depth"  reporter:datatype="int"/>
1731                         <field reporter:label="Metarecord" name="metarecord" oils_persist:virtual="true" reporter:datatype="link"/>
1732                         <field reporter:label="Language Code" name="language" oils_persist:virtual="true" reporter:datatype="link"/>
1733                         <field reporter:label="Non-MARC Record Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1734                         <field reporter:label="Indexed Keyword Field Entries" name="keyword_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1735                         <field reporter:label="Indexed Subject Field Entries" name="subject_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1736                         <field reporter:label="Indexed Title Field Entries" name="title_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1737                         <field reporter:label="Indexed Identifier Field Entries" name="identifier_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1738                         <field reporter:label="Indexed Author Field Entries" name="author_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1739                         <field reporter:label="Indexed Series Field Entries" name="series_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1740                         <field reporter:label="Flattened MARC Fields " name="full_record_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1741                         <field reporter:label="Simple Record Extracts " name="simple_record" oils_persist:virtual="true" reporter:datatype="link"/>
1742                 </fields>
1743                 <links>
1744                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
1745                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1746                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1747                         <link field="simple_record" reltype="might_have" key="id" map="" class="rmsr"/>
1748                         <link field="metarecord" reltype="might_have" key="source" map="metarecord" class="mmrsm"/>
1749                         <link field="call_numbers" reltype="has_many" key="record" map="" class="acn"/>
1750                         <link field="keyword_field_entries" reltype="has_many" key="source" map="" class="mkfe"/>
1751                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="mrd"/>
1752                         <link field="language" reltype="might_have" key="record" map="item_lang" class="mrd"/>
1753                         <link field="subject_field_entries" reltype="has_many" key="source" map="" class="msfe"/>
1754                         <link field="title_field_entries" reltype="has_many" key="source" map="" class="mtfe"/>
1755                         <link field="identifier_field_entries" reltype="has_many" key="source" map="" class="mife"/>
1756                         <link field="notes" reltype="has_many" key="record" map="" class="bren"/>
1757                         <link field="author_field_entries" reltype="has_many" key="source" map="" class="mafe"/>
1758                         <link field="series_field_entries" reltype="has_many" key="source" map="" class="msefe"/>
1759                         <link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
1760                 </links>
1761         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1762             <actions>
1763                 <create permission="CREATE_MARC IMPORT_MARC" global_required="true"/>
1764                 <retrieve/>
1765                 <update permission="UPDATE_MARC" global_required="true"/>
1766             </actions>
1767         </permacrud>
1768         </class>
1769         <class id="aouhoo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit::hours_of_operation" oils_persist:tablename="actor.hours_of_operation" reporter:label="Hours of Operation">
1770                 <fields oils_persist:primary="id">
1771                         <field name="dow_0_close" />
1772                         <field name="dow_0_open" />
1773                         <field name="dow_1_close" />
1774                         <field name="dow_1_open" />
1775                         <field name="dow_2_close" />
1776                         <field name="dow_2_open" />
1777                         <field name="dow_3_close" />
1778                         <field name="dow_3_open" />
1779                         <field name="dow_4_close" />
1780                         <field name="dow_4_open" />
1781                         <field name="dow_5_close" />
1782                         <field name="dow_5_open" />
1783                         <field name="dow_6_close" />
1784                         <field name="dow_6_open" />
1785                         <field name="id" reporter:datatype="id" />
1786                         <field name="org_unit" oils_persist:virtual="true" reporter:datatype="org_unit"/>
1787                 </fields>
1788                 <links>
1789                         <link field="id" reltype="might_have" key="id" map="" class="aou"/>
1790                 </links>
1791         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1792             <actions>
1793                 <create permission="CREATE_HOURS_OF_OPERATION" context_field="id"/>
1794                 <retrieve/>
1795                 <update permission="UPDATE_HOURS_OF_OPERATION" context_field="id"/>
1796                 <delete permission="DELETE_HOURS_OF_OPERATION" context_field="id"/>
1797             </actions>
1798         </permacrud>
1799         </class>
1800         <class id="aoucd" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit::closed_date" oils_persist:tablename="actor.org_unit_closed" reporter:label="Closed Dates">
1801                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_closed_id_seq">
1802                         <field name="close_end" reporter:datatype="timestamp" />
1803                         <field name="close_start" reporter:datatype="timestamp" />
1804                         <field name="id" reporter:datatype="id" />
1805                         <field name="org_unit" reporter:datatype="org_unit"/>
1806                         <field name="reason" reporter:datatype="text"/>
1807                 </fields>
1808                 <links>
1809                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1810                 </links>
1811         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1812             <actions>
1813                 <create permission="CREATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1814                 <retrieve/>
1815                 <update permission="UPDATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1816                 <delete permission="DELETE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1817             </actions>
1818         </permacrud>
1819         </class>
1820         <class id="crcd" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::circ_duration" oils_persist:tablename="config.rule_circ_duration" reporter:label="Circulation Duration Rule">
1821                 <fields oils_persist:primary="id" oils_persist:sequence="config.rule_circ_duration_id_seq">
1822                         <field name="extended" reporter:datatype="interval"/>
1823                         <field name="id" reporter:datatype="id" reporter:selector="name"/>
1824                         <field name="max_renewals" reporter:datatype="int" />
1825                         <field name="name" reporter:datatype="text"/>
1826                         <field name="normal" reporter:datatype="interval"/>
1827                         <field name="shrt" reporter:datatype="interval"/>
1828                 </fields>
1829                 <links>
1830                 </links>
1831         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1832             <actions>
1833                 <create permission="CREATE_CIRC_DURATION" global_required="true"/>
1834                 <retrieve/>
1835                 <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
1836                 <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
1837             </actions>
1838         </permacrud>
1839         </class>
1840         <class id="mobts" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_billable_transaction_summary" oils_persist:tablename="money.open_billable_xact_summary" reporter:label="Open Billable Transaction Summary">
1841                 <fields oils_persist:primary="id" oils_persist:sequence="">
1842                         <field name="balance_owed" reporter:datatype="money"/>
1843                         <field name="id" reporter:datatype="id" />
1844                         <field name="last_billing_note" reporter:datatype="text"/>
1845                         <field name="last_billing_ts" reporter:datatype="timestamp"/>
1846                         <field name="last_billing_type" reporter:datatype="text"/>
1847                         <field name="last_payment_note" reporter:datatype="text"/>
1848                         <field name="last_payment_ts" reporter:datatype="timestamp"/>
1849                         <field name="last_payment_type" reporter:datatype="text"/>
1850                         <field name="total_owed" reporter:datatype="money"/>
1851                         <field name="total_paid" reporter:datatype="money"/>
1852                         <field name="usr" reporter:datatype="link"/>
1853                         <field name="xact_finish" reporter:datatype="timestamp" />
1854                         <field name="xact_start" reporter:datatype="timestamp" />
1855                         <field name="xact_type" reporter:datatype="text"/>
1856                         <field name="xact" oils_persist:virtual="true" reporter:datatype="link"/>
1857                         <field name="grocery" oils_persist:virtual="true" reporter:datatype="link"/>
1858                         <field name="circulation" oils_persist:virtual="true" reporter:datatype="link"/>
1859                         <field name="billing_location" reporter:datatype="link"/>
1860                 </fields>
1861                 <links>
1862                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1863                         <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
1864                         <link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
1865                         <link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
1866                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
1867                 </links>
1868         </class>
1869         <class id="au" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user" oils_persist:tablename="actor.usr" reporter:core="true" reporter:label="ILS User">
1870                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_id_seq">
1871                         <field reporter:label="All Addresses" name="addresses" oils_persist:virtual="true" reporter:datatype="link"/>
1872                         <field reporter:label="All Library Cards" name="cards" oils_persist:virtual="true" reporter:datatype="link"/>
1873                         <field reporter:label="All Circulations" name="checkouts" oils_persist:virtual="true" reporter:datatype="link"/>
1874                         <field reporter:label="All Hold Requests" name="hold_requests" oils_persist:virtual="true" reporter:datatype="link"/>
1875                         <field reporter:label="All Permissions" name="permissions" oils_persist:virtual="true" reporter:datatype="link"/>
1876                         <field reporter:label="All User Settings" name="settings" oils_persist:virtual="true" reporter:datatype="link"/>
1877                         <field reporter:label="Standing Penalties" name="standing_penalties" oils_persist:virtual="true" reporter:datatype="link"/>
1878                         <field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1879                         <field reporter:label="Survey Responses" name="survey_responses" oils_persist:virtual="true" reporter:datatype="link"/>
1880                         <field reporter:label="Workstation Org Unit" name="ws_ou" oils_persist:virtual="true" reporter:datatype="link"/>
1881                         <field reporter:label="Workstation ID" name="wsid" oils_persist:virtual="true" reporter:datatype="link"/>
1882                         <field reporter:label="Active" name="active" reporter:datatype="bool"/>
1883                         <field reporter:label="Alert Message" name="alert_message"  reporter:datatype="text"/>
1884                         <field reporter:label="Barred" name="barred" reporter:datatype="bool"/>
1885                         <field reporter:label="Physical Address" name="billing_address" reporter:datatype="link"/>
1886                         <field reporter:label="Current Library Card" name="card" reporter:datatype="link"/>
1887                         <field reporter:label="Claims-returned Count" name="claims_returned_count" reporter:datatype="int" />
1888                         <field reporter:label="Claims Never Checked Out Count" name="claims_never_checked_out_count" reporter:datatype="int" />
1889                         <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1890                         <field reporter:label="User Credit Balance" name="credit_forward_balance" reporter:datatype="money" />
1891                         <field reporter:label="Daytime Phone" name="day_phone"  reporter:datatype="text"/>
1892                         <field reporter:label="Date of Birth" name="dob" reporter:datatype="timestamp"/>
1893                         <field reporter:label="Email Address" name="email"  reporter:datatype="text"/>
1894                         <field reporter:label="Evening Phone" name="evening_phone"  reporter:datatype="text"/>
1895                         <field reporter:label="Privilege Expiration Date" name="expire_date" reporter:datatype="timestamp"/>
1896                         <field reporter:label="Last Name" name="family_name"  reporter:datatype="text"/>
1897                         <field reporter:label="First Name" name="first_given_name"  reporter:datatype="text"/>
1898                         <field reporter:label="Home Library" name="home_ou" reporter:datatype="org_unit"/>
1899                         <field reporter:label="User ID" name="id" reporter:datatype="id" />
1900                         <field reporter:label="Primary Identification Type" name="ident_type" reporter:datatype="link"/>
1901                         <field reporter:label="Secondary Identification Type" name="ident_type2" reporter:datatype="link"/>
1902                         <field reporter:label="Primary Identification" name="ident_value"  reporter:datatype="text"/>
1903                         <field reporter:label="Secondary Identification" name="ident_value2"  reporter:datatype="text"/>
1904                         <field reporter:label="Last Transaction ID" name="last_xact_id" reporter:datatype="text"/>
1905                         <field reporter:label="Mailing Address" name="mailing_address" reporter:datatype="link"/>
1906                         <field reporter:label="Is Group Lead Account" name="master_account" reporter:datatype="bool"/>
1907                         <field reporter:label="Internet Access Level" name="net_access_level" reporter:datatype="link"/>
1908                         <field reporter:label="Other Phone" name="other_phone"  reporter:datatype="text"/>
1909                         <field reporter:label="Password" name="passwd"  reporter:datatype="text"/>
1910                         <field reporter:label="Photo URL" name="photo_url"  reporter:datatype="text"/>
1911                         <field reporter:label="Prefix" name="prefix"  reporter:datatype="text"/>
1912                         <field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="link"/>
1913                         <field reporter:label="Middle Name" name="second_given_name"  reporter:datatype="text"/>
1914                         <field reporter:label="Standing (unused)" name="standing" reporter:datatype="link"/>
1915                         <field reporter:label="Suffix/Title" name="suffix"  reporter:datatype="text"/>
1916                         <field reporter:label="Is Super User" name="super_user" reporter:datatype="bool"/>
1917                         <field reporter:label="Family Linkage or other Group" name="usrgroup" reporter:datatype="int"/>
1918                         <field reporter:label="OPAC/Staff Client User Name" name="usrname"  reporter:datatype="text"/>
1919                         <field reporter:label="OPAC/Staff Client Holds Alias" name="alias"  reporter:datatype="text"/>
1920                         <field reporter:label="Juvenile" name="juvenile"  reporter:datatype="bool"/>
1921                         <field reporter:label="Additional Permission Groups" name="groups" oils_persist:virtual="true" reporter:datatype="link"/>
1922                         <field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
1923                         <field reporter:label="User Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1924                         <field reporter:label="Demographic Info" name="demographic" oils_persist:virtual="true" reporter:datatype="link"/>
1925                         <field reporter:label="Billable Transactions" name="billable_transactions" oils_persist:virtual="true" reporter:datatype="link"/>
1926                         <field reporter:label="Money Summary" name="money_summary" oils_persist:virtual="true" reporter:datatype="link"/>
1927                         <field reporter:label="Open Billable Transactions" name="open_billable_transactions_summary" oils_persist:virtual="true" reporter:datatype="link"/>
1928                         <field reporter:label="Checkins" name="checkins" oils_persist:virtual="true" reporter:datatype="link"/>
1929                         <field reporter:label="Circulations Performed as Staff" name="performed_circulations" oils_persist:virtual="true" reporter:datatype="link"/>
1930                         <field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
1931                         <field reporter:label="Reservations" name="reservations" oils_persist:virtual="true" reporter:datatype="link"/>
1932                 </fields>
1933                 <links>
1934                         <link field="demographic" reltype="might_have" key="id" map="" class="rud"/>
1935                         <link field="net_access_level" reltype="has_a" key="id" map="" class="cnal"/>
1936                         <link field="profile" reltype="has_a" key="id" map="" class="pgt"/>
1937                         <link field="ident_type" reltype="has_a" key="id" map="" class="cit"/>
1938                         <link field="billing_address" reltype="has_a" key="id" map="" class="aua"/>
1939                         <link field="mailing_address" reltype="has_a" key="id" map="" class="aua"/>
1940                         <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
1941                         <link field="standing" reltype="has_a" key="id" map="" class="cst"/>
1942                         <link field="card" reltype="has_a" key="id" map="" class="ac"/>
1943                         <link field="ident_type2" reltype="has_a" key="id" map="" class="cit"/>
1944                         <link field="stat_cat_entries" reltype="has_many" key="target_usr" map="" class="actscecm"/>
1945                         <link field="groups" reltype="has_many" key="usr" map="grp" class="pugm"/>
1946                         <link field="usrgroup" reltype="has_many" key="usrgroup" map="" class="au"/>
1947                         <link field="checkouts" reltype="has_many" key="usr" map="" class="circ"/>
1948                         <link field="hold_requests" reltype="has_many" key="usr" map="" class="circ"/>
1949                         <link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
1950                         <link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
1951                         <link field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
1952                         <link field="open_billable_transactions_summary" reltype="has_many" key="usr" map="" class="mobts"/>
1953                         <link field="money_summary" reltype="might_have" key="usr" map="" class="mus"/>
1954                         <link field="standing_penalties" reltype="has_many" key="usr" map="" class="ausp"/>
1955                         <link field="addresses" reltype="has_many" key="usr" map="" class="aua"/>
1956                         <link field="survey_responses" reltype="has_many" key="usr" map="" class="asvr"/>
1957                         <link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
1958                         <link field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
1959                         <link field="cards" reltype="has_many" key="usr" map="" class="ac"/>
1960                         <link field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
1961                         <link field="fund_alloc_pcts" reltype="has_many" key="allocator" map="" class="acqfap"/>
1962                         <link field="reservations" reltype="has_many" key="usr" map="" class="bresv"/>
1963                 </links>
1964         </class>
1965
1966         <class id="cust" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::usr_setting_type" oils_persist:tablename="config.usr_setting_type" reporter:label="User Setting Type">
1967                 <fields oils_persist:primary="name">
1968                         <field name="name" reporter:datatype="text"/>
1969                         <field name="label" reporter:datatype="text"/>
1970                         <field name="description" reporter:datatype="text"/>
1971                         <field name="datatype" reporter:datatype="text"/>
1972                         <field name="fm_class" reporter:datatype="text"/>
1973                 </fields>
1974                 <links>
1975                         <link field="name" reltype="has_many" key="name" map="" class="aus"/>
1976                 </links>
1977                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1978                         <actions>
1979                                 <create permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
1980                                 <retrieve/>
1981                                 <update permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
1982                                 <delete permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
1983                         </actions>
1984                 </permacrud>
1985         </class>
1986         <class id="coust" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::org_unit_setting_type" oils_persist:tablename="config.org_unit_setting_type" reporter:label="Organizational Unit Setting Type">
1987                 <fields oils_persist:primary="name">
1988                         <field name="name" reporter:datatype="text"/>
1989                         <field name="label" reporter:datatype="text"/>
1990                         <field name="description" reporter:datatype="text"/>
1991                         <field name="datatype" reporter:datatype="text"/>
1992                         <field name="view_perm" reporter:datatype="link"/>
1993                         <field name="update_perm" reporter:datatype="link"/>
1994                         <field name="fm_class" reporter:datatype="text"/>
1995                 </fields>
1996                 <links>
1997                         <link field="name" reltype="has_many" key="name" map="" class="aous"/>
1998                         <link field="view_perm" reltype="has_a" key="id" map="" class="ppl"/>
1999                         <link field="update_perm" reltype="has_a" key="id" map="" class="ppl"/>
2000                 </links>
2001                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2002                         <actions>
2003                                 <create permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2004                                 <retrieve/>
2005                                 <update permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2006                                 <delete permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2007                         </actions>
2008                 </permacrud>
2009         </class>
2010         <class id="aous" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_setting" oils_persist:tablename="actor.org_unit_setting" reporter:label="Organizational Unit Setting">
2011                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
2012                         <field name="id" />
2013                         <field name="name"  reporter:datatype="text"/>
2014                         <field name="org_unit" reporter:datatype="org_unit"/>
2015                         <field name="value"  reporter:datatype="text"/>
2016                 </fields>
2017                 <links>
2018                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2019                         <link field="name" reltype="has_a" key="name" map="" class="coust"/>
2020                 </links>
2021         </class>
2022         <class id="acpn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_note" oils_persist:tablename="asset.copy_note" reporter:label="Copy Note">
2023                 <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_note_id_seq">
2024                         <field reporter:label="Note Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
2025                         <field reporter:label="Note Creator" name="creator" reporter:datatype="link"/>
2026                         <field reporter:label="Note ID" name="id" reporter:datatype="id" />
2027                         <field reporter:label="Copy" name="owning_copy" reporter:datatype="link"/>
2028                         <field reporter:label="Is OPAC Visible?" name="pub" reporter:datatype="bool"/>
2029                         <field reporter:label="Note Title" name="title"  reporter:datatype="text"/>
2030                         <field reporter:label="Note Content" name="value"  reporter:datatype="text"/>
2031                 </fields>
2032                 <links>
2033                         <link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
2034                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
2035                 </links>
2036         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2037             <actions>
2038                 <create permission="CREATE_COPY_NOTE">
2039                     <context link="owning_copy" field="circ_lib"/>
2040                 </create>
2041                 <retrieve permission="VIEW_COPY_NOTES">
2042                     <context link="owning_copy" field="circ_lib"/>
2043                 </retrieve>
2044                 <update permission="UPDATE_COPY_NOTE">
2045                     <context link="owning_copy" field="circ_lib"/>
2046                 </update>
2047                 <delete permission="DELETE_COPY_NOTE">
2048                     <context link="owning_copy" field="circ_lib"/>
2049                 </delete>
2050             </actions>
2051         </permacrud>
2052         </class>
2053         <class id="mfr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::full_rec" oils_persist:tablename="metabib.full_rec" reporter:label="Flattened MARC Fields">
2054                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.full_rec_id_seq">
2055                         <field reporter:label="Field ID" name="id" reporter:datatype="id" />
2056                         <field reporter:label="Indicator 1" name="ind1" oils_persist:primitive="string"  reporter:datatype="text"/>
2057                         <field reporter:label="Indicator 2" name="ind2" oils_persist:primitive="string"  reporter:datatype="text"/>
2058                         <field reporter:label="Bib Record Entry" name="record" reporter:datatype="link"/>
2059                         <field reporter:label="Subfield" name="subfield" oils_persist:primitive="string"  reporter:datatype="text"/>
2060                         <field reporter:label="Tag" name="tag"  reporter:datatype="text"/>
2061                         <field reporter:label="Normalized Value" name="value"  reporter:datatype="text"/>
2062                 </fields>
2063                 <links>
2064                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2065                 </links>
2066         </class>
2067         <class id="mmr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord" oils_persist:tablename="metabib.metarecord" reporter:label="Metarecord">
2068                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_id_seq">
2069                         <field name="fingerprint"  reporter:datatype="text"/>
2070                         <field name="id" reporter:datatype="id" />
2071                         <field name="master_record" reporter:datatype="link"/>
2072                         <field name="mods"  reporter:datatype="text"/>
2073                         <field name="source_records" oils_persist:virtual="true" reporter:datatype="link"/>
2074                 </fields>
2075                 <links>
2076                         <link field="master_record" reltype="has_a" key="id" map="" class="bre"/>
2077                         <link field="source_records" reltype="has_many" key="metarecord" map="source" class="mmrsm"/>
2078                 </links>
2079         </class>
2080         <class id="cnal" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::net_access_level" oils_persist:tablename="config.net_access_level" reporter:label="Net Access Level">
2081                 <fields oils_persist:primary="id" oils_persist:sequence="config.net_access_level_id_seq">
2082                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2083                         <field name="name"  reporter:datatype="text"/>
2084                 </fields>
2085                 <links/>
2086         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2087             <actions>
2088                 <create permission="CREATE_NET_ACCESS_LEVEL" global_required="true"/>
2089                 <retrieve/>
2090                 <update permission="UPDATE_NET_ACCESS_LEVEL" global_required="true"/>
2091                 <delete permission="DELETE_NET_ACCESS_LEVEL" global_required="true"/>
2092             </actions>
2093         </permacrud>
2094         </class>
2095         <class id="ppl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="permission::perm_list" oils_persist:tablename="permission.perm_list" reporter:label="Permission List">
2096                 <fields oils_persist:primary="id" oils_persist:sequence="permission.perm_list_id_seq">
2097                         <field name="code"  reporter:datatype="text"/>
2098                         <field name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
2099                         <field name="id" reporter:selector="code" reporter:datatype="id"/>
2100                 </fields>
2101                 <links/>
2102         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2103             <actions>
2104                 <create permission="CREATE_PERM" global_required="true"/>
2105                 <retrieve permission="CREATE_PERM UPDATE_PERM DELETE_PERM" global_required="true"/>
2106                 <update permission="UPDATE_PERM" global_required="true"/>
2107                 <delete permission="DELETE_PERM" global_required="true"/>
2108             </actions>
2109         </permacrud>
2110         </class>
2111         <class id="mmrsm" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord_source_map" oils_persist:tablename="metabib.metarecord_source_map" oils_persist:field_safe="true" reporter:label="Metarecord Source Map">
2112                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_source_map_id_seq">
2113                         <field name="id" reporter:datatype="id" />
2114                         <field name="metarecord" reporter:datatype="link"/>
2115                         <field name="source" reporter:datatype="link"/>
2116                 </fields>
2117                 <links>
2118                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2119                         <link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
2120                 </links>
2121         </class>
2122         <class id="mfae" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::facet_entry" reporter:label="Combined Facet Entry View" oils_persist:readonly="true">
2123                 <oils_persist:source_definition>
2124                         SELECT * FROM (
2125                                 SELECT * FROM metabib.author_field_entry
2126                                                 UNION ALL
2127                                 SELECT * FROM metabib.keyword_field_entry
2128                                                 UNION ALL
2129                                 SELECT * FROM metabib.identifier_field_entry
2130                                                 UNION ALL
2131                                 SELECT * FROM metabib.title_field_entry
2132                                                 UNION ALL
2133                                 SELECT * FROM metabib.subject_field_entry
2134                                                 UNION ALL
2135                                 SELECT * FROM metabib.series_field_entry
2136                         )x
2137                         WHERE x.index_vector = ''
2138                 </oils_persist:source_definition>
2139                 <fields>
2140                         <field name="field" reporter:datatype="link"/>
2141                         <field name="id" reporter:datatype="id" />
2142                         <field name="source" reporter:datatype="link"/>
2143                         <field name="value"  reporter:datatype="text"/>
2144                 </fields>
2145                 <links>
2146                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2147                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2148                 </links>
2149         </class>
2150         <class id="mfe" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::field_entry" reporter:label="Combined Field Entry View" oils_persist:readonly="true">
2151                 <oils_persist:source_definition>
2152                         SELECT * FROM metabib.author_field_entry
2153                                                 UNION ALL
2154                         SELECT * FROM metabib.keyword_field_entry
2155                                                 UNION ALL
2156                         SELECT * FROM metabib.identifier_field_entry
2157                                                 UNION ALL
2158                         SELECT * FROM metabib.title_field_entry
2159                                                 UNION ALL
2160                         SELECT * FROM metabib.subject_field_entry
2161                                                 UNION ALL
2162                         SELECT * FROM metabib.series_field_entry
2163                 </oils_persist:source_definition>
2164                 <fields>
2165                         <field name="field" reporter:datatype="link"/>
2166                         <field name="id" reporter:datatype="id" />
2167                         <field name="source" reporter:datatype="link"/>
2168                         <field name="value"  reporter:datatype="text"/>
2169                 </fields>
2170                 <links>
2171                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2172                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2173                 </links>
2174         </class>
2175         <class id="mkfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::keyword_field_entry" oils_persist:tablename="metabib.keyword_field_entry" reporter:label="Keyword Field Entry">
2176                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.keyword_field_entry_id_seq">
2177                         <field name="field" reporter:datatype="link"/>
2178                         <field name="id" reporter:datatype="id" />
2179                         <field name="source" reporter:datatype="link"/>
2180                         <field name="value"  reporter:datatype="text"/>
2181                 </fields>
2182                 <links>
2183                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2184                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2185                 </links>
2186         </class>
2187         <class id="mcp" controller="open-ils.cstore" oils_obj:fieldmapper="money::cash_payment" oils_persist:tablename="money.cash_payment" reporter:label="Cash Payment">
2188                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2189                         <field name="accepting_usr" reporter:datatype="link"/>
2190                         <field name="amount" reporter:datatype="money" />
2191                         <field name="amount_collected" reporter:datatype="money" />
2192                         <field name="cash_drawer" reporter:datatype="link"/>
2193                         <field name="id" reporter:datatype="id" />
2194                         <field name="note"  reporter:datatype="text"/>
2195                         <field name="payment_ts" reporter:datatype="timestamp"/>
2196                         <field name="xact" reporter:datatype="link"/>
2197                         <field name="payment_type" oils_persist:virtual="true"  reporter:datatype="text"/>
2198                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
2199                 </fields>
2200                 <links>
2201                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2202                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2203                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
2204                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2205                 </links>
2206         </class>
2207         <class id="mfp" controller="open-ils.cstore" oils_obj:fieldmapper="money::forgive_payment" oils_persist:tablename="money.forgive_payment" reporter:label="Forgive Payment">
2208                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2209                         <field name="accepting_usr" reporter:datatype="link"/>
2210                         <field name="amount" reporter:datatype="money" />
2211                         <field name="amount_collected" reporter:datatype="money" />
2212                         <field name="id" reporter:datatype="id" />
2213                         <field name="note"  reporter:datatype="text"/>
2214                         <field name="payment_ts" reporter:datatype="timestamp"/>
2215                         <field name="xact" reporter:datatype="link"/>
2216                         <field name="payment_type" oils_persist:virtual="true"  reporter:datatype="text"/>
2217                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
2218                 </fields>
2219                 <links>
2220                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2221                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2222                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2223                 </links>
2224         </class>
2225         <class id="mrd" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::record_descriptor" oils_persist:tablename="metabib.rec_descriptor" reporter:label="Basic Record Descriptor">
2226                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.rec_descriptor_id_seq">
2227                         <field reporter:label="Audn" name="audience" oils_persist:primitive="string"  reporter:datatype="text"/>
2228                         <field reporter:label="BLvl" name="bib_level" oils_persist:primitive="string"  reporter:datatype="text"/>
2229                         <field reporter:label="Cat Form" name="cat_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2230                         <field reporter:label="Character Encoding" name="char_encoding" oils_persist:primitive="string"  reporter:datatype="text"/>
2231                         <field reporter:label="Ctrl" name="control_type" oils_persist:primitive="string"  reporter:datatype="text"/>
2232                         <field reporter:label="ELvl" name="enc_level" oils_persist:primitive="string"  reporter:datatype="text"/>
2233                         <field reporter:label="Descriptor ID" name="id" reporter:datatype="id" />
2234                         <field reporter:label="Form" name="item_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2235                         <field reporter:label="Lang" name="item_lang" oils_persist:primitive="string"  reporter:datatype="text"/>
2236                         <field reporter:label="Type" name="item_type" oils_persist:primitive="string"  reporter:datatype="text"/>
2237                         <field reporter:label="LitF" name="lit_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2238                         <field reporter:label="Pub Status" name="pub_status" oils_persist:primitive="string"  reporter:datatype="text"/>
2239                         <field reporter:label="Bib Record Entry" name="record" reporter:datatype="link"/>
2240                         <field reporter:label="TMat" name="type_mat" oils_persist:primitive="string"  reporter:datatype="text"/>
2241                         <field reporter:label="Video Recording Format" name="vr_format" oils_persist:primitive="string"  reporter:datatype="text"/>
2242                         <field reporter:label="Date1" name="date1" oils_persist:primitive="string"  reporter:datatype="text"/>
2243                         <field reporter:label="Date2" name="date2" oils_persist:primitive="string"  reporter:datatype="text"/>
2244                 </fields>
2245                 <links>
2246                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2247                         <link field="item_lang" reltype="has_a" key="code" map="" class="clm"/>
2248                         <link field="item_type" reltype="has_a" key="code" map="" class="citm"/>
2249                         <link field="bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
2250                         <link field="item_form" reltype="has_a" key="code" map="" class="cifm"/>
2251                         <link field="audience" reltype="has_a" key="code" map="" class="cam"/>
2252                         <link field="lit_form" reltype="has_a" key="code" map="" class="clfm"/>
2253                 </links>
2254         </class>
2255
2256         <class id="csp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::standing_penalty" oils_persist:tablename="config.standing_penalty" reporter:label="Standing Penalty">
2257                 <fields oils_persist:primary="id" oils_persist:sequence="config.standing_penalty_id_seq">
2258                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2259                         <field name="name"  reporter:datatype="text"/>
2260                         <field name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
2261                         <field name="block_list" reporter:datatype="text"/>
2262                         <field name="org_depth" reporter:datatype="int"/>
2263                 </fields>
2264                 <links/>
2265         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2266             <actions>
2267                 <create permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2268                 <retrieve permission="ADMIN_STANDING_PENALTY VIEW_STANDING_PENALTY" global_required="true"/>
2269                 <update permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2270                 <delete permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2271             </actions>
2272         </permacrud>
2273         </class>
2274         <class id="pgpt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="permission::grp_penalty_threshold" oils_persist:tablename="permission.grp_penalty_threshold" reporter:label="Group Penalty Threshold">
2275                 <fields oils_persist:primary="id" oils_persist:sequence="permission.grp_penalty_threshold_id_seq">
2276                         <field name="id" reporter:selector="name" reporter:datatype="id" reporter:label="ID"/>
2277                         <field name="grp"  reporter:datatype="link" reporter:label="Group"/>
2278                         <field name="penalty"  reporter:datatype="link" reporter:label="Penalty"/>
2279                         <field name="threshold" reporter:datatype="float" reporter:label="Threshold"/>
2280                         <field name="org_unit" reporter:datatype="org_unit" reporter:label="Org Unit"/>
2281                 </fields>
2282                 <links>
2283                         <link field="penalty" reltype="has_a" key="id" map="" class="csp"/>
2284                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
2285                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2286         </links>
2287         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2288             <actions>
2289                 <create permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2290                 <retrieve permission="VIEW_GROUP_PENALTY_THRESHOLD ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2291                 <update permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2292                 <delete permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2293             </actions>
2294         </permacrud>
2295         </class>
2296         <class id="ccs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::copy_status" oils_persist:tablename="config.copy_status" oils_persist:restrict_primary="100" reporter:label="Copy Status">
2297                 <fields oils_persist:primary="id" oils_persist:sequence="config.copy_status_id_seq">
2298                         <field name="holdable" reporter:datatype="bool"/>
2299                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2300                         <field name="name"  reporter:datatype="text" oils_persist:i18n="true"/>
2301                         <field name="opac_visible" reporter:datatype="bool"/>
2302                 </fields>
2303                 <links/>
2304         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2305             <actions>
2306                 <create permission="CREATE_COPY_STATUS" global_required="true"/>
2307                 <retrieve/>
2308                 <update permission="UPDATE_COPY_STATUS" global_required="true"/>
2309                 <delete permission="DELETE_COPY_STATUS" global_required="true"/>
2310             </actions>
2311         </permacrud>
2312         </class>
2313         <class id="ausp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::user_standing_penalty" oils_persist:tablename="actor.usr_standing_penalty" oils_persist:restrict_primary="100" reporter:label="User Standing Penalty">
2314                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_standing_penalty_id_seq">
2315                         <field name="id" reporter:datatype="id" reporter:label="ID" />
2316                         <field name="set_date" reporter:datatype="timestamp" reporter:label="Set Date"/>
2317                         <field name="usr" reporter:datatype="link" reporter:label="User"/>
2318                         <field name="staff" reporter:datatype="link" reporter:label="Staff"/>
2319                         <field name="standing_penalty" reporter:datatype="link" reporter:label="Standing Penalty"/>
2320                         <field name="org_unit" reporter:datatype="link" reporter:label="Org Unit"/>
2321                         <field name="stop_date" reporter:datatype="timestamp" reporter:label="Stop Date"/>
2322                         <field name="note" reporter:datatype="text" reporter:label="Note"/>
2323                 </fields>
2324                 <links>
2325                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2326                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2327                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
2328                         <link field="standing_penalty" reltype="has_a" key="id" map="" class="csp"/>
2329                 </links>
2330                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2331                         <actions>
2332                                 <create permission="UPDATE_USER"><context link="usr" field="home_ou"/></create>
2333                                 <retrieve permission="VIEW_USER"><context link="usr" field="home_ou"/></retrieve>
2334                                 <update permission="UPDATE_USER"><context link="usr" field="home_ou"/></update>
2335                                 <delete permission="UPDATE_USER"><context link="usr" field="home_ou"/></delete>
2336                         </actions>
2337                 </permacrud>
2338         </class>
2339         <class id="aua" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_address" oils_persist:tablename="actor.usr_address" reporter:label="User Address">
2340                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_address_id_seq">
2341                         <field reporter:label="Type" name="address_type"  reporter:datatype="text"/>
2342                         <field reporter:label="City" name="city"  reporter:datatype="text"/>
2343                         <field reporter:label="Country" name="country"  reporter:datatype="text"/>
2344                         <field reporter:label="County" name="county"  reporter:datatype="text"/>
2345                         <field reporter:label="Address ID" name="id" reporter:datatype="id" />
2346                         <field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
2347                         <field reporter:label="State" name="state"  reporter:datatype="text"/>
2348                         <field reporter:label="Street (1)" name="street1"  reporter:datatype="text"/>
2349                         <field reporter:label="Street (2)" name="street2"  reporter:datatype="text"/>
2350                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
2351                         <field reporter:label="Valid Address?" name="valid" reporter:datatype="bool"/>
2352                         <field reporter:label="Within City Limits?" name="within_city_limits" reporter:datatype="bool"/>
2353                         <field reporter:label="Replaces" name="replaces" reporter:datatype="link"/>
2354                         <field reporter:label="Pending" name="pending" reporter:datatype="bool"/>
2355                 </fields>
2356                 <links>
2357                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2358                         <link field="replaces" reltype="has_a" key="id" map="" class="aua"/>
2359                 </links>
2360         </class>
2361         <class id="acnn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::call_number_note" oils_persist:tablename="asset.call_number_note" reporter:label="Call Number Note">
2362                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_note_id_seq">
2363                         <field name="call_number" />
2364                         <field name="create_date" reporter:datatype="timestamp"/>
2365                         <field name="creator" reporter:datatype="link"/>
2366                         <field name="id" reporter:datatype="id" />
2367                         <field name="pub" reporter:datatype="bool"/>
2368                         <field name="title"  reporter:datatype="text"/>
2369                         <field name="value"  reporter:datatype="text"/>
2370                 </fields>
2371                 <links>
2372                         <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
2373                 </links>
2374         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2375             <actions>
2376                 <create permission="CREATE_VOLUME_NOTE">
2377                     <context link="call_number" field="owning_lib"/>
2378                 </create>
2379                 <retrieve permission="VIEW_VOLUME_NOTES">
2380                     <context link="call_number" field="owning_lib"/>
2381                 </retrieve>
2382                 <update permission="UPDATE_VOLUME_NOTE">
2383                     <context link="call_number" field="owning_lib"/>
2384                 </update>
2385                 <delete permission="DELETE_VOLUME_NOTE">
2386                     <context link="call_number" field="owning_lib"/>
2387                 </delete>
2388             </actions>
2389         </permacrud>
2390         </class>
2391         <class id="arn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::record_note" oils_persist:tablename="authority.record_note" reporter:label="Authority Record Note">
2392                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_note_id_seq">
2393                         <field name="create_date" reporter:datatype="timestamp"/>
2394                         <field name="creator" reporter:datatype="link"/>
2395                         <field name="edit_date" reporter:datatype="timestamp"/>
2396                         <field name="editor" reporter:datatype="link"/>
2397                         <field name="id" reporter:datatype="id" />
2398                         <field name="record" reporter:datatype="link"/>
2399                         <field name="value" reporter:datatype="text"/>
2400                 </fields>
2401                 <links>
2402                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
2403                 </links>
2404         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2405             <actions>
2406                 <create permission="CREATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2407                 <retrieve/>
2408                 <update permission="UPDATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2409                 <delete permission="DELETE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2410             </actions>
2411         </permacrud>
2412         </class>
2413         <class id="circ" controller="open-ils.cstore" oils_obj:fieldmapper="action::circulation" oils_persist:tablename="action.circulation" reporter:core="true" reporter:label="Circulation">
2414                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2415                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2416                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2417                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2418                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2419                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2420                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2421                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2422                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2423                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2424                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2425                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2426                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2427                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2428                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2429                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2430                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2431                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2432                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2433                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2434                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2435                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2436                         <field reporter:label="Patron" name="usr" reporter:datatype="link"/>
2437                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2438                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2439                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2440                         <field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
2441                         <field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
2442                         <field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
2443                         <field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
2444                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2445                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2446                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2447                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2448                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2449                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2450                         <field reporter:label="Unrecovered Debt" name="unrecovered" reporter:datatype="bool"/>
2451                 </fields>
2452                 <links>
2453                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2454                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2455                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2456                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2457                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2458                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2459                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2460                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2461                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2462                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2463                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2464                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2465                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2466                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2467                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2468                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
2469                         <link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
2470                         <link field="parent_circ" reltype="has_a" key="id" map="" class="circ"/>
2471                         <link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
2472                 </links>
2473         </class>
2474         <class id="combcirc" controller="open-ils.cstore" oils_obj:fieldmapper="action::all_circulation" oils_persist:tablename="action.all_circulation" reporter:core="true" reporter:label="Combined Aged and Active Circulations" oils_persist:readonly="true">
2475                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2476                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2477                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2478                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2479                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2480                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2481                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2482                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2483                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2484                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2485                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2486                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2487                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2488                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2489                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2490                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2491                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2492                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2493                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2494                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2495                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2496                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2497                         <field reporter:label="Patron ZIP" name="usr_post_code" reporter:datatype="text"/>
2498                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2499                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2500                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2501                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2502                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2503                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2504                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2505                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2506                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2507                         <field reporter:label="Patron Home Library" name="usr_home_ou" reporter:datatype="link"/>
2508                         <field reporter:label="Patron Profile Group" name="usr_profile" reporter:datatype="link"/>
2509                         <field reporter:label="Patron Birth Year" name="usr_birth_year" reporter:datatype="int"/>
2510                         <field reporter:label="Call Number" name="copy_call_number" reporter:datatype="link"/>
2511                         <field reporter:label="Shelving Location" name="copy_location" reporter:datatype="link"/>
2512                         <field reporter:label="Copy Owning Library" name="copy_owning_lib" reporter:datatype="link"/>
2513                         <field reporter:label="Copy Circulating Library" name="copy_circ_lib" reporter:datatype="link"/>
2514                         <field reporter:label="Bib Record" name="copy_bib_record" reporter:datatype="link"/>
2515                 </fields>
2516                 <links>
2517                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2518                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2519                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2520                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2521                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2522                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2523                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2524                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2525                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2526                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2527                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2528                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2529                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2530                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2531                         <link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
2532                         <link field="copy_location" reltype="has_a" key="id" map="" class="acpl"/>
2533                         <link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
2534                         <link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2535                         <link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
2536                 </links>
2537         </class>
2538         <class id="acirc" controller="open-ils.cstore" oils_obj:fieldmapper="action::aged_circulation" oils_persist:tablename="action.aged_circulation" reporter:core="true" reporter:label="Aged (patronless) Circulation">
2539                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2540                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2541                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2542                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2543                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2544                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2545                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2546                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2547                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2548                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2549                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2550                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2551                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2552                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2553                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2554                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2555                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2556                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2557                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2558                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2559                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2560                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2561                         <field reporter:label="Patron ZIP" name="usr_post_code" reporter:datatype="text"/>
2562                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2563                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2564                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2565                         <field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
2566                         <field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
2567                         <field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
2568                         <field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
2569                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2570                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2571                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2572                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2573                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2574                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2575                         <field reporter:label="Patron Home Library" name="usr_home_ou" reporter:datatype="link"/>
2576                         <field reporter:label="Patron Profile Group" name="usr_profile" reporter:datatype="link"/>
2577                         <field reporter:label="Patron Birth Year" name="usr_birth_year" reporter:datatype="int"/>
2578                         <field reporter:label="Call Number" name="copy_call_number" reporter:datatype="link"/>
2579                         <field reporter:label="Shelving Location" name="copy_location" reporter:datatype="link"/>
2580                         <field reporter:label="Copy Owning Library" name="copy_owning_lib" reporter:datatype="link"/>
2581                         <field reporter:label="Copy Circulating Library" name="copy_circ_lib" reporter:datatype="link"/>
2582                         <field reporter:label="Bib Record" name="copy_bib_record" reporter:datatype="link"/>
2583                 </fields>
2584                 <links>
2585                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2586                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2587                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2588                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2589                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2590                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2591                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2592                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2593                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2594                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2595                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2596                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2597                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2598                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2599                         <link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
2600                         <link field="copy_location" reltype="has_a" key="id" map="" class="acpl"/>
2601                         <link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
2602                         <link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2603                         <link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
2604                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
2605                         <link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
2606                         <link field="parent_circ" reltype="might_have" key="id" map="" class="circ"/>
2607                         <link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
2608                 </links>
2609         </class>
2610
2611         <class id="brt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource_type" oils_persist:tablename="booking.resource_type" reporter:label="Resource Type">
2612                 <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_type_id_seq">
2613                         <field reporter:label="Resource Type ID" name="id" reporter:datatype="id"/>
2614                         <field reporter:label="Resource Type Name" name="name" reporter:datatype="text"/>
2615                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2616                         <field reporter:label="Fine Amount" name="fine_amount" reporter:datatype="money"/>
2617                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money"/>
2618                         <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/>
2619                         <field reporter:label="Catalog Item" name="catalog_item" reporter:datatype="bool"/>
2620                         <field reporter:label="Bibliographic Record" name="record" reporter:datatype="link"/>
2621                         <field reporter:label="Transferable" name="transferable" reporter:datatype="bool"/>
2622                         <field reporter:label="Inter-booking and Inter-circulation Interval" name="elbow_room" reporter:datatype="interval"/>
2623                         <field reporter:label="Resources" name="resources" oils_persist:virtual="true" reporter:datatype="link"/>
2624                         <field reporter:label="Resource Attributes" name="resource_attrs" oils_persist:virtual="true" reporter:datatype="link"/>
2625                         <field reporter:label="Target Resource Types" name="tgt_rsrc_types" oils_persist:virtual="true" reporter:datatype="link"/>
2626                 </fields>
2627                 <links>
2628                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
2629                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2630                         <link field="resources" reltype="has_many" key="type" map="" class="brsrc"/>
2631                         <link field="resource_attrs" reltype="has_many" key="type" map="" class="bra"/>
2632                         <link field="tgt_rsrc_types" reltype="has_many" key="type" map="" class="bresv"/>
2633                 </links>
2634                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2635                         <actions>
2636                                 <create permission="ADMIN_BOOKING_RESOURCE_TYPE" global_required='true'/>
2637                                 <retrieve />
2638                                 <update permission="ADMIN_BOOKING_RESOURCE_TYPE" global_required='true'/>
2639                                 <delete permission="ADMIN_BOOKING_RESOURCE_TYPE" global_required='true'/>
2640                         </actions>
2641                 </permacrud>
2642         </class>
2643