Create and link DB views for PO and LI state, allowing for dynamic loading and I18N...
authorMike Rylander <mrylander@gmail.com>
Fri, 7 Feb 2020 22:45:04 +0000 (17:45 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Tue, 11 Feb 2020 18:02:39 +0000 (13:02 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/upgrade/XXXX.data.angular_acq_search.sql

index 75b52a7..1c29eef 100644 (file)
@@ -9574,7 +9574,7 @@ SELECT  usr,
                        <field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
                        <field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
                        <field reporter:label="Provider" name="provider" reporter:datatype="link" />
-                       <field reporter:label="State" name="state" reporter:datatype="text" />
+                       <field reporter:label="State" name="state" reporter:datatype="link" />
                        <field reporter:label="Ordering Agency" name="ordering_agency" reporter:datatype="org_unit" />
                        <field reporter:label="Creator" name="creator" reporter:datatype="link" />
                        <field reporter:label="Editor" name="editor" reporter:datatype="link" />
@@ -9591,6 +9591,7 @@ SELECT  usr,
                        <field reporter:label="PO Items" name="po_items" oils_persist:virtual="true" reporter:datatype="link" />
                </fields>
                <links>
+                       <link field="state" reltype="has_a" key="id" map="" class="acqpostlbl"/>
                        <link field="owner" reltype="has_a" key="id" map="" class="au"/>
                        <link field="creator" reltype="has_a" key="id" map="" class="au"/>
                        <link field="editor" reltype="has_a" key="id" map="" class="au"/>
@@ -9731,7 +9732,7 @@ SELECT  usr,
                        <field reporter:label="Evergreen Bib ID" name="eg_bib_id" reporter:datatype="link" />
                        <field reporter:label="Source Label" name="source_label" reporter:datatype="text" />
                        <field reporter:label="Expected Receive Date" name="expected_recv_time" reporter:datatype="timestamp" />
-                       <field reporter:label="State" name="state" reporter:datatype="text" />
+                       <field reporter:label="State" name="state" reporter:datatype="link" />
                        <field reporter:label="Creator" name="creator" reporter:datatype="link" />
                        <field reporter:label="Editor" name="editor" reporter:datatype="link" />
                        <field reporter:label="Claim Policy" name="claim_policy" reporter:datatype="link" />
@@ -9747,6 +9748,7 @@ SELECT  usr,
                        <field reporter:label="Order Summary" name="order_summary" oils_persist:virtual="true" reporter:datatype="link" />
                </fields>
                <links>
+                       <link field="state" reltype="has_a" key="id" map="" class="jubstlbl"/>
                        <link field="selector" reltype="has_a" key="id" map="" class="au"/>
                        <link field="editor" reltype="has_a" key="id" map="" class="au"/>
                        <link field="creator" reltype="has_a" key="id" map="" class="au"/>
@@ -11793,7 +11795,7 @@ SELECT  usr,
                </permacrud>
        </class>
 
-       <class id="rlcd" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::last_copy_deleted" oils_persist:readonly="true" reporter:core="true" reporter:label="Last Copy Delete Time">
+       <class id="rlcd" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::last_copy_deleted" oils_persist:readonly="true" reporter:core="true" reporter:label="Last Copy Delete Time" oils_persist:field_safe="true">
                <oils_persist:source_definition><![CDATA[
 
             SELECT  b.id,
@@ -11820,6 +11822,33 @@ SELECT  usr,
                </permacrud>
        </class>
 
+       <class id="jubstlbl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::li_state_label" oils_persist:tablename="acq.li_state_label" oils_persist:readonly="true" reporter:label="Line Item State Labels" oils_persist:field_safe="true">
+               <fields oils_persist:primary="id">
+                       <field reporter:label="State ID" reporter:selector="label" name="id" reporter:datatype="text"/>
+                       <field reporter:label="State Label" name="label" oils_persist:i18n="true" reporter:datatype="text"/>
+               </fields>
+               <links/>
+               <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+                       <actions>
+                               <retrieve/>
+                       </actions>
+               </permacrud>
+       </class>
+
+       <class id="acqpostlbl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::po_state_label" oils_persist:tablename="acq.po_state_label" oils_persist:readonly="true" reporter:label="PO State Labels">
+               <fields oils_persist:primary="id">
+                       <field reporter:label="State ID" reporter:selector="label" name="id" reporter:datatype="text"/>
+                       <field reporter:label="State Label" name="label" oils_persist:i18n="true" reporter:datatype="text"/>
+               </fields>
+               <links/>
+               <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+                       <actions>
+                               <retrieve/>
+                       </actions>
+               </permacrud>
+       </class>
+
+
        <class id="rhcrpb" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib" oils_persist:readonly="true" reporter:core="true" reporter:label="Hold/Copy Ratio per Bib">
                <oils_persist:source_definition><![CDATA[
 
index b3482e0..2379d7a 100644 (file)
@@ -86,4 +86,27 @@ VALUES (
     'cwst', 'label')
 );
 
+CREATE VIEW acq.li_state_label AS
+  SELECT *
+  FROM (VALUES
+          ('new', 'New'),
+          ('selector-ready', 'Selector-Ready'),
+          ('order-ready', 'Order-Ready'),
+          ('approved', 'Approved'),
+          ('pending-order', 'Pending-Order'),
+          ('on-order', 'On-Order'),
+          ('received', 'Received'),
+          ('cancelled', 'Cancelled')
+       ) AS t (id,label);
+
+CREATE VIEW acq.po_state_label AS
+  SELECT *
+  FROM (VALUES
+          ('new', 'New'),
+          ('pending', 'Pending'), 
+          ('on-order', 'On-Order'),
+          ('received', 'Received'),
+          ('cancelled', 'Cancelled')
+       ) AS t (id,label);
+
 COMMIT;