From 71f3313e867ac3d9f0874c9a0d0138a5eeb939c9 Mon Sep 17 00:00:00 2001 From: hardya Date: Thu, 3 Apr 2008 15:03:48 +0000 Subject: [PATCH] Address #460 - Tripartite membership not being recognized. git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4718 248e525c-4dfb-0310-94bc-949c084e9493 --- Modules/mip_tripartite.pck | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/Modules/mip_tripartite.pck b/Modules/mip_tripartite.pck index 44ab77e..b1f2c56 100644 --- a/Modules/mip_tripartite.pck +++ b/Modules/mip_tripartite.pck @@ -309,13 +309,18 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS l_supp_prty_id parties.id%TYPE; l_contact_text regions.contact_text%TYPE; BEGIN + pl('valid_enquiry(rec):entry:' || p_rec.id + ,$$PLSQL_LINE); l_regi_code := mip_regions.get_region_for_postcode(p_postcode => p_rec.install_postcode); l_supp_prty_id := mip_enquiry.get_enquiry_role(p_enquiryid => p_rec.id - ,p_rolecode => 'SUPP'); + ,p_rolecode => 'ENQ SUPP'); IF NOT enquiry_allowed(p_supp_prty_id => l_supp_prty_id ,p_enty_code => p_rec.enty_code ,p_regi_code => l_regi_code) THEN + pl('valid_enquiry(rec):enquiry_not_allowed' + ,$$PLSQL_LINE); + SELECT regions.contact_text INTO l_contact_text FROM regions @@ -325,7 +330,10 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS l_contact_text || ' metering services. ' ,l_tab_messages); l_valid := FALSE; - ELSE + ELSIF tripartite_region(p_postcode => p_rec.install_postcode) + AND NOT tripartite_member(p_supp_prty_id => l_supp_prty_id) THEN + pl('valid_enquiry(rec):check_addons_allowed' + ,$$PLSQL_LINE); l_valid := addons_allowed(p_amr_required => p_rec.amr_required ,p_ems_required => p_rec.ems_required ,p_bypass_required => p_rec.bypass_required @@ -335,6 +343,10 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS p_tab_messages := l_tab_messages; + pl('valid_enquiry(rec):exit:' || CASE l_valid WHEN TRUE THEN 'TRUE' ELSE + 'FALSE' END + ,$$PLSQL_LINE); + RETURN l_valid; END valid_enquiry; @@ -343,18 +355,24 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS ,p_tab_messages OUT t_tab_messages) RETURN BOOLEAN IS l_tab_messages t_tab_messages; l_valid BOOLEAN DEFAULT TRUE; + l_rec mip_enquiries_helper.t_rec_enquiries; BEGIN - IF NOT enquiry_allowed(p_enqu_id => p_enqu_id) THEN - al('Tripartite agreement prevents this enquiry being processed.' - ,l_tab_messages); - l_valid := FALSE; - ELSE - l_valid := addons_allowed(p_enqu_id => p_enqu_id - ,p_tab_messages => l_tab_messages); - END IF; + pl('valid_enquiry(id):' || p_enqu_id + ,$$PLSQL_LINE); + SELECT * + INTO l_rec + FROM enquiries + WHERE id = p_enqu_id; + + l_valid := valid_enquiry(p_rec => l_rec + ,p_tab_messages => l_tab_messages); p_tab_messages := l_tab_messages; + pl('valid_enquiry(id):exit:' || CASE l_valid WHEN TRUE THEN 'TRUE' ELSE + 'FALSE' END + ,$$PLSQL_LINE); + RETURN l_valid; END valid_enquiry;