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
<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"/>
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,
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 (
--- /dev/null
+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;