From: Jason Stephenson <jason@sigio.com>
Date: Tue, 10 Sep 2019 15:27:07 +0000 (-0400)
Subject: Lp 1835577: Add more missing auto_renewal fields
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4b70112dc86f8f64d2c2469b45b6486906a72087;p=contrib%2FConifer.git

Lp 1835577: Add more missing auto_renewal fields

Add missing auto_renewal and auto_renewal_remaining fields to the
following additional IDL classes:

* aacs
* aoc
* circbyyr
* robcirc

Add database updates to add auto_renewal fields to the following
views:

* action.billable_circulations
* action.open_circulation
* reporter.circ_type
* reporter.overdue_circs

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
---

diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml
index e41ce8b6d5..bb01086e3c 100644
--- a/Open-ILS/examples/fm_IDL.xml
+++ b/Open-ILS/examples/fm_IDL.xml
@@ -4759,6 +4759,8 @@ SELECT  usr,
 			<field reporter:label="Archived Copy Stat-Cat Entries" name="aaasc_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Linked Active Circulation" name="active_circ" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Linked Aged Circulation" name="aged_circ" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Auto Renewal" name="auto_renewal" reporter:datatype="bool"/>
+			<field reporter:label="Remaining Auto Renewals" name="auto_renewal_remaining" reporter:datatype="int" />
 		</fields>
 		<links>
 			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
@@ -7390,6 +7392,8 @@ SELECT  usr,
 			<field name="xact_finish" reporter:datatype="timestamp" />
 			<field name="xact_start" reporter:datatype="timestamp" />
 			<field name="circulation" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="auto_renewal" reporter:datatype="bool"/>
+			<field name="auto_renewal_remaining" reporter:datatype="int" />
 		</fields>
 		<links>
 			<link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
@@ -12342,7 +12346,7 @@ SELECT  usr,
 			cp.id as copy,
 			COUNT(circ.id),
 			EXTRACT(YEAR FROM circ.xact_start) AS year,
-			(phone_renewal OR desk_renewal OR opac_renewal) as is_renewal
+			(phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
 		FROM
 			asset.copy cp
 				JOIN action.circulation circ ON (cp.id = circ.target_copy)
@@ -12352,7 +12356,7 @@ SELECT  usr,
 			cp.id as copy,
 			COUNT(circ.id),
 			EXTRACT(YEAR FROM circ.xact_start) AS year,
-			(phone_renewal OR desk_renewal OR opac_renewal) as is_renewal
+			(phone_renewal OR desk_renewal OR opac_renewal OR auto_renewal) as is_renewal
 		FROM
 			asset.copy cp
 				JOIN action.aged_circulation circ ON (cp.id = circ.target_copy)
@@ -12416,6 +12420,8 @@ SELECT  usr,
 			<field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Auto Renewal" name="auto_renewal" reporter:datatype="bool"/>
+			<field reporter:label="Remaining Auto Renewals" name="auto_renewal_remaining" reporter:datatype="int" />
 		</fields>
 		<links>
 			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
diff --git a/Open-ILS/src/sql/Pg/reporter-schema.sql b/Open-ILS/src/sql/Pg/reporter-schema.sql
index 52f2f398d9..4ed00474cd 100644
--- a/Open-ILS/src/sql/Pg/reporter-schema.sql
+++ b/Open-ILS/src/sql/Pg/reporter-schema.sql
@@ -245,7 +245,7 @@ SELECT	u.id,
 
 CREATE OR REPLACE VIEW reporter.circ_type AS
 SELECT	id,
-	CASE WHEN opac_renewal OR phone_renewal OR desk_renewal
+	CASE WHEN opac_renewal OR phone_renewal OR desk_renewal OR auto_renewal
 		THEN 'RENEWAL'
 		ELSE 'CHECKOUT'
 	END AS "type"
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql
new file mode 100644
index 0000000000..9365993c46
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql
@@ -0,0 +1,31 @@
+BEGIN;
+
+--SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE VIEW action.open_circulation AS
+	SELECT	*
+	  FROM	action.circulation
+	  WHERE	checkin_time IS NULL
+	  ORDER BY due_date;
+
+CREATE OR REPLACE VIEW action.billable_circulations AS
+	SELECT	*
+	  FROM	action.circulation
+	  WHERE	xact_finish IS NULL;
+
+CREATE OR REPLACE VIEW reporter.overdue_circs AS
+SELECT  *
+  FROM  "action".circulation
+  WHERE checkin_time is null
+        AND (stop_fines NOT IN ('LOST','CLAIMSRETURNED') OR stop_fines IS NULL)
+        AND due_date < now();
+
+CREATE OR REPLACE VIEW reporter.circ_type AS
+SELECT	id,
+	CASE WHEN opac_renewal OR phone_renewal OR desk_renewal OR auto_renewal
+		THEN 'RENEWAL'
+		ELSE 'CHECKOUT'
+	END AS "type"
+  FROM	action.circulation;
+
+COMMIT;