added check that the returned role is NOT null if it is return FALSE. This was because it wasn't giving a no data found error as expected.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3259 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
mullenm
2008-01-16 14:31:11 +00:00
parent 94c33c6342
commit 25fd6ec5c3

View File

@@ -1,6 +1,6 @@
CREATE OR REPLACE PACKAGE mip_parties AS CREATE OR REPLACE PACKAGE mip_parties AS
FUNCTION is_tripartite(p_mktp_ref IN VARCHAR2) RETURN BOOLEAN; FUNCTION is_tripartite(p_user_id IN VARCHAR2) RETURN BOOLEAN;
FUNCTION get_user_id(p_username IN VARCHAR2) RETURN NUMBER; FUNCTION get_user_id(p_username IN VARCHAR2) RETURN NUMBER;
FUNCTION get_user_role(p_username IN VARCHAR2) RETURN VARCHAR2; FUNCTION get_user_role(p_username IN VARCHAR2) RETURN VARCHAR2;
-- --
@@ -192,10 +192,10 @@ CREATE OR REPLACE PACKAGE BODY mip_parties AS
- mktp_ref and returns true if the tripartite member column is yes. - mktp_ref and returns true if the tripartite member column is yes.
%param p_mktp_ref - the market participant (supplier) to check. %param p_mktp_ref - the market participant (supplier) to check.
*/ */
FUNCTION is_tripartite(p_mktp_ref IN VARCHAR2) RETURN BOOLEAN AS FUNCTION is_tripartite(p_user_id IN VARCHAR2) RETURN BOOLEAN AS
l_tripartite_status varchar2(3); l_tripartite_status varchar2(3);
CURSOR c_tripartite IS CURSOR c_tripartite IS
SELECT distinct tripartite_member FROM parties WHERE upper(mktp_ref) = upper(p_mktp_ref); SELECT distinct tripartite_member FROM parties WHERE id = p_user_id;
BEGIN BEGIN
OPEN c_tripartite; OPEN c_tripartite;
FETCH c_tripartite FETCH c_tripartite
@@ -262,6 +262,10 @@ CREATE OR REPLACE PACKAGE BODY mip_parties AS
- if found then true is returned. - if found then true is returned.
%param p_username - the name of the user you want to get the id for. %param p_username - the name of the user you want to get the id for.
%param p_role - the role you wish to check against %param p_role - the role you wish to check against
update - 16-Jan-2008 - MM - added check that the returned role is NOT null
if it is return FALSE. This was because it wasn't
giving a no data found error as expected.
*/ */
FUNCTION check_user_role(p_username IN VARCHAR2, p_role IN VARCHAR2) RETURN BOOLEAN AS FUNCTION check_user_role(p_username IN VARCHAR2, p_role IN VARCHAR2) RETURN BOOLEAN AS
rolecode VARCHAR2(80); rolecode VARCHAR2(80);
@@ -276,13 +280,17 @@ CREATE OR REPLACE PACKAGE BODY mip_parties AS
INTO rolecode; INTO rolecode;
CLOSE c_userrole; CLOSE c_userrole;
RETURN TRUE; IF rolecode IS NOT NULL THEN
RETURN TRUE;
ELSE RETURN FALSE;
END IF;
EXCEPTION EXCEPTION
WHEN OTHERS THEN WHEN OTHERS THEN
RETURN NULL; CLOSE c_userrole;
RETURN FALSE;
END check_user_role; END check_user_role;
-- --
--
/** get the password created date for the given username and password /** get the password created date for the given username and password
%return DATE the date the password was created for authenticated username and password combination %return DATE the date the password was created for authenticated username and password combination