cordoning off the PINES-y stuff; making CAT[12] dropdown-selector friendly
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 9 May 2007 06:34:41 +0000 (06:34 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 9 May 2007 06:34:41 +0000 (06:34 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@7220 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/example.reporter-extension.sql

index c5e6c12..e50ccd3 100644 (file)
                        <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
                </links>
        </class>
+       <class id="rxpt" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::xact_paid_totals" oils_persist:tablename="reporter.xact_paid_totals">
+               <fields oils_persist:primary="xact">
+                       <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+                       <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+                       <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+                       <field reporter:label="Transaction ID" name="xact" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+                       <field reporter:label="Unvoided Paid Amount" name="unvoided" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+                       <field reporter:label="Voided (Returned) Paid Amount" name="voided" oils_obj:array_position="5" oils_persist:virtual="false"/>
+                       <field reporter:label="Total Paid Amount" name="total" oils_obj:array_position="6" oils_persist:virtual="false"/>
+               </fields>
+               <links>
+                       <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
+               </links>
+       </class>
+
+       <!-- ********************************************************************************************************************* -->
+       <!-- What follows is a set of example extentions that are useful for PINES.  Comment out or remove if you don't want them. -->
+       <!-- ********************************************************************************************************************* -->
        <class id="rccc" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::classic_current_circ" oils_persist:tablename="reporter.classic_current_circ" reporter:label="Classic Circulation View">
                <fields oils_persist:primary="id">
                        <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
                        <field reporter:label="Patron County" name="patron_county" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
                        <field reporter:label="Patron City" name="patron_city" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="text"/>
                        <field reporter:label="Patron ZIP Code" name="patron_zip" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="text"/>
-                       <field reporter:label="Legacy CAT1 Value" name="stat_cat_1" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="text"/>
-                       <field reporter:label="Legacy CAT2 Value" name="stat_cat_2" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Legacy CAT1 Value" name="stat_cat_1" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="int"/>
+                       <field reporter:label="Legacy CAT2 Value" name="stat_cat_2" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="int"/>
                </fields>
                <links>
                        <link field="id" reltype="has_a" key="id" map="" class="circ"/>
                        <link field="circ_lib_id" reltype="has_a" key="id" map="" class="aou"/>
                        <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
                        <link field="patron_home_lib" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="stat_cat_1" reltype="might_have" key="id" map="" class="rsce1"/>
+                       <link field="stat_cat_2" reltype="might_have" key="id" map="" class="rsce2"/>
                </links>
        </class>
-       <class id="rxpt" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::xact_paid_totals" oils_persist:tablename="reporter.xact_paid_totals">
-               <fields oils_persist:primary="xact">
+
+       <class id="rsce1" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::legacy_cat1" oils_persist:tablename="reporter.legacy_cat1" reporter:label="CAT1 Entry">
+               <fields oils_persist:primary="id">
                        <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
                        <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
                        <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
-                       <field reporter:label="Transaction ID" name="xact" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
-                       <field reporter:label="Unvoided Paid Amount" name="unvoided" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
-                       <field reporter:label="Voided (Returned) Paid Amount" name="voided" oils_obj:array_position="5" oils_persist:virtual="false"/>
-                       <field reporter:label="Total Paid Amount" name="total" oils_obj:array_position="6" oils_persist:virtual="false"/>
+                       <field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="id" />
+                       <field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" />
+                       <field reporter:label="Entry Value" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
                </fields>
                <links>
-                       <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
+                       <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
                </links>
        </class>
+
+       <class id="rsce2" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::legacy_cat2" oils_persist:tablename="reporter.legacy_cat2" reporter:label="CAT2 Entry">
+               <fields oils_persist:primary="id">
+                       <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+                       <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+                       <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+                       <field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="id" />
+                       <field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" />
+                       <field reporter:label="Entry Value" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+               </links>
+       </class>
+       <!-- ********************************************************************************************************************* -->
+
 </IDL>
index dbef664..d1f1b31 100644 (file)
@@ -25,8 +25,8 @@ SELECT        cl.shortname AS circ_lib,
        paddr.county AS patron_county,
        paddr.city AS patron_city,
        paddr.post_code AS patron_zip,
-       sce1.value AS stat_cat_1,
-       sce2.value AS stat_cat_2
+       sc1.stat_cat_entry AS stat_cat_1,
+       sc2.stat_cat_entry AS stat_cat_2
   FROM action.circulation circ
        JOIN reporter.circ_type circ_type ON (circ.id = circ_type.id)
        JOIN asset.copy cp ON (cp.id = circ.target_copy)
@@ -45,9 +45,22 @@ SELECT       cl.shortname AS circ_lib,
        LEFT JOIN config.item_form_map ifm ON (rd.item_form = ifm.code)
        LEFT JOIN config.item_type_map itm ON (rd.item_type = itm.code)
        LEFT JOIN asset.stat_cat_entry_copy_map sc1 ON (sc1.owning_copy = cp.id AND sc1.stat_cat = 1)
-       LEFT JOIN asset.stat_cat_entry sce1 ON (sc1.stat_cat_entry = sce1.id)
-       LEFT JOIN asset.stat_cat_entry_copy_map sc2 ON (sc2.owning_copy = cp.id AND sc2.stat_cat = 2)
-       LEFT JOIN asset.stat_cat_entry sce2 ON (sc2.stat_cat_entry = sce2.id) ;
+       LEFT JOIN asset.stat_cat_entry_copy_map sc2 ON (sc2.owning_copy = cp.id AND sc2.stat_cat = 2);
+
+CREATE OR REPLACE VIEW reporter.legacy_cat1 AS
+SELECT id,
+       owner,
+       value
+  FROM asset.stat_cat_entry
+  WHERE        stat_cat = 1;
+
+CREATE OR REPLACE VIEW reporter.legacy_cat2 AS
+SELECT id,
+       owner,
+       value
+  FROM asset.stat_cat_entry
+  WHERE        stat_cat = 2;
+
 
 COMMIT;