dbdc960bc981c4585d933ee821c9d7d4e4ddd538
[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                         <field reporter:label="Average Wait Time" name="avg_wait_time" reporter:datatype="interval"/>
873                 </fields>
874                 <links/>
875         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
876             <actions>
877                 <create permission="ADMIN_CIRC_MOD" global_required="true"/>
878                 <retrieve/>
879                 <update permission="ADMIN_CIRC_MOD" global_required="true"/>
880                 <delete permission="ADMIN_CIRC_MOD" global_required="true"/>
881             </actions>
882         </permacrud>
883         </class>
884
885         <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">
886                 <fields oils_persist:primary="code">
887                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
888                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
889                         <field reporter:label="Prorate?" name="prorate" reporter:datatype="bool"/>
890                 </fields>
891                 <links/>
892         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
893             <actions>
894                 <create permission="CREATE_INVOICE_ITEM_TYPE" global_required="true"/>
895                 <retrieve/>
896                 <update permission="UPDATE_INVOICE_ITEM_TYPE" global_required="true"/>
897                 <delete permission="DELETE_INVOICE_ITEM_TYPE" global_required="true"/>
898             </actions>
899         </permacrud>
900         </class>
901
902         <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">
903                 <fields oils_persist:primary="code">
904                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
905                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
906                 </fields>
907                 <links/>
908         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
909             <actions>
910                 <create permission="ADMIN_INVOICE_METHOD CREATE_INVOICE_METHOD" global_required="true"/>
911                 <retrieve/>
912                 <update permission="ADMIN_INVOICE_METHOD UPDATE_INVOICE_METHOD" global_required="true"/>
913                 <delete permission="ADMIN_INVOICE_METHOD DELETE_INVOICE_METHOD" global_required="true"/>
914             </actions>
915         </permacrud>
916         </class>
917
918         <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">
919                 <fields oils_persist:primary="code">
920                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
921                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
922                 </fields>
923                 <links/>
924         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
925             <actions>
926                 <create permission="CREATE_COPY_BTYPE" global_required="true"/>
927                 <retrieve/>
928                 <update permission="UPDATE_COPY_BTYPE" global_required="true"/>
929                 <delete permission="DELETE_COPY_BTYPE" global_required="true"/>
930             </actions>
931         </permacrud>
932         </class>
933
934         <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">
935                 <fields oils_persist:primary="code">
936                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
937                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
938                 </fields>
939                 <links/>
940         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
941             <actions>
942                 <create permission="CREATE_CN_BTYPE" global_required="true"/>
943                 <retrieve/>
944                 <update permission="UPDATE_CN_BTYPE" global_required="true"/>
945                 <delete permission="DELETE_CN_BTYPE" global_required="true"/>
946             </actions>
947         </permacrud>
948         </class>
949
950         <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">
951                 <fields oils_persist:primary="code">
952                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
953                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
954                 </fields>
955                 <links/>
956         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
957             <actions>
958                 <create permission="CREATE_BIB_BTYPE" global_required="true"/>
959                 <retrieve/>
960                 <update permission="UPDATE_BIB_BTYPE" global_required="true"/>
961                 <delete permission="DELETE_BIB_BTYPE" global_required="true"/>
962             </actions>
963         </permacrud>
964         </class>
965
966         <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">
967                 <fields oils_persist:primary="code">
968                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
969                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
970                 </fields>
971                 <links/>
972         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
973             <actions>
974                 <create permission="CREATE_USER_BTYPE" global_required="true"/>
975                 <retrieve/>
976                 <update permission="UPDATE_USER_BTYPE" global_required="true"/>
977                 <delete permission="DELETE_USER_BTYPE" global_required="true"/>
978             </actions>
979         </permacrud>
980         </class>
981
982         <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">
983                 <fields oils_persist:primary="code">
984                         <field reporter:label="Code" name="code" reporter:selector="value" reporter:datatype="id"/>
985                         <field reporter:label="Format" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
986                 </fields>
987                 <links/>
988         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
989             <actions>
990                 <create permission="ADMIN_MARC_CODE" global_required="true"/>
991                 <retrieve/>
992                 <update permission="ADMIN_MARC_CODE" global_required="true"/>
993                 <delete permission="ADMIN_MARC_CODE" global_required="true"/>
994             </actions>
995         </permacrud>
996         </class>
997
998         <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">
999                 <fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_matchpoint_id_seq">
1000                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1001                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1002                         <field reporter:label="User Home Library" name="user_home_ou" reporter:datatype="org_unit"/>
1003                         <field reporter:label="Request Library" name="request_ou" reporter:datatype="org_unit"/>
1004                         <field reporter:label="Pickup Library" name="pickup_ou" reporter:datatype="org_unit"/>
1005                         <field reporter:label="Owning Library" name="item_owning_ou" reporter:datatype="org_unit"/>
1006                         <field reporter:label="Item Circ Library" name="item_circ_ou" reporter:datatype="org_unit"/>
1007                         <field reporter:label="User Permission Group" name="usr_grp" reporter:datatype="link"/>
1008                         <field reporter:label="Requestor Permission Group" name="requestor_grp" reporter:datatype="link"/>
1009                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1010                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1011                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1012                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1013                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1014                         <field reporter:label="Holdable?" name="holdable" reporter:datatype="bool"/>
1015                         <field reporter:label="Range is from Owning Lib?" name="distance_is_from_owner" reporter:datatype="bool"/>
1016                         <field reporter:label="Transit Range" name="transit_range" reporter:datatype="link"/>
1017                         <field reporter:label="Max Holds" name="max_holds" reporter:datatype="int"/>
1018                         <field reporter:label="Max includes Frozen" name="include_frozen_holds" reporter:datatype="bool"/>
1019                         <field reporter:label="Copy Age Hold Protection Rule" name="age_hold_protect_rule" reporter:datatype="link"/>
1020                 </fields>
1021                 <links>
1022                         <link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
1023                         <link field="request_ou" reltype="has_a" key="id" map="" class="aou"/>
1024                         <link field="pickup_ou" reltype="has_a" key="id" map="" class="aou"/>
1025                         <link field="item_owning_ou" reltype="has_a" key="id" map="" class="aou"/>
1026                         <link field="item_circ_ou" reltype="has_a" key="id" map="" class="aou"/>
1027                         <link field="usr_grp" reltype="has_a" key="id" map="" class="pgt"/>
1028                         <link field="requestor_grp" reltype="has_a" key="id" map="" class="pgt"/>
1029                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1030                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1031                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1032                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1033                         <link field="age_hold_protect_rule" reltype="has_a" key="id" map="" class="crahp"/>
1034             <link field="transit_range" reltype="has_a" key="id" map="" class="aout"/>
1035                 </links>
1036         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1037             <actions>
1038                 <create permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1039                 <retrieve permission="ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1040                 <update permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1041                 <delete permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1042             </actions>
1043         </permacrud>
1044         </class>
1045
1046         <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">
1047                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
1048                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1049                         <field reporter:label="Renewal?" name="is_renewal" reporter:datatype="bool"/>
1050                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1051                         <field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
1052                         <field reporter:label="Permission Group" name="grp" reporter:datatype="link"/>
1053                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1054                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1055                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1056                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1057                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1058                         <field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" reporter:datatype="text"/>
1059                         <field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" reporter:datatype="text"/>
1060                         <field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
1061                         <field reporter:label="Duration Rule" name="duration_rule" reporter:datatype="link"/>
1062                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
1063                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
1064                         <field reporter:label="Script Test" name="script_test" reporter:datatype="text"/>
1065                         <field name="total_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Total Copy/Hold Ratio"/>
1066                         <field name="available_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Available Copy/Hold Ratio"/>
1067                 </fields>
1068                 <links>
1069                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1070                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
1071                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1072                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1073                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1074                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1075                         <link field="duration_rule" reltype="has_a" key="id" map="" class="crcd"/>
1076                         <link field="max_fine_rule" reltype="has_a" key="id" map="" class="crmf"/>
1077                         <link field="recurring_fine_rule" reltype="has_a" key="id" map="" class="crrf"/>
1078                 </links>
1079         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1080             <actions>
1081                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1082                 <retrieve permission="ADMIN_CIRC_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1083                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1084                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1085             </actions>
1086         </permacrud>
1087         </class>
1088
1089         <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">
1090                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_id_seq">
1091                         <field reporter:label="Test ID" name="id" reporter:datatype="id"/>
1092                         <field reporter:label="Matchpoint ID" name="matchpoint" reporter:datatype="link"/>
1093                         <field reporter:label="Items Out" name="items_out" reporter:datatype="int"/>
1094                 </fields>
1095                 <links>
1096                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
1097                 </links>
1098         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1099             <actions>
1100                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1101                     <context link="matchpoint" field="org_unit"/>
1102                 </create>
1103                 <retrieve/>
1104                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1105                     <context link="matchpoint" field="org_unit"/>
1106                 </update>
1107                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1108                     <context link="matchpoint" field="org_unit"/>
1109                 </delete>
1110             </actions>
1111         </permacrud>
1112         </class>
1113
1114         <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">
1115                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_map_id_seq">
1116                         <field reporter:label="Entry ID" name="id" reporter:datatype="id"/>
1117                         <field reporter:label="Circulation Modifier Subtest ID" name="circ_mod_test" reporter:datatype="link"/>
1118                         <field reporter:label="Circulation Modifier" name="circ_mod" reporter:datatype="link"/>
1119                 </fields>
1120                 <links>
1121                         <link field="circ_mod_test" reltype="has_a" key="id" map="" class="ccmcmt"/>
1122                         <link field="circ_mod" reltype="has_a" key="code" map="" class="ccm"/>
1123                 </links>
1124         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1125             <actions>
1126                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1127                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1128                 </create>
1129                 <retrieve/>
1130                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1131                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1132                 </update>
1133                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1134                     <context link="circ_mod_test" jump="matchpoint" field="org_unit"/>
1135                 </delete>
1136             </actions>
1137         </permacrud>
1138         </class>
1139
1140         <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">
1141                 <fields oils_persist:primary="id" oils_persist:sequence="config.identification_type_id_seq">
1142                         <field reporter:label="Identification ID" name="id" reporter:selector="name" reporter:datatype="id"/>
1143                         <field reporter:label="Identification Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1144                 </fields>
1145                 <links/>
1146         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1147             <actions>
1148                 <create permission="ADMIN_IDENT_TYPE" global_required="true"/>
1149                 <retrieve/>
1150                 <update permission="ADMIN_IDENT_TYPE" global_required="true"/>
1151                 <delete permission="ADMIN_IDENT_TYPE" global_required="true"/>
1152             </actions>
1153         </permacrud>
1154         </class>
1155
1156         <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">
1157                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_question_id_seq">
1158                         <field reporter:label="Answers" name="answers" oils_persist:virtual="true" reporter:datatype="link"/>
1159                         <field reporter:label="Responses" name="responses" oils_persist:virtual="true" reporter:datatype="link"/>
1160                         <field reporter:label="Question ID" name="id" reporter:datatype="id" />
1161                         <field reporter:label="Question" name="question" reporter:datatype="text"/>
1162                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
1163                 </fields>
1164                 <links>
1165                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
1166                         <link field="responses" reltype="has_many" key="question" map="" class="asvr"/>
1167                         <link field="answers" reltype="has_many" key="question" map="" class="asva"/>
1168                 </links>
1169         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1170             <actions>
1171                 <create permission="ADMIN_SURVEY">
1172                     <context link="survey" field="owner"/>
1173                 </create>
1174                 <retrieve/>
1175                 <update permission="ADMIN_SURVEY">
1176                     <context link="survey" field="owner"/>
1177                 </update>
1178                 <delete permission="ADMIN_SURVEY">
1179                     <context link="survey" field="owner"/>
1180                 </delete>
1181             </actions>
1182         </permacrud>
1183         </class>
1184         <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">
1185                 <fields oils_persist:primary="id" oils_persist:sequence="">
1186                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1187                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1188                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1189                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1190                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1191                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1192                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1193                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1194                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1195                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1196                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1197                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1198                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1199                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1200                 </fields>
1201                 <links>
1202                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1203                 </links>
1204         </class>
1205         <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">
1206                 <fields oils_persist:primary="id" oils_persist:sequence="">
1207                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1208                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1209                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1210                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1211                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1212                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1213                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1214                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1215                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1216                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1217                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1218                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1219                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1220                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1221                         <field reporter:label="Billing Location" name="billing_location" reporter:datatype="link"/>
1222                 </fields>
1223                 <links>
1224                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1225                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
1226                 </links>
1227         </class>
1228         <class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
1229                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
1230                         <field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1231                         <field reporter:label="Creating Staff" name="creator" reporter:datatype="link"/>
1232                         <field reporter:label="Note ID" name="id" reporter:datatype="id" />
1233                         <field reporter:label="Is OPAC Visible?" name="pub" reporter:datatype="bool"/>
1234                         <field reporter:label="Note Title" name="title" reporter:datatype="text"/>
1235                         <field reporter:label="User" name="usr" reporter:datatype="link" />
1236                         <field reporter:label="Note Content" name="value" reporter:datatype="text"/>
1237                 </fields>
1238                 <links>
1239                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1240                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1241                 </links>
1242         </class>
1243         <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">
1244                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_password_reset_id_seq">
1245                         <field reporter:label="Request ID" name="id" reporter:datatype="id"/>
1246                         <field reporter:label="UUID" name="uuid" reporter:datatype="text"/>
1247                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1248                         <field reporter:label="Request Time" name="request_time" reporter:datatype="timestamp"/>
1249                         <field reporter:label="Was Reset?" name="has_been_reset" reporter:datatype="bool"/>
1250                 </fields>
1251                 <links>
1252                         <link field="usr" reltype="has_a" key="id" class="au"/>
1253                 </links>
1254         </class>
1255         <class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
1256                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
1257                         <field reporter:label="Setting ID" name="id" reporter:datatype="id" />
1258                         <field reporter:label="Name" name="name" reporter:datatype="link"/>
1259                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1260                         <field reporter:label="Value" name="value" reporter:datatype="text"/>
1261                 </fields>
1262                 <links>
1263                         <link field="name" reltype="has_a" key="name" map="" class="cust"/>
1264                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1265                 </links>
1266         </class>
1267         <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">
1268                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.author_field_entry_id_seq">
1269                         <field name="field" reporter:datatype="link"/>
1270                         <field name="id" reporter:datatype="id" />
1271                         <field name="source" reporter:datatype="link"/>
1272                         <field name="value" reporter:datatype="text"/>
1273                 </fields>
1274                 <links>
1275                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1276                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1277                 </links>
1278         </class>
1279         <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">
1280                 <fields oils_persist:primary="id" oils_persist:sequence="action.in_house_use_id_seq">
1281                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1282                         <field reporter:label="Item" name="item" reporter:datatype="int" />
1283                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1284                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1285                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1286                 </fields>
1287                 <links>
1288                         <link field="item" reltype="has_a" key="id" map="" class="acp"/>
1289                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1290                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1291                 </links>
1292         </class>
1293         <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">
1294                 <fields oils_persist:primary="id" oils_persist:sequence="action.non_cat_in_house_use_id_seq">
1295                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1296                         <field reporter:label="Item Type" name="item_type" reporter:datatype="link"/>
1297                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1298                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1299                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1300                 </fields>
1301                 <links>
1302                         <link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
1303                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1304                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1305                 </links>
1306         </class>
1307         <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">
1308                 <fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
1309                         <field reporter:label="Pretransit Copy Status" name="copy_status" reporter:datatype="bool"/>
1310                         <field reporter:label="Destination" name="dest" reporter:datatype="link"/>
1311                         <field reporter:label="Receive Date/Time" name="dest_recv_time" reporter:datatype="timestamp"/>
1312                         <field reporter:label="Transit ID" name="id" reporter:datatype="id"/>
1313                         <field reporter:label="Is Persistent? (unused)" name="persistant_transfer" reporter:datatype="bool"/>
1314                         <field reporter:label="Previous Hop (unused)" name="prev_hop" reporter:datatype="link"/>
1315                         <field reporter:label="Source" name="source" reporter:datatype="link"/>
1316                         <field reporter:label="Prev Destination" name="prev_dest" reporter:datatype="org_unit"/>
1317                         <field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
1318                         <field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
1319                         <field reporter:label="Hold Transit" name="hold_transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
1320                 </fields>
1321                 <links>
1322                         <link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
1323                         <link field="source" reltype="has_a" key="id" map="" class="aou"/>
1324                         <link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
1325                         <link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
1326                         <link field="dest" reltype="has_a" key="id" map="" class="aou"/>
1327                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1328                 </links>
1329         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1330             <actions>
1331                 <create permission="TRANSIT_COPY" context_field="owner">
1332                     <context link="target_copy" field="circ_lib"/>
1333                 </create>
1334                 <retrieve/>
1335                 <update permission="UPDATE_TRANSIT" context_field="dest source"/>
1336                 <delete permission="DELETE_TRANSIT" context_field="dest source"/>
1337             </actions>
1338         </permacrud>
1339         </class>
1340         <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">
1341                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_response_id_seq">
1342                         <field reporter:label="Answer" name="answer" reporter:datatype="link"/>
1343                         <field reporter:label="Answer Date/Time" name="answer_date" reporter:datatype="timestamp"/>
1344                         <field reporter:label="Effective Answer Date/Time" name="effective_date" reporter:datatype="timestamp"/>
1345                         <field reporter:label="Answer ID" name="id" reporter:datatype="id" />
1346                         <field reporter:label="Question" name="question" reporter:datatype="link"/>
1347                         <field reporter:label="Response Group ID" name="response_group_id" reporter:datatype="int" />
1348                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
1349                         <field reporter:label="Responding User" name="usr" reporter:datatype="link"/>
1350                 </fields>
1351                 <links>
1352                         <link field="question" reltype="has_a" key="id" map="" class="asvq"/>
1353                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
1354                         <link field="answer" reltype="has_a" key="id" map="" class="asva"/>
1355                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1356                 </links>
1357         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1358             <actions>
1359                 <create permission="ADMIN_SURVEY">
1360                     <context link="survey" field="owner"/>
1361                 </create>
1362                 <retrieve/>
1363                 <update permission="ADMIN_SURVEY">
1364                     <context link="survey" field="owner"/>
1365                 </update>
1366                 <delete permission="ADMIN_SURVEY">
1367                     <context link="survey" field="owner"/>
1368                 </delete>
1369             </actions>
1370         </permacrud>
1371         </class>
1372         <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">
1373                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
1374                         <field name="bucket" />
1375                         <field name="id" reporter:datatype="id" />
1376                         <field name="target_copy" reporter:datatype="link"/>
1377                         <field name="create_time" reporter:datatype="timestamp" />
1378                         <field name="pos" reporter:datatype="int" />
1379                         <field name="notes" oils_persist:virtual="true" reporter:datatype="link" />
1380                 </fields>
1381                 <links>
1382                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1383                         <link field="bucket" reltype="has_a" key="id" map="" class="ccb"/>
1384             <link field="notes" reltype="has_many" map="" key="item" class="ccbin"/>
1385                 </links>
1386         </class>
1387         <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">
1388                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_note_id_seq">
1389                         <field name="id" reporter:datatype="id" />
1390                         <field name="item" reporter:datatype="link"/>
1391                         <field name="note" reporter:datatype="text" />
1392                 </fields>
1393                 <links>
1394                         <link field="item" reltype="has_a" key="id" map="" class="ccbi"/>
1395                 </links>
1396         </class>
1397         <class id="are" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
1398                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
1399                         <field name="active" reporter:datatype="bool"/>
1400                         <field name="arn_source" />
1401                         <field name="arn_value" />
1402                         <field name="create_date" reporter:datatype="timestamp"/>
1403                         <field name="creator" />
1404                         <field name="deleted" reporter:datatype="bool"/>
1405                         <field name="edit_date" reporter:datatype="timestamp"/>
1406                         <field name="editor" />
1407                         <field name="id" reporter:datatype="id" />
1408                         <field name="last_xact_id" />
1409                         <field name="marc" />
1410                         <field name="source" />
1411                         <field name="fixed_fields" oils_persist:virtual="true" />
1412                         <field name="notes" oils_persist:virtual="true" />
1413                 </fields>
1414                 <links>
1415                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1416                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1417                         <link field="notes" reltype="has_many" key="record" map="" class="arn"/>
1418                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
1419                 </links>
1420         </class>
1421         <class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor" reporter:label="Authority Record Descriptor">
1422                 <fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
1423                         <field name="char_encoding" />
1424                         <field name="id" />
1425                         <field name="record" />
1426                         <field name="record_status" />
1427                 </fields>
1428                 <links>
1429                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
1430                 </links>
1431         </class>
1432         <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">
1433                 <fields oils_persist:primary="code" oils_persist:sequence="">
1434                         <field reporter:label="Language Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1435                         <field reporter:label="Language" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
1436                 </fields>
1437                 <links/>
1438         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1439             <actions>
1440                 <create permission="CREATE_MARC_CODE" global_required="true"/>
1441                 <retrieve/>
1442                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
1443                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
1444             </actions>
1445         </permacrud>
1446         </class>
1447         <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">
1448                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
1449                         <field name="accepting_usr" />
1450                         <field name="amount" reporter:datatype="money" />
1451                         <field name="amount_collected" reporter:datatype="money" />
1452                         <field name="approval_code" reporter:datatype="text"/>
1453                         <field name="cash_drawer" reporter:datatype="link"/>
1454                         <field name="cc_number" reporter:datatype="text"/>
1455                         <field name="cc_type" reporter:datatype="text"/>
1456                         <field name="cc_processor" reporter:datatype="text"/>
1457                         <field name="expire_month" reporter:datatype="int" />
1458                         <field name="expire_year" reporter:datatype="int" />
1459                         <field name="id" reporter:datatype="id" />
1460                         <field name="note" reporter:datatype="text"/>
1461                         <field name="payment_ts" reporter:datatype="timestamp"/>
1462                         <field name="xact" reporter:datatype="link"/>
1463                         <field name="payment_type" oils_persist:virtual="true" reporter:datatype="text"/>
1464                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
1465                 </fields>
1466                 <links>
1467                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
1468                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
1469                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
1470                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
1471                 </links>
1472         </class>
1473         <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">
1474                 <fields oils_persist:primary="name">
1475                         <field reporter:label="Field Class" name="field_class" />
1476                         <field reporter:label="Name" name="name" reporter:datatype="text" />
1477                         <field reporter:label="Namespace URI" name="namespace_uri" reporter:datatype="text"/>
1478                         <field reporter:label="Namespace Prefix" name="prefix" reporter:datatype="text"/>
1479                         <field reporter:label="XSLT" name="xslt" reporter:datatype="text" />
1480                 </fields>
1481                 <links/>
1482         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1483             <actions>
1484                 <create permission="CREATE_XML_TRANSFORM" global_required="true"/>
1485                 <retrieve/>
1486                 <update permission="UPDATE_XML_TRANSFORM" global_required="true"/>
1487                 <delete permission="DELETE_XML_TRANSFORM" global_required="true"/>
1488             </actions>
1489         </permacrud>
1490         </class>
1491
1492         <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">
1493                 <fields oils_persist:primary="alias">
1494                         <field reporter:label="Alias (RegExp)" name="alias" reporter:datatype="text"/>
1495                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
1496                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
1497                 </fields>
1498                 <links>
1499                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
1500                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1501                 </links>
1502         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1503             <actions>
1504                 <create permission="CREATE_METABIB_SEARCH_ALIAS" global_required="true"/>
1505                 <retrieve/>
1506                 <update permission="UPDATE_METABIB_SEARCH_ALIAS" global_required="true"/>
1507                 <delete permission="DELETE_METABIB_SEARCH_ALIAS" global_required="true"/>
1508             </actions>
1509         </permacrud>
1510         </class>
1511
1512         <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">
1513                 <fields oils_persist:primary="name">
1514                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
1515                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1516                         <field reporter:label="Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
1517                 </fields>
1518                 <links>
1519                         <link field="fields" reltype="has_many" key="name" map="" class="cmf"/>
1520                 </links>
1521         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1522             <actions>
1523                 <create permission="CREATE_METABIB_CLASS" global_required="true"/>
1524                 <retrieve/>
1525                 <update permission="UPDATE_METABIB_CLASS" global_required="true"/>
1526                 <delete permission="DELETE_METABIB_CLASS" global_required="true"/>
1527             </actions>
1528         </permacrud>
1529         </class>
1530
1531         <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">
1532                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
1533                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
1534                         <field reporter:label="ID" name="id" reporter:datatype="id" />
1535                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
1536                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1537                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
1538                         <field reporter:label="Weight" name="weight" reporter:datatype="int" />
1539                         <field reporter:label="Format" name="format" reporter:datatype="link"/>
1540                         <field reporter:label="Search Field" name="search_field" reporter:datatype="bool" />
1541                         <field reporter:label="Facet Field" name="facet_field" reporter:datatype="bool" />
1542                         <field reporter:label="Facet XPath" name="facet_xpath" reporter:datatype="text" />
1543                 </fields>
1544                 <links>
1545                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
1546                 </links>
1547         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1548             <actions>
1549                 <create permission="CREATE_METABIB_FIELD" global_required="true"/>
1550                 <retrieve/>
1551                 <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
1552                 <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
1553             </actions>
1554         </permacrud>
1555         </class>
1556         <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">
1557                 <fields oils_persist:primary="id" oils_persist:sequence="config.biblio_fingerprint_id_seq">
1558                         <field name="id" reporter:datatype="id" />
1559                         <field name="name" reporter:datatype="text"/>
1560                         <field name="xpath" reporter:datatype="text"/>
1561                         <field name="format" reporter:datatype="link"/>
1562                         <field name="first_word" reporter:datatype="bool" />
1563                 </fields>
1564                 <links/>
1565         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1566             <actions>
1567                 <create permission="CREATE_BIBLIO_FINGERPRINT" global_required="true"/>
1568                 <retrieve/>
1569                 <update permission="UPDATE_BIBLIO_FINGERPRINT" global_required="true"/>
1570                 <delete permission="DELETE_BIBLIO_FINGERPRINT" global_required="true"/>
1571             </actions>
1572         </permacrud>
1573         </class>
1574         <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">
1575                 <fields oils_persist:primary="code" oils_persist:sequence="">
1576                         <field reporter:label="Audience Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1577                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
1578                         <field reporter:label="Audience" name="value"  reporter:datatype="text" oils_persist:i18n="true"/>
1579                 </fields>
1580                 <links/>
1581         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1582             <actions>
1583                 <create permission="CREATE_MARC_CODE" global_required="true"/>
1584                 <retrieve/>
1585                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
1586                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
1587             </actions>
1588         </permacrud>
1589         </class>
1590         <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">
1591                 <fields oils_persist:primary="code" oils_persist:sequence="">
1592                         <field reporter:label="Item Form Code" name="code" reporter:selector="value" reporter:datatype="text"/>
1593                         <field reporter:label="Item Form" name="value"  reporter:datatype="text" oils_persist:i18n="true"/>
1594                 </fields>
1595                 <links/>
1596         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1597             <actions>
1598                 <create permission="ADMIN_MARC_CODE" global_required="true"/>
1599                 <retrieve/>
1600                 <update permission="ADMIN_MARC_CODE" global_required="true"/>
1601                 <delete permission="ADMIN_MARC_CODE" global_required="true"/>
1602             </actions>
1603         </permacrud>
1604         </class>
1605         <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">
1606                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
1607                         <field reporter:label="Copies" name="copies" oils_persist:virtual="true" reporter:datatype="link"/>
1608                         <field reporter:label="Create Date/Time" name="create_date" reporter:datatype="timestamp"/>
1609                         <field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
1610                         <field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
1611                         <field reporter:label="Last Edit Date/Time" name="edit_date" reporter:datatype="timestamp"/>
1612                         <field reporter:label="Last Editing User" name="editor" reporter:datatype="link"/>
1613                         <field reporter:label="Call Number/Volume ID" name="id" reporter:datatype="id" />
1614                         <field reporter:label="Call Number Label" name="label" reporter:datatype="text"/>
1615                         <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
1616                         <field reporter:label="Bib Record" name="record" reporter:datatype="link"/>
1617                         <field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1618                         <field reporter:label="URI Maps" name="uri_maps" oils_persist:virtual="true" reporter:datatype="link"/>
1619                         <field reporter:label="URIs" name="uris" oils_persist:virtual="true" reporter:datatype="link"/>
1620                 </fields>
1621                 <links>
1622                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1623                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1624                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
1625                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1626                         <link field="notes" reltype="has_many" key="call_number" map="" class="acnn"/>
1627                         <link field="copies" reltype="has_many" key="call_number" map="" class="acp"/>
1628                         <link field="uris" reltype="has_many" key="call_number" map="uri" class="auricnm"/>
1629                         <link field="uri_maps" reltype="has_many" key="call_number" map="" class="auricnm"/>
1630                 </links>
1631         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1632             <actions>
1633                 <create permission="CREATE_VOLUME" context_field="owning_lib"/>
1634                 <retrieve/>
1635                 <update permission="UPDATE_VOLUME" context_field="owning_lib"/>
1636                 <delete permission="DELETE_VOLUME" context_field="owning_lib"/>
1637             </actions>
1638         </permacrud>
1639         </class>
1640         <class id="auri" controller="open-ils.cstore" oils_obj:fieldmapper="asset::uri" oils_persist:tablename="asset.uri" reporter:label="Electronic Access URI">
1641                 <fields oils_persist:primary="id" oils_persist:sequence="asset.uri_id_seq">
1642                         <field reporter:label="URI ID" name="id" reporter:datatype="id"/>
1643                         <field reporter:label="URI" name="href" reporter:datatype="text"/>
1644                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1645                         <field reporter:label="Use Information" name="use_restriction" reporter:datatype="text"/>
1646                         <field reporter:label="Active" name="active" reporter:datatype="bool"/>
1647                         <field reporter:label="Call Number Maps" name="call_number_maps" oils_persist:virtual="true" reporter:datatype="link"/>
1648                         <field reporter:label="Call Numbers" name="call_numbers" oils_persist:virtual="true" reporter:datatype="link"/>
1649                 </fields>
1650                 <links>
1651                         <link field="call_numbers" reltype="has_many" key="uri" map="call_number" class="auricnm"/>
1652                         <link field="call_number_maps" reltype="has_many" key="uri" map="" class="auricnm"/>
1653         </links>
1654         </class>
1655         <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">
1656                 <fields oils_persist:primary="id" oils_persist:sequence="asset.uri_call_number_map_id_seq">
1657                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
1658                         <field reporter:label="URI" name="uri" reporter:datatype="int"/>
1659                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
1660                 </fields>
1661                 <links>
1662                         <link field="uri" reltype="has_a" key="id" map="" class="auri"/>
1663                         <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
1664                 </links>
1665         </class>
1666         <class id="cst" controller="open-ils.cstore" oils_obj:fieldmapper="config::standing" oils_persist:tablename="config.standing" reporter:label="Standing Penalty">
1667                 <fields oils_persist:primary="id" oils_persist:sequence="config.standing_id_seq">
1668                         <field name="id" reporter:datatype="id" />
1669                         <field name="value" oils_persist:i18n="true" />
1670                 </fields>
1671                 <links/>
1672         </class>
1673         <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">
1674                 <fields oils_persist:primary="usr" oils_persist:sequence="">
1675                         <field name="balance_owed" reporter:datatype="money" />
1676                         <field name="total_owed" reporter:datatype="money" />
1677                         <field name="total_paid" reporter:datatype="money" />
1678                         <field name="usr" reporter:datatype="link"/>
1679                 </fields>
1680                 <links>
1681                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1682         </links>
1683         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1684             <actions>
1685                 <retrieve permission="VIEW_USER">
1686                     <context link="usr" field="home_ou"/>
1687                 </retrieve>
1688             </actions>
1689         </permacrud>
1690         </class>
1691         <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">
1692                 <fields oils_persist:primary="id" oils_persist:sequence="money.collections_tracker_id_seq">
1693                         <field name="collector" />
1694                         <field name="enter_time" reporter:datatype="timestamp"/>
1695                         <field name="id" reporter:datatype="id" />
1696                         <field name="location" reporter:datatype="link"/>
1697                         <field name="usr" reporter:datatype="link"/>
1698                 </fields>
1699                 <links>
1700                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1701                         <link field="collector" reltype="has_a" key="id" map="" class="au"/>
1702                         <link field="location" reltype="has_a" key="id" map="" class="aou"/>
1703                 </links>
1704         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1705             <actions>
1706                 <create permission="money.collections_tracker.create" context_field="location"/>
1707                 <retrieve permission="money.collections_tracker.create" context_field="location"/> 
1708                 <delete permission="money.collections_tracker.create" context_field="location"/>
1709             </actions>
1710         </permacrud>
1711         </class>
1712         <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">
1713                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry_id_seq">
1714                         <field reporter:label="Call Numbers" name="call_numbers" oils_persist:virtual="true" reporter:datatype="link"/>
1715                         <field reporter:label="Fixed Field Entry" name="fixed_fields" oils_persist:virtual="true" reporter:datatype="link"/>
1716                         <field reporter:label="Is Active?" name="active" reporter:datatype="bool"/>
1717                         <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1718                         <field reporter:label="Record Creator" name="creator" reporter:datatype="link"/>
1719                         <field reporter:label="Is Deleted?" name="deleted" reporter:datatype="bool"/>
1720                         <field reporter:label="Last Edit Data/Time" name="edit_date" reporter:datatype="timestamp"/>
1721                         <field reporter:label="Last Editing User" name="editor" reporter:datatype="link"/>
1722                         <field reporter:label="Fingerprint" name="fingerprint"  reporter:datatype="text"/>
1723                         <field reporter:label="Record ID" name="id" reporter:datatype="id" />
1724                         <field reporter:label="Last Transaction ID" name="last_xact_id"  reporter:datatype="text"/>
1725                         <field reporter:label="MARC21Slim" name="marc"  reporter:datatype="text"/>
1726                         <field reporter:label="Overall Quality" name="quality" reporter:datatype="int" />
1727                         <field reporter:label="Record Source" name="source" reporter:datatype="link"/>
1728                         <field reporter:label="TCN Source" name="tcn_source"  reporter:datatype="text"/>
1729                         <field reporter:label="TCN Value" name="tcn_value"  reporter:datatype="text"/>
1730                         <field reporter:label="Owner" name="owner"  reporter:datatype="org_unit"/>
1731                         <field reporter:label="Share Depth" name="share_depth"  reporter:datatype="int"/>
1732                         <field reporter:label="Metarecord" name="metarecord" oils_persist:virtual="true" reporter:datatype="link"/>
1733                         <field reporter:label="Language Code" name="language" oils_persist:virtual="true" reporter:datatype="link"/>
1734                         <field reporter:label="Non-MARC Record Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1735                         <field reporter:label="Indexed Keyword Field Entries" name="keyword_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1736                         <field reporter:label="Indexed Subject Field Entries" name="subject_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1737                         <field reporter:label="Indexed Title Field Entries" name="title_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1738                         <field reporter:label="Indexed Identifier Field Entries" name="identifier_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1739                         <field reporter:label="Indexed Author Field Entries" name="author_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1740                         <field reporter:label="Indexed Series Field Entries" name="series_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1741                         <field reporter:label="Flattened MARC Fields " name="full_record_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1742                         <field reporter:label="Simple Record Extracts " name="simple_record" oils_persist:virtual="true" reporter:datatype="link"/>
1743                 </fields>
1744                 <links>
1745                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
1746                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
1747                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1748                         <link field="simple_record" reltype="might_have" key="id" map="" class="rmsr"/>
1749                         <link field="metarecord" reltype="might_have" key="source" map="metarecord" class="mmrsm"/>
1750                         <link field="call_numbers" reltype="has_many" key="record" map="" class="acn"/>
1751                         <link field="keyword_field_entries" reltype="has_many" key="source" map="" class="mkfe"/>
1752                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="mrd"/>
1753                         <link field="language" reltype="might_have" key="record" map="item_lang" class="mrd"/>
1754                         <link field="subject_field_entries" reltype="has_many" key="source" map="" class="msfe"/>
1755                         <link field="title_field_entries" reltype="has_many" key="source" map="" class="mtfe"/>
1756                         <link field="identifier_field_entries" reltype="has_many" key="source" map="" class="mife"/>
1757                         <link field="notes" reltype="has_many" key="record" map="" class="bren"/>
1758                         <link field="author_field_entries" reltype="has_many" key="source" map="" class="mafe"/>
1759                         <link field="series_field_entries" reltype="has_many" key="source" map="" class="msefe"/>
1760                         <link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
1761                 </links>
1762         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1763             <actions>
1764                 <create permission="CREATE_MARC IMPORT_MARC" global_required="true"/>
1765                 <retrieve/>
1766                 <update permission="UPDATE_MARC" global_required="true"/>
1767             </actions>
1768         </permacrud>
1769         </class>
1770         <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">
1771                 <fields oils_persist:primary="id">
1772                         <field name="dow_0_close" />
1773                         <field name="dow_0_open" />
1774                         <field name="dow_1_close" />
1775                         <field name="dow_1_open" />
1776                         <field name="dow_2_close" />
1777                         <field name="dow_2_open" />
1778                         <field name="dow_3_close" />
1779                         <field name="dow_3_open" />
1780                         <field name="dow_4_close" />
1781                         <field name="dow_4_open" />
1782                         <field name="dow_5_close" />
1783                         <field name="dow_5_open" />
1784                         <field name="dow_6_close" />
1785                         <field name="dow_6_open" />
1786                         <field name="id" reporter:datatype="id" />
1787                         <field name="org_unit" oils_persist:virtual="true" reporter:datatype="org_unit"/>
1788                 </fields>
1789                 <links>
1790                         <link field="id" reltype="might_have" key="id" map="" class="aou"/>
1791                 </links>
1792         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1793             <actions>
1794                 <create permission="CREATE_HOURS_OF_OPERATION" context_field="id"/>
1795                 <retrieve/>
1796                 <update permission="UPDATE_HOURS_OF_OPERATION" context_field="id"/>
1797                 <delete permission="DELETE_HOURS_OF_OPERATION" context_field="id"/>
1798             </actions>
1799         </permacrud>
1800         </class>
1801         <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">
1802                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_closed_id_seq">
1803                         <field name="close_end" reporter:datatype="timestamp" />
1804                         <field name="close_start" reporter:datatype="timestamp" />
1805                         <field name="id" reporter:datatype="id" />
1806                         <field name="org_unit" reporter:datatype="org_unit"/>
1807                         <field name="reason" reporter:datatype="text"/>
1808                 </fields>
1809                 <links>
1810                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1811                 </links>
1812         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1813             <actions>
1814                 <create permission="CREATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1815                 <retrieve/>
1816                 <update permission="UPDATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1817                 <delete permission="DELETE_ORG_UNIT_CLOSING" context_field="org_unit"/>
1818             </actions>
1819         </permacrud>
1820         </class>
1821         <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">
1822                 <fields oils_persist:primary="id" oils_persist:sequence="config.rule_circ_duration_id_seq">
1823                         <field name="extended" reporter:datatype="interval"/>
1824                         <field name="id" reporter:datatype="id" reporter:selector="name"/>
1825                         <field name="max_renewals" reporter:datatype="int" />
1826                         <field name="name" reporter:datatype="text"/>
1827                         <field name="normal" reporter:datatype="interval"/>
1828                         <field name="shrt" reporter:datatype="interval"/>
1829                 </fields>
1830                 <links>
1831                 </links>
1832         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1833             <actions>
1834                 <create permission="CREATE_CIRC_DURATION" global_required="true"/>
1835                 <retrieve/>
1836                 <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
1837                 <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
1838             </actions>
1839         </permacrud>
1840         </class>
1841         <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">
1842                 <fields oils_persist:primary="id" oils_persist:sequence="">
1843                         <field name="balance_owed" reporter:datatype="money"/>
1844                         <field name="id" reporter:datatype="id" />
1845                         <field name="last_billing_note" reporter:datatype="text"/>
1846                         <field name="last_billing_ts" reporter:datatype="timestamp"/>
1847                         <field name="last_billing_type" reporter:datatype="text"/>
1848                         <field name="last_payment_note" reporter:datatype="text"/>
1849                         <field name="last_payment_ts" reporter:datatype="timestamp"/>
1850                         <field name="last_payment_type" reporter:datatype="text"/>
1851                         <field name="total_owed" reporter:datatype="money"/>
1852                         <field name="total_paid" reporter:datatype="money"/>
1853                         <field name="usr" reporter:datatype="link"/>
1854                         <field name="xact_finish" reporter:datatype="timestamp" />
1855                         <field name="xact_start" reporter:datatype="timestamp" />
1856                         <field name="xact_type" reporter:datatype="text"/>
1857                         <field name="xact" oils_persist:virtual="true" reporter:datatype="link"/>
1858                         <field name="grocery" oils_persist:virtual="true" reporter:datatype="link"/>
1859                         <field name="circulation" oils_persist:virtual="true" reporter:datatype="link"/>
1860                         <field name="billing_location" reporter:datatype="link"/>
1861                 </fields>
1862                 <links>
1863                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1864                         <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
1865                         <link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
1866                         <link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
1867                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
1868                 </links>
1869         </class>
1870         <class id="au" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user" oils_persist:tablename="actor.usr" reporter:core="true" reporter:label="ILS User">
1871                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_id_seq">
1872                         <field reporter:label="All Addresses" name="addresses" oils_persist:virtual="true" reporter:datatype="link"/>
1873                         <field reporter:label="All Library Cards" name="cards" oils_persist:virtual="true" reporter:datatype="link"/>
1874                         <field reporter:label="All Circulations" name="checkouts" oils_persist:virtual="true" reporter:datatype="link"/>
1875                         <field reporter:label="All Hold Requests" name="hold_requests" oils_persist:virtual="true" reporter:datatype="link"/>
1876                         <field reporter:label="All Permissions" name="permissions" oils_persist:virtual="true" reporter:datatype="link"/>
1877                         <field reporter:label="All User Settings" name="settings" oils_persist:virtual="true" reporter:datatype="link"/>
1878                         <field reporter:label="Standing Penalties" name="standing_penalties" oils_persist:virtual="true" reporter:datatype="link"/>
1879                         <field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
1880                         <field reporter:label="Survey Responses" name="survey_responses" oils_persist:virtual="true" reporter:datatype="link"/>
1881                         <field reporter:label="Workstation Org Unit" name="ws_ou" oils_persist:virtual="true" reporter:datatype="link"/>
1882                         <field reporter:label="Workstation ID" name="wsid" oils_persist:virtual="true" reporter:datatype="link"/>
1883                         <field reporter:label="Active" name="active" reporter:datatype="bool"/>
1884                         <field reporter:label="Alert Message" name="alert_message"  reporter:datatype="text"/>
1885                         <field reporter:label="Barred" name="barred" reporter:datatype="bool"/>
1886                         <field reporter:label="Physical Address" name="billing_address" reporter:datatype="link"/>
1887                         <field reporter:label="Current Library Card" name="card" reporter:datatype="link"/>
1888                         <field reporter:label="Claims-returned Count" name="claims_returned_count" reporter:datatype="int" />
1889                         <field reporter:label="Claims Never Checked Out Count" name="claims_never_checked_out_count" reporter:datatype="int" />
1890                         <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1891                         <field reporter:label="User Credit Balance" name="credit_forward_balance" reporter:datatype="money" />
1892                         <field reporter:label="Daytime Phone" name="day_phone"  reporter:datatype="text"/>
1893                         <field reporter:label="Date of Birth" name="dob" reporter:datatype="timestamp"/>
1894                         <field reporter:label="Email Address" name="email"  reporter:datatype="text"/>
1895                         <field reporter:label="Evening Phone" name="evening_phone"  reporter:datatype="text"/>
1896                         <field reporter:label="Privilege Expiration Date" name="expire_date" reporter:datatype="timestamp"/>
1897                         <field reporter:label="Last Name" name="family_name"  reporter:datatype="text"/>
1898                         <field reporter:label="First Name" name="first_given_name"  reporter:datatype="text"/>
1899                         <field reporter:label="Home Library" name="home_ou" reporter:datatype="org_unit"/>
1900                         <field reporter:label="User ID" name="id" reporter:datatype="id" />
1901                         <field reporter:label="Primary Identification Type" name="ident_type" reporter:datatype="link"/>
1902                         <field reporter:label="Secondary Identification Type" name="ident_type2" reporter:datatype="link"/>
1903                         <field reporter:label="Primary Identification" name="ident_value"  reporter:datatype="text"/>
1904                         <field reporter:label="Secondary Identification" name="ident_value2"  reporter:datatype="text"/>
1905                         <field reporter:label="Last Transaction ID" name="last_xact_id" reporter:datatype="text"/>
1906                         <field reporter:label="Mailing Address" name="mailing_address" reporter:datatype="link"/>
1907                         <field reporter:label="Is Group Lead Account" name="master_account" reporter:datatype="bool"/>
1908                         <field reporter:label="Internet Access Level" name="net_access_level" reporter:datatype="link"/>
1909                         <field reporter:label="Other Phone" name="other_phone"  reporter:datatype="text"/>
1910                         <field reporter:label="Password" name="passwd"  reporter:datatype="text"/>
1911                         <field reporter:label="Photo URL" name="photo_url"  reporter:datatype="text"/>
1912                         <field reporter:label="Prefix" name="prefix"  reporter:datatype="text"/>
1913                         <field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="link"/>
1914                         <field reporter:label="Middle Name" name="second_given_name"  reporter:datatype="text"/>
1915                         <field reporter:label="Standing (unused)" name="standing" reporter:datatype="link"/>
1916                         <field reporter:label="Suffix/Title" name="suffix"  reporter:datatype="text"/>
1917                         <field reporter:label="Is Super User" name="super_user" reporter:datatype="bool"/>
1918                         <field reporter:label="Family Linkage or other Group" name="usrgroup" reporter:datatype="int"/>
1919                         <field reporter:label="OPAC/Staff Client User Name" name="usrname"  reporter:datatype="text"/>
1920                         <field reporter:label="OPAC/Staff Client Holds Alias" name="alias"  reporter:datatype="text"/>
1921                         <field reporter:label="Juvenile" name="juvenile"  reporter:datatype="bool"/>
1922                         <field reporter:label="Additional Permission Groups" name="groups" oils_persist:virtual="true" reporter:datatype="link"/>
1923                         <field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
1924                         <field reporter:label="User Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
1925                         <field reporter:label="Demographic Info" name="demographic" oils_persist:virtual="true" reporter:datatype="link"/>
1926                         <field reporter:label="Billable Transactions" name="billable_transactions" oils_persist:virtual="true" reporter:datatype="link"/>
1927                         <field reporter:label="Money Summary" name="money_summary" oils_persist:virtual="true" reporter:datatype="link"/>
1928                         <field reporter:label="Open Billable Transactions" name="open_billable_transactions_summary" oils_persist:virtual="true" reporter:datatype="link"/>
1929                         <field reporter:label="Checkins" name="checkins" oils_persist:virtual="true" reporter:datatype="link"/>
1930                         <field reporter:label="Circulations Performed as Staff" name="performed_circulations" oils_persist:virtual="true" reporter:datatype="link"/>
1931                         <field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
1932                         <field reporter:label="Reservations" name="reservations" oils_persist:virtual="true" reporter:datatype="link"/>
1933                 </fields>
1934                 <links>
1935                         <link field="demographic" reltype="might_have" key="id" map="" class="rud"/>
1936                         <link field="net_access_level" reltype="has_a" key="id" map="" class="cnal"/>
1937                         <link field="profile" reltype="has_a" key="id" map="" class="pgt"/>
1938                         <link field="ident_type" reltype="has_a" key="id" map="" class="cit"/>
1939                         <link field="billing_address" reltype="has_a" key="id" map="" class="aua"/>
1940                         <link field="mailing_address" reltype="has_a" key="id" map="" class="aua"/>
1941                         <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
1942                         <link field="standing" reltype="has_a" key="id" map="" class="cst"/>
1943                         <link field="card" reltype="has_a" key="id" map="" class="ac"/>
1944                         <link field="ident_type2" reltype="has_a" key="id" map="" class="cit"/>
1945                         <link field="stat_cat_entries" reltype="has_many" key="target_usr" map="" class="actscecm"/>
1946                         <link field="groups" reltype="has_many" key="usr" map="grp" class="pugm"/>
1947                         <link field="usrgroup" reltype="has_many" key="usrgroup" map="" class="au"/>
1948                         <link field="checkouts" reltype="has_many" key="usr" map="" class="circ"/>
1949                         <link field="hold_requests" reltype="has_many" key="usr" map="" class="circ"/>
1950                         <link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
1951                         <link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
1952                         <link field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
1953                         <link field="open_billable_transactions_summary" reltype="has_many" key="usr" map="" class="mobts"/>
1954                         <link field="money_summary" reltype="might_have" key="usr" map="" class="mus"/>
1955                         <link field="standing_penalties" reltype="has_many" key="usr" map="" class="ausp"/>
1956                         <link field="addresses" reltype="has_many" key="usr" map="" class="aua"/>
1957                         <link field="survey_responses" reltype="has_many" key="usr" map="" class="asvr"/>
1958                         <link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
1959                         <link field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
1960                         <link field="cards" reltype="has_many" key="usr" map="" class="ac"/>
1961                         <link field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
1962                         <link field="fund_alloc_pcts" reltype="has_many" key="allocator" map="" class="acqfap"/>
1963                         <link field="reservations" reltype="has_many" key="usr" map="" class="bresv"/>
1964                 </links>
1965         </class>
1966
1967         <class id="csg" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::settings_group" oils_persist:tablename="config.settings_group" reporter:label="Settings Group">
1968                 <fields oils_persist:primary="name">
1969                         <field name="name" reporter:datatype="text"/>
1970                         <field name="label" reporter:datatype="text" oils_persist:i18n="true"/>
1971                 </fields>
1972                 <links/>
1973                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1974                         <actions>
1975                                 <create permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
1976                                 <retrieve/>
1977                                 <update permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
1978                                 <delete permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
1979                         </actions>
1980                 </permacrud>
1981         </class>
1982         <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">
1983                 <fields oils_persist:primary="name">
1984                         <field name="name" reporter:datatype="text"/>
1985                         <field name="label" reporter:datatype="text"/>
1986                         <field name="description" reporter:datatype="text"/>
1987                         <field name="datatype" reporter:datatype="text"/>
1988                         <field name="fm_class" reporter:datatype="text"/>
1989                         <field name="grp" reporter:datatype="link"/>
1990                 </fields>
1991                 <links>
1992                         <link field="name" reltype="has_many" key="name" map="" class="aus"/>
1993                         <link field="grp" reltype="has_a" key="name" map="" class="csg"/>
1994                 </links>
1995                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1996                         <actions>
1997                                 <create permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
1998                                 <retrieve/>
1999                                 <update permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
2000                                 <delete permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
2001                         </actions>
2002                 </permacrud>
2003         </class>
2004         <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">
2005                 <fields oils_persist:primary="name">
2006                         <field name="name" reporter:datatype="text"/>
2007                         <field name="label" reporter:datatype="text"/>
2008                         <field name="description" reporter:datatype="text"/>
2009                         <field name="datatype" reporter:datatype="text"/>
2010                         <field name="view_perm" reporter:datatype="link"/>
2011                         <field name="update_perm" reporter:datatype="link"/>
2012                         <field name="fm_class" reporter:datatype="text"/>
2013                         <field name="grp" reporter:datatype="link"/>
2014                 </fields>
2015                 <links>
2016                         <link field="name" reltype="has_many" key="name" map="" class="aous"/>
2017                         <link field="view_perm" reltype="has_a" key="id" map="" class="ppl"/>
2018                         <link field="update_perm" reltype="has_a" key="id" map="" class="ppl"/>
2019                         <link field="grp" reltype="has_a" key="name" map="" class="csg"/>
2020                 </links>
2021                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2022                         <actions>
2023                                 <create permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2024                                 <retrieve/>
2025                                 <update permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2026                                 <delete permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
2027                         </actions>
2028                 </permacrud>
2029         </class>
2030         <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">
2031                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
2032                         <field name="id" />
2033                         <field name="name"  reporter:datatype="text"/>
2034                         <field name="org_unit" reporter:datatype="org_unit"/>
2035                         <field name="value"  reporter:datatype="text"/>
2036                 </fields>
2037                 <links>
2038                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2039                         <link field="name" reltype="has_a" key="name" map="" class="coust"/>
2040                 </links>
2041         </class>
2042         <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">
2043                 <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_note_id_seq">
2044                         <field reporter:label="Note Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
2045                         <field reporter:label="Note Creator" name="creator" reporter:datatype="link"/>
2046                         <field reporter:label="Note ID" name="id" reporter:datatype="id" />
2047                         <field reporter:label="Copy" name="owning_copy" reporter:datatype="link"/>
2048                         <field reporter:label="Is OPAC Visible?" name="pub" reporter:datatype="bool"/>
2049                         <field reporter:label="Note Title" name="title"  reporter:datatype="text"/>
2050                         <field reporter:label="Note Content" name="value"  reporter:datatype="text"/>
2051                 </fields>
2052                 <links>
2053                         <link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
2054                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
2055                 </links>
2056         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2057             <actions>
2058                 <create permission="CREATE_COPY_NOTE">
2059                     <context link="owning_copy" field="circ_lib"/>
2060                 </create>
2061                 <retrieve permission="VIEW_COPY_NOTES">
2062                     <context link="owning_copy" field="circ_lib"/>
2063                 </retrieve>
2064                 <update permission="UPDATE_COPY_NOTE">
2065                     <context link="owning_copy" field="circ_lib"/>
2066                 </update>
2067                 <delete permission="DELETE_COPY_NOTE">
2068                     <context link="owning_copy" field="circ_lib"/>
2069                 </delete>
2070             </actions>
2071         </permacrud>
2072         </class>
2073         <class id="mfr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::full_rec" oils_persist:tablename="metabib.full_rec" reporter:label="Flattened MARC Fields">
2074                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.full_rec_id_seq">
2075                         <field reporter:label="Field ID" name="id" reporter:datatype="id" />
2076                         <field reporter:label="Indicator 1" name="ind1" oils_persist:primitive="string"  reporter:datatype="text"/>
2077                         <field reporter:label="Indicator 2" name="ind2" oils_persist:primitive="string"  reporter:datatype="text"/>
2078                         <field reporter:label="Bib Record Entry" name="record" reporter:datatype="link"/>
2079                         <field reporter:label="Subfield" name="subfield" oils_persist:primitive="string"  reporter:datatype="text"/>
2080                         <field reporter:label="Tag" name="tag"  reporter:datatype="text"/>
2081                         <field reporter:label="Normalized Value" name="value"  reporter:datatype="text"/>
2082                 </fields>
2083                 <links>
2084                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2085                 </links>
2086         </class>
2087         <class id="mmr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord" oils_persist:tablename="metabib.metarecord" reporter:label="Metarecord">
2088                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_id_seq">
2089                         <field name="fingerprint"  reporter:datatype="text"/>
2090                         <field name="id" reporter:datatype="id" />
2091                         <field name="master_record" reporter:datatype="link"/>
2092                         <field name="mods"  reporter:datatype="text"/>
2093                         <field name="source_records" oils_persist:virtual="true" reporter:datatype="link"/>
2094                 </fields>
2095                 <links>
2096                         <link field="master_record" reltype="has_a" key="id" map="" class="bre"/>
2097                         <link field="source_records" reltype="has_many" key="metarecord" map="source" class="mmrsm"/>
2098                 </links>
2099         </class>
2100         <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">
2101                 <fields oils_persist:primary="id" oils_persist:sequence="config.net_access_level_id_seq">
2102                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2103                         <field name="name"  reporter:datatype="text"/>
2104                 </fields>
2105                 <links/>
2106         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2107             <actions>
2108                 <create permission="CREATE_NET_ACCESS_LEVEL" global_required="true"/>
2109                 <retrieve/>
2110                 <update permission="UPDATE_NET_ACCESS_LEVEL" global_required="true"/>
2111                 <delete permission="DELETE_NET_ACCESS_LEVEL" global_required="true"/>
2112             </actions>
2113         </permacrud>
2114         </class>
2115         <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">
2116                 <fields oils_persist:primary="id" oils_persist:sequence="permission.perm_list_id_seq">
2117                         <field name="code"  reporter:datatype="text"/>
2118                         <field name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
2119                         <field name="id" reporter:selector="code" reporter:datatype="id"/>
2120                 </fields>
2121                 <links/>
2122         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2123             <actions>
2124                 <create permission="CREATE_PERM" global_required="true"/>
2125                 <retrieve permission="CREATE_PERM UPDATE_PERM DELETE_PERM" global_required="true"/>
2126                 <update permission="UPDATE_PERM" global_required="true"/>
2127                 <delete permission="DELETE_PERM" global_required="true"/>
2128             </actions>
2129         </permacrud>
2130         </class>
2131         <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">
2132                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_source_map_id_seq">
2133                         <field name="id" reporter:datatype="id" />
2134                         <field name="metarecord" reporter:datatype="link"/>
2135                         <field name="source" reporter:datatype="link"/>
2136                 </fields>
2137                 <links>
2138                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2139                         <link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
2140                 </links>
2141         </class>
2142         <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">
2143                 <oils_persist:source_definition>
2144                         SELECT * FROM (
2145                                 SELECT * FROM metabib.author_field_entry
2146                                                 UNION ALL
2147                                 SELECT * FROM metabib.keyword_field_entry
2148                                                 UNION ALL
2149                                 SELECT * FROM metabib.identifier_field_entry
2150                                                 UNION ALL
2151                                 SELECT * FROM metabib.title_field_entry
2152                                                 UNION ALL
2153                                 SELECT * FROM metabib.subject_field_entry
2154                                                 UNION ALL
2155                                 SELECT * FROM metabib.series_field_entry
2156                         )x
2157                         WHERE x.index_vector = ''
2158                 </oils_persist:source_definition>
2159                 <fields>
2160                         <field name="field" reporter:datatype="link"/>
2161                         <field name="id" reporter:datatype="id" />
2162                         <field name="source" reporter:datatype="link"/>
2163                         <field name="value"  reporter:datatype="text"/>
2164                 </fields>
2165                 <links>
2166                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2167                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2168                 </links>
2169         </class>
2170         <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">
2171                 <oils_persist:source_definition>
2172                         SELECT * FROM metabib.author_field_entry
2173                                                 UNION ALL
2174                         SELECT * FROM metabib.keyword_field_entry
2175                                                 UNION ALL
2176                         SELECT * FROM metabib.identifier_field_entry
2177                                                 UNION ALL
2178                         SELECT * FROM metabib.title_field_entry
2179                                                 UNION ALL
2180                         SELECT * FROM metabib.subject_field_entry
2181                                                 UNION ALL
2182                         SELECT * FROM metabib.series_field_entry
2183                 </oils_persist:source_definition>
2184                 <fields>
2185                         <field name="field" reporter:datatype="link"/>
2186                         <field name="id" reporter:datatype="id" />
2187                         <field name="source" reporter:datatype="link"/>
2188                         <field name="value"  reporter:datatype="text"/>
2189                 </fields>
2190                 <links>
2191                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2192                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2193                 </links>
2194         </class>
2195         <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">
2196                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.keyword_field_entry_id_seq">
2197                         <field name="field" reporter:datatype="link"/>
2198                         <field name="id" reporter:datatype="id" />
2199                         <field name="source" reporter:datatype="link"/>
2200                         <field name="value"  reporter:datatype="text"/>
2201                 </fields>
2202                 <links>
2203                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
2204                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2205                 </links>
2206         </class>
2207         <class id="mcp" controller="open-ils.cstore" oils_obj:fieldmapper="money::cash_payment" oils_persist:tablename="money.cash_payment" reporter:label="Cash 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="cash_drawer" reporter:datatype="link"/>
2213                         <field name="id" reporter:datatype="id" />
2214                         <field name="note"  reporter:datatype="text"/>
2215                         <field name="payment_ts" reporter:datatype="timestamp"/>
2216                         <field name="xact" reporter:datatype="link"/>
2217                         <field name="payment_type" oils_persist:virtual="true"  reporter:datatype="text"/>
2218                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
2219                 </fields>
2220                 <links>
2221                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2222                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2223                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
2224                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2225                 </links>
2226         </class>
2227         <class id="mfp" controller="open-ils.cstore" oils_obj:fieldmapper="money::forgive_payment" oils_persist:tablename="money.forgive_payment" reporter:label="Forgive Payment">
2228                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2229                         <field name="accepting_usr" reporter:datatype="link"/>
2230                         <field name="amount" reporter:datatype="money" />
2231                         <field name="amount_collected" reporter:datatype="money" />
2232                         <field name="id" reporter:datatype="id" />
2233                         <field name="note"  reporter:datatype="text"/>
2234                         <field name="payment_ts" reporter:datatype="timestamp"/>
2235                         <field name="xact" reporter:datatype="link"/>
2236                         <field name="payment_type" oils_persist:virtual="true"  reporter:datatype="text"/>
2237                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
2238                 </fields>
2239                 <links>
2240                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2241                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2242                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2243                 </links>
2244         </class>
2245         <class id="mrd" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::record_descriptor" oils_persist:tablename="metabib.rec_descriptor" reporter:label="Basic Record Descriptor">
2246                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.rec_descriptor_id_seq">
2247                         <field reporter:label="Audn" name="audience" oils_persist:primitive="string"  reporter:datatype="text"/>
2248                         <field reporter:label="BLvl" name="bib_level" oils_persist:primitive="string"  reporter:datatype="text"/>
2249                         <field reporter:label="Cat Form" name="cat_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2250                         <field reporter:label="Character Encoding" name="char_encoding" oils_persist:primitive="string"  reporter:datatype="text"/>
2251                         <field reporter:label="Ctrl" name="control_type" oils_persist:primitive="string"  reporter:datatype="text"/>
2252                         <field reporter:label="ELvl" name="enc_level" oils_persist:primitive="string"  reporter:datatype="text"/>
2253                         <field reporter:label="Descriptor ID" name="id" reporter:datatype="id" />
2254                         <field reporter:label="Form" name="item_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2255                         <field reporter:label="Lang" name="item_lang" oils_persist:primitive="string"  reporter:datatype="text"/>
2256                         <field reporter:label="Type" name="item_type" oils_persist:primitive="string"  reporter:datatype="text"/>
2257                         <field reporter:label="LitF" name="lit_form" oils_persist:primitive="string"  reporter:datatype="text"/>
2258                         <field reporter:label="Pub Status" name="pub_status" oils_persist:primitive="string"  reporter:datatype="text"/>
2259                         <field reporter:label="Bib Record Entry" name="record" reporter:datatype="link"/>
2260                         <field reporter:label="TMat" name="type_mat" oils_persist:primitive="string"  reporter:datatype="text"/>
2261                         <field reporter:label="Video Recording Format" name="vr_format" oils_persist:primitive="string"  reporter:datatype="text"/>
2262                         <field reporter:label="Date1" name="date1" oils_persist:primitive="string"  reporter:datatype="text"/>
2263                         <field reporter:label="Date2" name="date2" oils_persist:primitive="string"  reporter:datatype="text"/>
2264                 </fields>
2265                 <links>
2266                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2267                         <link field="item_lang" reltype="has_a" key="code" map="" class="clm"/>
2268                         <link field="item_type" reltype="has_a" key="code" map="" class="citm"/>
2269                         <link field="bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
2270                         <link field="item_form" reltype="has_a" key="code" map="" class="cifm"/>
2271                         <link field="audience" reltype="has_a" key="code" map="" class="cam"/>
2272                         <link field="lit_form" reltype="has_a" key="code" map="" class="clfm"/>
2273                 </links>
2274         </class>
2275
2276         <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">
2277                 <fields oils_persist:primary="id" oils_persist:sequence="config.standing_penalty_id_seq">
2278                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2279                         <field name="name"  reporter:datatype="text"/>
2280                         <field name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
2281                         <field name="block_list" reporter:datatype="text"/>
2282                         <field name="org_depth" reporter:datatype="int"/>
2283                 </fields>
2284                 <links/>
2285         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2286             <actions>
2287                 <create permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2288                 <retrieve permission="ADMIN_STANDING_PENALTY VIEW_STANDING_PENALTY" global_required="true"/>
2289                 <update permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2290                 <delete permission="ADMIN_STANDING_PENALTY" global_required="true"/>
2291             </actions>
2292         </permacrud>
2293         </class>
2294         <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">
2295                 <fields oils_persist:primary="id" oils_persist:sequence="permission.grp_penalty_threshold_id_seq">
2296                         <field name="id" reporter:selector="name" reporter:datatype="id" reporter:label="ID"/>
2297                         <field name="grp"  reporter:datatype="link" reporter:label="Group"/>
2298                         <field name="penalty"  reporter:datatype="link" reporter:label="Penalty"/>
2299                         <field name="threshold" reporter:datatype="float" reporter:label="Threshold"/>
2300                         <field name="org_unit" reporter:datatype="org_unit" reporter:label="Org Unit"/>
2301                 </fields>
2302                 <links>
2303                         <link field="penalty" reltype="has_a" key="id" map="" class="csp"/>
2304                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
2305                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2306         </links>
2307         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2308             <actions>
2309                 <create permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2310                 <retrieve permission="VIEW_GROUP_PENALTY_THRESHOLD ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2311                 <update permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2312                 <delete permission="ADMIN_GROUP_PENALTY_THRESHOLD" context_field='org_unit'/>
2313             </actions>
2314         </permacrud>
2315         </class>
2316         <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">
2317                 <fields oils_persist:primary="id" oils_persist:sequence="config.copy_status_id_seq">
2318                         <field name="holdable" reporter:datatype="bool"/>
2319                         <field name="id" reporter:selector="name" reporter:datatype="id"/>
2320                         <field name="name"  reporter:datatype="text" oils_persist:i18n="true"/>
2321                         <field name="opac_visible" reporter:datatype="bool"/>
2322                 </fields>
2323                 <links/>
2324         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2325             <actions>
2326                 <create permission="CREATE_COPY_STATUS" global_required="true"/>
2327                 <retrieve/>
2328                 <update permission="UPDATE_COPY_STATUS" global_required="true"/>
2329                 <delete permission="DELETE_COPY_STATUS" global_required="true"/>
2330             </actions>
2331         </permacrud>
2332         </class>
2333         <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">
2334                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_standing_penalty_id_seq">
2335                         <field name="id" reporter:datatype="id" reporter:label="ID" />
2336                         <field name="set_date" reporter:datatype="timestamp" reporter:label="Set Date"/>
2337                         <field name="usr" reporter:datatype="link" reporter:label="User"/>
2338                         <field name="staff" reporter:datatype="link" reporter:label="Staff"/>
2339                         <field name="standing_penalty" reporter:datatype="link" reporter:label="Standing Penalty"/>
2340                         <field name="org_unit" reporter:datatype="link" reporter:label="Org Unit"/>
2341                         <field name="stop_date" reporter:datatype="timestamp" reporter:label="Stop Date"/>
2342                         <field name="note" reporter:datatype="text" reporter:label="Note"/>
2343                 </fields>
2344                 <links>
2345                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2346                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
2347                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
2348                         <link field="standing_penalty" reltype="has_a" key="id" map="" class="csp"/>
2349                 </links>
2350                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2351                         <actions>
2352                                 <create permission="UPDATE_USER"><context link="usr" field="home_ou"/></create>
2353                                 <retrieve permission="VIEW_USER"><context link="usr" field="home_ou"/></retrieve>
2354                                 <update permission="UPDATE_USER"><context link="usr" field="home_ou"/></update>
2355                                 <delete permission="UPDATE_USER"><context link="usr" field="home_ou"/></delete>
2356                         </actions>
2357                 </permacrud>
2358         </class>
2359         <class id="aua" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_address" oils_persist:tablename="actor.usr_address" reporter:label="User Address">
2360                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_address_id_seq">
2361                         <field reporter:label="Type" name="address_type"  reporter:datatype="text"/>
2362                         <field reporter:label="City" name="city"  reporter:datatype="text"/>
2363                         <field reporter:label="Country" name="country"  reporter:datatype="text"/>
2364                         <field reporter:label="County" name="county"  reporter:datatype="text"/>
2365                         <field reporter:label="Address ID" name="id" reporter:datatype="id" />
2366                         <field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
2367                         <field reporter:label="State" name="state"  reporter:datatype="text"/>
2368                         <field reporter:label="Street (1)" name="street1"  reporter:datatype="text"/>
2369                         <field reporter:label="Street (2)" name="street2"  reporter:datatype="text"/>
2370                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
2371                         <field reporter:label="Valid Address?" name="valid" reporter:datatype="bool"/>
2372                         <field reporter:label="Within City Limits?" name="within_city_limits" reporter:datatype="bool"/>
2373                         <field reporter:label="Replaces" name="replaces" reporter:datatype="link"/>
2374                         <field reporter:label="Pending" name="pending" reporter:datatype="bool"/>
2375                 </fields>
2376                 <links>
2377                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2378                         <link field="replaces" reltype="has_a" key="id" map="" class="aua"/>
2379                 </links>
2380         </class>
2381         <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">
2382                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_note_id_seq">
2383                         <field name="call_number" />
2384                         <field name="create_date" reporter:datatype="timestamp"/>
2385                         <field name="creator" reporter:datatype="link"/>
2386                         <field name="id" reporter:datatype="id" />
2387                         <field name="pub" reporter:datatype="bool"/>
2388                         <field name="title"  reporter:datatype="text"/>
2389                         <field name="value"  reporter:datatype="text"/>
2390                 </fields>
2391                 <links>
2392                         <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
2393                 </links>
2394         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2395             <actions>
2396                 <create permission="CREATE_VOLUME_NOTE">
2397                     <context link="call_number" field="owning_lib"/>
2398                 </create>
2399                 <retrieve permission="VIEW_VOLUME_NOTES">
2400                     <context link="call_number" field="owning_lib"/>
2401                 </retrieve>
2402                 <update permission="UPDATE_VOLUME_NOTE">
2403                     <context link="call_number" field="owning_lib"/>
2404                 </update>
2405                 <delete permission="DELETE_VOLUME_NOTE">
2406                     <context link="call_number" field="owning_lib"/>
2407                 </delete>
2408             </actions>
2409         </permacrud>
2410         </class>
2411         <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">
2412                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_note_id_seq">
2413                         <field name="create_date" reporter:datatype="timestamp"/>
2414                         <field name="creator" reporter:datatype="link"/>
2415                         <field name="edit_date" reporter:datatype="timestamp"/>
2416                         <field name="editor" reporter:datatype="link"/>
2417                         <field name="id" reporter:datatype="id" />
2418                         <field name="record" reporter:datatype="link"/>
2419                         <field name="value" reporter:datatype="text"/>
2420                 </fields>
2421                 <links>
2422                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
2423                 </links>
2424         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2425             <actions>
2426                 <create permission="CREATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2427                 <retrieve/>
2428                 <update permission="UPDATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2429                 <delete permission="DELETE_AUTHORITY_RECORD_NOTE" global_required='true'/>
2430             </actions>
2431         </permacrud>
2432         </class>
2433         <class id="circ" controller="open-ils.cstore" oils_obj:fieldmapper="action::circulation" oils_persist:tablename="action.circulation" reporter:core="true" reporter:label="Circulation">
2434                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2435                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2436                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2437                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2438                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2439                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2440                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2441                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2442                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2443                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2444                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2445                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2446                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2447                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2448                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2449                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2450                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2451                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2452                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2453                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2454                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2455                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2456                         <field reporter:label="Patron" name="usr" reporter:datatype="link"/>
2457                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2458                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2459                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2460                         <field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
2461                         <field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
2462                         <field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
2463                         <field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
2464                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2465                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2466                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2467                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2468                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2469                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2470                         <field reporter:label="Unrecovered Debt" name="unrecovered" reporter:datatype="bool"/>
2471                 </fields>
2472                 <links>
2473                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2474                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2475                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2476                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2477                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2478                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2479                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2480                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2481                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2482                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2483                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2484                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2485                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2486                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2487                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2488                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
2489                         <link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
2490                         <link field="parent_circ" reltype="has_a" key="id" map="" class="circ"/>
2491                         <link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
2492                 </links>
2493         </class>
2494         <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">
2495                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2496                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2497                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2498                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2499                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2500                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2501                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2502                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2503                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2504                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2505                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2506                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2507                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2508                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2509                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2510                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2511                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2512                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2513                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2514                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2515                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2516                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2517                         <field reporter:label="Patron ZIP" name="usr_post_code" reporter:datatype="text"/>
2518                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2519                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2520                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2521                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2522                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2523                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2524                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2525                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2526                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2527                         <field reporter:label="Patron Home Library" name="usr_home_ou" reporter:datatype="link"/>
2528                         <field reporter:label="Patron Profile Group" name="usr_profile" reporter:datatype="link"/>
2529                         <field reporter:label="Patron Birth Year" name="usr_birth_year" reporter:datatype="int"/>
2530                         <field reporter:label="Call Number" name="copy_call_number" reporter:datatype="link"/>
2531                         <field reporter:label="Shelving Location" name="copy_location" reporter:datatype="link"/>
2532                         <field reporter:label="Copy Owning Library" name="copy_owning_lib" reporter:datatype="link"/>
2533                         <field reporter:label="Copy Circulating Library" name="copy_circ_lib" reporter:datatype="link"/>
2534                         <field reporter:label="Bib Record" name="copy_bib_record" reporter:datatype="link"/>
2535                 </fields>
2536                 <links>
2537                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2538                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2539                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2540                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2541                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2542                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2543                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2544                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2545                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2546                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2547                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2548                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2549                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2550                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2551                         <link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
2552                         <link field="copy_location" reltype="has_a" key="id" map="" class="acpl"/>
2553                         <link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
2554                         <link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2555                         <link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
2556                 </links>
2557         </class>
2558         <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">
2559                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2560                         <field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
2561                         <field reporter:label="Check In Staff" name="checkin_staff" reporter:datatype="link"/>
2562                         <field reporter:label="Check In Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
2563                         <field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
2564                         <field reporter:label="Circulating Staff" name="circ_staff" reporter:datatype="link"/>
2565                         <field reporter:label="Desk Renewal" name="desk_renewal" reporter:datatype="bool"/>
2566                         <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp"/>
2567                         <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
2568                         <field reporter:label="Circ Duration Rule" name="duration_rule" reporter:datatype="link"/>
2569                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2570                         <field reporter:label="Circ ID" name="id" reporter:datatype="id" />
2571                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money" />
2572                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
2573                         <field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
2574                         <field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
2575                         <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
2576                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
2577                         <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
2578                         <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
2579                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
2580                         <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
2581                         <field reporter:label="Patron ZIP" name="usr_post_code" reporter:datatype="text"/>
2582                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
2583                         <field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
2584                         <field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
2585                         <field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
2586                         <field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
2587                         <field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
2588                         <field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
2589                         <field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
2590                         <field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
2591                         <field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
2592                         <field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
2593                         <field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
2594                         <field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
2595                         <field reporter:label="Patron Home Library" name="usr_home_ou" reporter:datatype="link"/>
2596                         <field reporter:label="Patron Profile Group" name="usr_profile" reporter:datatype="link"/>
2597                         <field reporter:label="Patron Birth Year" name="usr_birth_year" reporter:datatype="int"/>
2598                         <field reporter:label="Call Number" name="copy_call_number" reporter:datatype="link"/>
2599                         <field reporter:label="Shelving Location" name="copy_location" reporter:datatype="link"/>
2600                         <field reporter:label="Copy Owning Library" name="copy_owning_lib" reporter:datatype="link"/>
2601                         <field reporter:label="Copy Circulating Library" name="copy_circ_lib" reporter:datatype="link"/>
2602                         <field reporter:label="Bib Record" name="copy_bib_record" reporter:datatype="link"/>
2603                 </fields>
2604                 <links>
2605                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2606                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
2607                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
2608                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2609                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
2610                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2611                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2612                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2613                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
2614                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
2615                         <link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
2616                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
2617                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2618                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2619                         <link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
2620                         <link field="copy_location" reltype="has_a" key="id" map="" class="acpl"/>
2621                         <link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
2622                         <link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
2623                         <link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
2624                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
2625                         <link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
2626                         <link field="parent_circ" reltype="might_have" key="id" map="" class="circ"/>
2627                         <link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
2628                 </links>
2629         </class>
2630
2631         <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">
2632                 <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_type_id_seq">
2633                         <field reporter:label="Resource Type ID" name="id" reporter:datatype="id"/>
2634                         <field reporter:label="Resource Type Name" name="name" reporter:datatype="text"/>
2635                         <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
2636                         <field reporter:label="Fine Amount" name="fine_amount" reporter:datatype="money"/>
2637                         <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money"/>
2638                         <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/>
2639                         <field reporter:label="Catalog Item" name="catalog_item" reporter:datatype="bool"/>
2640                         <field reporter:label="Bibliographic Record" name="record" reporter:datatype="link"/>
2641                         <field reporter:label="Transferable" name="transferable" reporter:datatype="bool"/>
2642                         <field reporter:label="Inter-booking and Inter-circulation Interval" name="elbow_room" reporter:datatype="interval"/>
2643                         <field reporter:label="Resources" name="resources" oils_persist:virtual="true" reporter:datatype="link"/>