From 88574a958a5aa67e035a7e9f050670991138a3c8 Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Wed, 15 Feb 2023 08:37:54 -0500 Subject: [PATCH] first steps to add IP range to org units --- Open-ILS/examples/fm_IDL.xml | 18 ++++++++++++++++++ .../lib/OpenILS/Application/Storage/CDBI/actor.pm | 2 +- Open-ILS/src/sql/Pg/005.schema.actors.sql | 8 ++++++++ Open-ILS/src/sql/Pg/upgrade/XXXX.org_ip_range.sql | 12 ++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.org_ip_range.sql diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index adacfda200..bd92a3b360 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -7264,6 +7264,7 @@ SELECT usr, + @@ -7302,6 +7303,7 @@ SELECT usr, + @@ -7312,6 +7314,22 @@ SELECT usr, + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm index 6bf0481662..e708da7a13 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm @@ -82,7 +82,7 @@ use base qw/actor/; __PACKAGE__->table( 'actor_org_unit' ); __PACKAGE__->columns( Primary => qw/id/); __PACKAGE__->columns( Essential => qw/parent_ou ou_type mailing_address billing_address - ill_address holds_address shortname name email phone opac_visible fiscal_calendar/); + ill_address holds_address shortname name email phone opac_visible fiscal_calendar ip_range/); #------------------------------------------------------------------------------- package actor::org_unit::hours_of_operation; diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql index 1c6fb9d27f..dc7de76583 100644 --- a/Open-ILS/src/sql/Pg/005.schema.actors.sql +++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql @@ -323,6 +323,12 @@ CREATE TABLE actor.org_unit_type ( ); CREATE INDEX actor_org_unit_type_parent_idx ON actor.org_unit_type (parent); +CREATE TABLE actor.org_ip_range ( + id SERIAL PRIMARY KEY, + org_unit INT REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, + ip_range CIDR NOT NULL +); + CREATE TABLE actor.org_unit ( id SERIAL PRIMARY KEY, parent_ou INT REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, @@ -331,6 +337,7 @@ CREATE TABLE actor.org_unit ( holds_address INT, mailing_address INT, billing_address INT, + ip_range INT REFERENCES actor.org_ip_range (id) DEFERRABLE INITIALLY DEFERRED, shortname TEXT NOT NULL UNIQUE, name TEXT NOT NULL UNIQUE, email TEXT, @@ -344,6 +351,7 @@ CREATE INDEX actor_org_unit_ill_address_idx ON actor.org_unit (ill_address); CREATE INDEX actor_org_unit_billing_address_idx ON actor.org_unit (billing_address); CREATE INDEX actor_org_unit_mailing_address_idx ON actor.org_unit (mailing_address); CREATE INDEX actor_org_unit_holds_address_idx ON actor.org_unit (holds_address); +CREATE INDEX actor_org_unit_ip_range_idx ON actor.org_unit (ip_range); CREATE OR REPLACE FUNCTION actor.org_unit_parent_protect () RETURNS TRIGGER AS $$ DECLARE diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.org_ip_range.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.org_ip_range.sql new file mode 100644 index 0000000000..9f7fe541e4 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.org_ip_range.sql @@ -0,0 +1,12 @@ +BEGIN; + +CREATE TABLE actor.org_ip_range ( + id SERIAL PRIMARY KEY, + org_unit INT REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, + ip_range CIDR NOT NULL +); + +ALTER TABLE actor.org_unit ADD COLUMN ip_range INT REFERENCES actor.org_ip_range (id) DEFERRABLE INITIALLY DEFERRED; +CREATE INDEX actor_org_unit_ip_range_idx ON actor.org_unit (ip_range); + +COMMIT; -- 2.11.0