lp1993824: linkchecker; IDL
authorJason Etheridge <jason@EquinoxOLI.org>
Sat, 4 Mar 2023 15:44:58 +0000 (10:44 -0500)
committerJason Etheridge <phasefx@gmail.com>
Sun, 14 May 2023 13:02:33 +0000 (09:02 -0400)
Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Open-ILS/examples/fm_IDL.xml

index 949ed2b..cea0d42 100644 (file)
@@ -12445,6 +12445,61 @@ SELECT  usr,
                </permacrud>
        </class>
 
+       <class id="uvsa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="url_verify::sessions_and_attempts" reporter:label="Combined URL Verify Sessions and Batches View" oils_persist:readonly="true">
+               <oils_persist:source_definition><![CDATA[
+                       SELECT
+                coalesce(uvva.id,-uvs.id) as id,
+                uvs.id as session_id,
+                uvs.name,
+                uvs.owning_lib,
+                uvs.creator,
+                uvs.container,
+                uvs.create_time,
+                uvs.search,
+                (select string_agg(xpath,',')
+                 from url_verify.url_selector uvus
+                 where uvus.session = uvs.id
+                 group by session) as selectors,
+                uvva.id as batch_id,
+                uvva.usr,
+                uvva.start_time,
+                uvva.finish_time
+            FROM
+                url_verify.session uvs
+            LEFT JOIN
+                url_verify.verification_attempt uvva
+            ON
+                (uvs.id = uvva.session)
+               ]]></oils_persist:source_definition>
+               <fields oils_persist:primary="id">
+            <field reporter:label="ID" name="id" reporter:datatype="id"/>
+            <field reporter:label="Session ID" name="session_id" reporter:datatype="id"/>
+            <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true"/>
+                       <field reporter:label="Owning Library" name="owning_lib" reporter:datatype="org_unit" oils_obj:required="true"/>
+            <field reporter:label="Creator" name="creator" reporter:datatype="link" oils_obj:required="true"/>
+            <field reporter:label="Record Container" name="container" reporter:datatype="link" oils_obj:required="true"/>
+            <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
+            <field reporter:label="Search Constraints" name="search" reporter:datatype="text" oils_obj:required="true"/>
+            <field reporter:label="Selectors" name="selectors" reporter:datatype="text" oils_obj:required="true"/>
+            <field reporter:label="Batch ID" name="batch_id" reporter:datatype="id"/>
+                       <field reporter:label="User" name="usr" reporter:datatype="link"/>
+            <field reporter:label="Start Time" name="start_time" reporter:datatype="timestamp"/>
+            <field reporter:label="Finish Time" name="finish_time" reporter:datatype="timestamp"/>
+               </fields>
+               <links>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="creator" reltype="has_a" key="id" map="" class="au"/>
+            <link field="container" reltype="has_a" key="id" map="" class="cbreb"/>
+            <link field="batch_id" reltype="has_a" key="id" map="" class="uvva"/>
+            <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="URL_VERIFY" context_field="owning_lib"/>
+            </actions>
+        </permacrud>
+       </class>
+
     <class
         id="uvs"
         controller="open-ils.cstore open-ils.pcrud"
@@ -12474,7 +12529,10 @@ SELECT  usr,
 
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
+                <create permission="URL_VERIFY" context_field="owning_lib"/>
                 <retrieve permission="URL_VERIFY" context_field="owning_lib"/>
+                <update permission="URL_VERIFY" context_field="owning_lib"/>
+                <delete permission="URL_VERIFY" context_field="owning_lib"/>
             </actions>
         </permacrud>