Add a boolean "propagate" column to acq.fund, to denote whether
authorscottmk <scottmk@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 11 Jan 2010 16:55:39 +0000 (16:55 +0000)
committerscottmk <scottmk@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 11 Jan 2010 16:55:39 +0000 (16:55 +0000)
the fund should be propagated from one year to the next.

M    Open-ILS/src/sql/Pg/200.schema.acq.sql
M    Open-ILS/src/sql/Pg/002.schema.config.sql
A    Open-ILS/src/sql/Pg/upgrade/0132.schema.acq.fund-propagable.sql
M    Open-ILS/examples/fm_IDL.xml

git-svn-id: svn://svn.open-ils.org/ILS/trunk@15298 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/200.schema.acq.sql
Open-ILS/src/sql/Pg/upgrade/0132.schema.acq.fund-propagable.sql [new file with mode: 0644]

index 21470d6..9944aba 100644 (file)
@@ -4581,6 +4581,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="Currency Type" name="currency_type" reporter:datatype="link" />
                        <field reporter:label="Code" name="code" reporter:datatype="text" />
                        <field reporter:label="Rollover" name="rollover" reporter:datatype="bool" />
+                       <field reporter:label="Propagate" name="propagate" reporter:datatype="bool" />
                        <field reporter:label="Summary" name="summary" oils_persist:virtual="true"/>
                        <field reporter:label="Allocations" name="allocations" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Debits" name="debits" oils_persist:virtual="true" reporter:datatype="link"/>
index f6a11a5..31341d0 100644 (file)
@@ -51,7 +51,7 @@ CREATE TABLE config.upgrade_log (
     install_date    TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
 );
 
-INSERT INTO config.upgrade_log (version) VALUES ('0131'); -- dbs
+INSERT INTO config.upgrade_log (version) VALUES ('0132'); -- Scott McKellar
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
index 54faee0..ed5029d 100644 (file)
@@ -169,8 +169,10 @@ CREATE TABLE acq.fund (
     currency_type   TEXT    NOT NULL REFERENCES acq.currency_type (code) DEFERRABLE INITIALLY DEFERRED,
     code            TEXT,
        rollover        BOOL    NOT NULL DEFAULT FALSE,
+       propagate       BOOL    NOT NULL DEFAULT TRUE,
     CONSTRAINT name_once_per_org_year UNIQUE (org,name,year),
-    CONSTRAINT code_once_per_org_year UNIQUE (org, code, year)
+    CONSTRAINT code_once_per_org_year UNIQUE (org, code, year),
+       CONSTRAINT acq_fund_rollover_implies_propagate CHECK ( propagate OR NOT rollover )
 );
 
 CREATE TABLE acq.fund_debit (
diff --git a/Open-ILS/src/sql/Pg/upgrade/0132.schema.acq.fund-propagable.sql b/Open-ILS/src/sql/Pg/upgrade/0132.schema.acq.fund-propagable.sql
new file mode 100644 (file)
index 0000000..0cb8e48
--- /dev/null
@@ -0,0 +1,14 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('0132'); -- Scott McKellar
+
+ALTER TABLE acq.fund
+       ADD COLUMN propagate BOOLEAN NOT NULL DEFAULT TRUE;
+
+-- A fund can't roll over if it doesn't propagate from one year to the next
+
+ALTER TABLE acq.fund
+       ADD CONSTRAINT acq_fund_rollover_implies_propagate CHECK
+       ( propagate OR NOT rollover );
+
+COMMIT;