From: Dan Wells Date: Fri, 21 Feb 2014 21:34:58 +0000 (-0500) Subject: Stamping 0868 - 'behind_desk' fixes X-Git-Tag: sprint4-merge-nov22~2255 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e406e36122b07f97f1c6ec6d5397550b03949b1b;p=working%2FEvergreen.git Stamping 0868 - 'behind_desk' fixes Signed-off-by: Dan Wells --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 6900d1bd5b..e8ee5f0754 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0867', :eg_version); -- miker/berick/dbwells +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0868', :eg_version); -- berick/dbwells CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0868.schema.all_hold_behind_desk.sql b/Open-ILS/src/sql/Pg/upgrade/0868.schema.all_hold_behind_desk.sql new file mode 100644 index 0000000000..0a5271919e --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0868.schema.all_hold_behind_desk.sql @@ -0,0 +1,189 @@ +-- add missing behind_desk column + +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('0868', :eg_version); + +CREATE OR REPLACE VIEW action.all_hold_request AS + SELECT DISTINCT + COALESCE(a.post_code, b.post_code) AS usr_post_code, + p.home_ou AS usr_home_ou, + p.profile AS usr_profile, + EXTRACT(YEAR FROM p.dob)::INT AS usr_birth_year, + CAST(ahr.requestor <> ahr.usr AS BOOLEAN) AS staff_placed, + ahr.id, + ahr.request_time, + ahr.capture_time, + ahr.fulfillment_time, + ahr.checkin_time, + ahr.return_time, + ahr.prev_check_time, + ahr.expire_time, + ahr.cancel_time, + ahr.cancel_cause, + ahr.cancel_note, + ahr.target, + ahr.current_copy, + ahr.fulfillment_staff, + ahr.fulfillment_lib, + ahr.request_lib, + ahr.selection_ou, + ahr.selection_depth, + ahr.pickup_lib, + ahr.hold_type, + ahr.holdable_formats, + CASE + WHEN ahr.phone_notify IS NULL THEN FALSE + WHEN ahr.phone_notify = '' THEN FALSE + ELSE TRUE + END AS phone_notify, + ahr.email_notify, + CASE + WHEN ahr.sms_notify IS NULL THEN FALSE + WHEN ahr.sms_notify = '' THEN FALSE + ELSE TRUE + END AS sms_notify, + ahr.frozen, + ahr.thaw_date, + ahr.shelf_time, + ahr.cut_in_line, + ahr.mint_condition, + ahr.shelf_expire_time, + ahr.current_shelf_lib, + ahr.behind_desk + FROM action.hold_request ahr + JOIN actor.usr p ON (ahr.usr = p.id) + LEFT JOIN actor.usr_address a ON (p.mailing_address = a.id) + LEFT JOIN actor.usr_address b ON (p.billing_address = b.id) + UNION ALL + SELECT + usr_post_code, + usr_home_ou, + usr_profile, + usr_birth_year, + staff_placed, + id, + request_time, + capture_time, + fulfillment_time, + checkin_time, + return_time, + prev_check_time, + expire_time, + cancel_time, + cancel_cause, + cancel_note, + target, + current_copy, + fulfillment_staff, + fulfillment_lib, + request_lib, + selection_ou, + selection_depth, + pickup_lib, + hold_type, + holdable_formats, + phone_notify, + email_notify, + sms_notify, + frozen, + thaw_date, + shelf_time, + cut_in_line, + mint_condition, + shelf_expire_time, + current_shelf_lib, + behind_desk + FROM action.aged_hold_request; + + + +CREATE OR REPLACE FUNCTION action.age_hold_on_delete () RETURNS TRIGGER AS $$ +DECLARE +BEGIN + -- Archive a copy of the old row to action.aged_hold_request + + INSERT INTO action.aged_hold_request + (usr_post_code, + usr_home_ou, + usr_profile, + usr_birth_year, + staff_placed, + id, + request_time, + capture_time, + fulfillment_time, + checkin_time, + return_time, + prev_check_time, + expire_time, + cancel_time, + cancel_cause, + cancel_note, + target, + current_copy, + fulfillment_staff, + fulfillment_lib, + request_lib, + selection_ou, + selection_depth, + pickup_lib, + hold_type, + holdable_formats, + phone_notify, + email_notify, + sms_notify, + frozen, + thaw_date, + shelf_time, + cut_in_line, + mint_condition, + shelf_expire_time, + current_shelf_lib, + behind_desk) + SELECT + usr_post_code, + usr_home_ou, + usr_profile, + usr_birth_year, + staff_placed, + id, + request_time, + capture_time, + fulfillment_time, + checkin_time, + return_time, + prev_check_time, + expire_time, + cancel_time, + cancel_cause, + cancel_note, + target, + current_copy, + fulfillment_staff, + fulfillment_lib, + request_lib, + selection_ou, + selection_depth, + pickup_lib, + hold_type, + holdable_formats, + phone_notify, + email_notify, + sms_notify, + frozen, + thaw_date, + shelf_time, + cut_in_line, + mint_condition, + shelf_expire_time, + current_shelf_lib, + behind_desk + FROM action.all_hold_request WHERE id = OLD.id; + + RETURN OLD; +END; +$$ LANGUAGE 'plpgsql'; + +COMMIT; + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.all_hold_behind_desk.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.all_hold_behind_desk.sql deleted file mode 100644 index c2c6e955d0..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.all_hold_behind_desk.sql +++ /dev/null @@ -1,187 +0,0 @@ --- add missing behind_desk column - -BEGIN; - -CREATE OR REPLACE VIEW action.all_hold_request AS - SELECT DISTINCT - COALESCE(a.post_code, b.post_code) AS usr_post_code, - p.home_ou AS usr_home_ou, - p.profile AS usr_profile, - EXTRACT(YEAR FROM p.dob)::INT AS usr_birth_year, - CAST(ahr.requestor <> ahr.usr AS BOOLEAN) AS staff_placed, - ahr.id, - ahr.request_time, - ahr.capture_time, - ahr.fulfillment_time, - ahr.checkin_time, - ahr.return_time, - ahr.prev_check_time, - ahr.expire_time, - ahr.cancel_time, - ahr.cancel_cause, - ahr.cancel_note, - ahr.target, - ahr.current_copy, - ahr.fulfillment_staff, - ahr.fulfillment_lib, - ahr.request_lib, - ahr.selection_ou, - ahr.selection_depth, - ahr.pickup_lib, - ahr.hold_type, - ahr.holdable_formats, - CASE - WHEN ahr.phone_notify IS NULL THEN FALSE - WHEN ahr.phone_notify = '' THEN FALSE - ELSE TRUE - END AS phone_notify, - ahr.email_notify, - CASE - WHEN ahr.sms_notify IS NULL THEN FALSE - WHEN ahr.sms_notify = '' THEN FALSE - ELSE TRUE - END AS sms_notify, - ahr.frozen, - ahr.thaw_date, - ahr.shelf_time, - ahr.cut_in_line, - ahr.mint_condition, - ahr.shelf_expire_time, - ahr.current_shelf_lib, - ahr.behind_desk - FROM action.hold_request ahr - JOIN actor.usr p ON (ahr.usr = p.id) - LEFT JOIN actor.usr_address a ON (p.mailing_address = a.id) - LEFT JOIN actor.usr_address b ON (p.billing_address = b.id) - UNION ALL - SELECT - usr_post_code, - usr_home_ou, - usr_profile, - usr_birth_year, - staff_placed, - id, - request_time, - capture_time, - fulfillment_time, - checkin_time, - return_time, - prev_check_time, - expire_time, - cancel_time, - cancel_cause, - cancel_note, - target, - current_copy, - fulfillment_staff, - fulfillment_lib, - request_lib, - selection_ou, - selection_depth, - pickup_lib, - hold_type, - holdable_formats, - phone_notify, - email_notify, - sms_notify, - frozen, - thaw_date, - shelf_time, - cut_in_line, - mint_condition, - shelf_expire_time, - current_shelf_lib, - behind_desk - FROM action.aged_hold_request; - - - -CREATE OR REPLACE FUNCTION action.age_hold_on_delete () RETURNS TRIGGER AS $$ -DECLARE -BEGIN - -- Archive a copy of the old row to action.aged_hold_request - - INSERT INTO action.aged_hold_request - (usr_post_code, - usr_home_ou, - usr_profile, - usr_birth_year, - staff_placed, - id, - request_time, - capture_time, - fulfillment_time, - checkin_time, - return_time, - prev_check_time, - expire_time, - cancel_time, - cancel_cause, - cancel_note, - target, - current_copy, - fulfillment_staff, - fulfillment_lib, - request_lib, - selection_ou, - selection_depth, - pickup_lib, - hold_type, - holdable_formats, - phone_notify, - email_notify, - sms_notify, - frozen, - thaw_date, - shelf_time, - cut_in_line, - mint_condition, - shelf_expire_time, - current_shelf_lib, - behind_desk) - SELECT - usr_post_code, - usr_home_ou, - usr_profile, - usr_birth_year, - staff_placed, - id, - request_time, - capture_time, - fulfillment_time, - checkin_time, - return_time, - prev_check_time, - expire_time, - cancel_time, - cancel_cause, - cancel_note, - target, - current_copy, - fulfillment_staff, - fulfillment_lib, - request_lib, - selection_ou, - selection_depth, - pickup_lib, - hold_type, - holdable_formats, - phone_notify, - email_notify, - sms_notify, - frozen, - thaw_date, - shelf_time, - cut_in_line, - mint_condition, - shelf_expire_time, - current_shelf_lib, - behind_desk - FROM action.all_hold_request WHERE id = OLD.id; - - RETURN OLD; -END; -$$ LANGUAGE 'plpgsql'; - -COMMIT; -