DBA Data[Home] [Help]

APPS.BISM_CORE dependencies on BISM_PERMISSIONS

Line 220: insert into bism_permissions (subject_id,object_id,privilege) values(sub_id,fid,priv);

216:
217: ret := bism_access_control.check_fullcontrol_access(fid,grantor);
218: if ret = 'y' then
219: select subject_id into sub_id from bism_subjects where subject_name = grantee_name;
220: insert into bism_permissions (subject_id,object_id,privilege) values(sub_id,fid,priv);
221: if bism_core.v_auto_commit = TRUE then
222: commit;
223: end if;
224:

Line 836: v_priv bism_permissions.privilege%type;

832: function check_user_privileges(p_username varchar2, p_oid raw, p_myid raw)
833: return number
834: is
835: v_subid bism_subjects.subject_id%type;
836: v_priv bism_permissions.privilege%type;
837: begin
838: begin
839: select subject_id into v_subid from bism_subjects where subject_name = p_username and subject_type='u';
840: exception

Line 846: select nvl(max(privilege),0) into v_priv from bism_permissions where object_id = p_oid and subject_id in (select group_id from bism_groups where user_id = v_subid);

842: raise_application_error(-20503,'User not found');
843: end;
844: begin
845: -- could remove acl checking since it has been done when looking up the object id (ccchow)
846: select nvl(max(privilege),0) into v_priv from bism_permissions where object_id = p_oid and subject_id in (select group_id from bism_groups where user_id = v_subid);
847: exception
848: when no_data_found then
849: v_priv := 0;
850: end;

Line 868: from bism_permissions t1,

864: (select subject_name from bism_subjects where subject_id = t1.subject_id),
865: null),
866: t1.privilege,
867: t2.subject_type
868: from bism_permissions t1,
869: bism_subjects t2
870: where 'y' = bism_access_control.check_show_entries_access(p_oid,p_myid)
871: and t1.object_id = p_oid
872: and t2.subject_id = t1.subject_id;

Line 973: priv bism_permissions.privilege%type;

969: end;
970:
971: procedure move_folder(topfolderid raw,tgtfid raw,objname varchar2, srcfid raw,myid raw)
972: is
973: priv bism_permissions.privilege%type;
974: foldername bism_objects.object_name%type;
975: move_not_allowed boolean := true;
976: begin
977:

Line 990: select max(privilege) into priv from bism_permissions where

986:
987: -- 1. lets check the parent folder access first
988: begin
989: priv := 0;
990: select max(privilege) into priv from bism_permissions where
991: object_id = topfolderid and subject_id in
992: (
993: select group_id from bism_groups where user_id = myid
994: );

Line 1022: select max(privilege) into priv from bism_permissions where

1018: -- 2. lets check the source folder access
1019:
1020: begin
1021: priv := 0;
1022: select max(privilege) into priv from bism_permissions where
1023: object_id = srcfid and subject_id in
1024: (
1025: select group_id from bism_groups where user_id = myid
1026: );

Line 1050: select max(privilege) into priv from bism_permissions where

1046:
1047: -- now test the target folder access
1048: begin
1049: priv:=0;
1050: select max(privilege) into priv from bism_permissions where
1051: object_id = tgtfid and subject_id in
1052: (
1053: select group_id from bism_groups where user_id = myid
1054: );

Line 1080: select max(privilege) into priv from bism_permissions where

1076: -- of source folder (this is what NT does)
1077: begin
1078: for i in (select object_id from bism_objects where object_type_id=100 start with object_id = srcfid connect by folder_id = prior object_id) loop
1079: priv := 0;
1080: select max(privilege) into priv from bism_permissions where
1081: object_id = i.object_id and subject_id in
1082: (
1083: select group_id from bism_groups where user_id = myid
1084: );

Line 1108: priv bism_permissions.privilege%type;

1104:
1105: -- modified by ccchow, to support object level security
1106: procedure move_object(srcfid raw,tgtfid raw,objname varchar2,objid raw,myid raw)
1107: is
1108: priv bism_permissions.privilege%type;
1109: foldername bism_objects.object_name%type;
1110: begin
1111: -- first test the object itself (added - ccchow)
1112: begin

Line 1114: select max(privilege) into priv from bism_permissions where object_id = objid and subject_id in (select group_id from bism_groups where user_id = myid);

1110: begin
1111: -- first test the object itself (added - ccchow)
1112: begin
1113: priv := 0;
1114: select max(privilege) into priv from bism_permissions where object_id = objid and subject_id in (select group_id from bism_groups where user_id = myid);
1115:
1116: if priv is null then
1117: begin
1118: select object_name into foldername from bism_objects where object_id = objid;

Line 1135: select max(privilege) into priv from bism_permissions where object_id = srcfid and subject_id in (select group_id from bism_groups where user_id = myid);

1131:
1132: -- now test the source folder
1133: begin
1134: priv := 0;
1135: select max(privilege) into priv from bism_permissions where object_id = srcfid and subject_id in (select group_id from bism_groups where user_id = myid);
1136:
1137: -- if privilege does not exist on the folder, priv will be set to null
1138: -- but it wont raise data not found exception
1139: -- this can happen for 2 reasons

Line 1161: select max(privilege) into priv from bism_permissions where object_id = tgtfid and subject_id in (select group_id from bism_groups where user_id = myid);

1157:
1158: -- now test the target folder
1159: begin
1160: priv:=0;
1161: select max(privilege) into priv from bism_permissions where object_id = tgtfid and subject_id in (select group_id from bism_groups where user_id = myid);
1162:
1163: -- if privilege does not exist on the folder, priv will be set to null
1164: -- but it wont raise data not found exception
1165: if priv is null then

Line 1196: priv bism_permissions.privilege%type := 0;

1192: function can_copy_folder(srcfid raw,tgtfid raw,myid raw)
1193: return boolean
1194: is
1195: foldername bism_objects.object_name%type;
1196: priv bism_permissions.privilege%type := 0;
1197: copy_not_allowed boolean := true;
1198: begin
1199: -- make sure that the destination folder is not a sub folder of src folder
1200: copy_not_allowed := bism_core.is_src_ancestor_of_target(srcfid,tgtfid);

Line 1208: select max(privilege) into priv from bism_permissions where

1204: -- make sure user has atleast READ access on all sub folders
1205: begin
1206: for i in (select object_id from bism_objects where object_type_id=100 start with object_id = srcfid connect by folder_id = prior object_id) loop
1207: priv := 0;
1208: select max(privilege) into priv from bism_permissions where
1209: object_id = i.object_id and subject_id in
1210: (
1211: select group_id from bism_groups where user_id = myid
1212: );

Line 1229: select max(privilege) into priv from bism_permissions where

1225:
1226: -- now test the target folder
1227: begin
1228: priv:=0;
1229: select max(privilege) into priv from bism_permissions where
1230: object_id = tgtfid and subject_id in
1231: (
1232: select group_id from bism_groups where user_id = myid
1233: );

Line 1361: priv bism_permissions.privilege%type;

1357:
1358: -- modified by ccchow to support object level security
1359: procedure copy_object(srcfid raw,tgtfid raw,srcobjname varchar2,destobjname varchar2,myid raw,copytype integer)
1360: is
1361: priv bism_permissions.privilege%type;
1362: foldername bism_objects.object_name%type;
1363: newguid bism_objects.object_id%type;
1364: toplevelobjid bism_objects.object_id%type;
1365: agginfo bism_aggregates.aggregate_info%type;

Line 1400: select max(privilege) into priv from bism_permissions where object_id = toplevelobjid and subject_id in (select group_id from bism_groups where user_id = myid);

1396:
1397: -- first check the privilege on the object (ccchow)
1398: begin
1399: priv := 0;
1400: select max(privilege) into priv from bism_permissions where object_id = toplevelobjid and subject_id in (select group_id from bism_groups where user_id = myid);
1401:
1402: if priv is null then
1403: raise_application_error(BISM_ERRORCODES.NO_PRIVILEGES,'User has no privileges on object');
1404: end if;

Line 1415: select max(privilege) into priv from bism_permissions where object_id = srcfid and subject_id in (select group_id from bism_groups where user_id = myid);

1411:
1412: -- now check privileges on source and target folders
1413: begin
1414: priv := 0;
1415: select max(privilege) into priv from bism_permissions where object_id = srcfid and subject_id in (select group_id from bism_groups where user_id = myid);
1416:
1417: -- if privilege does not exist on the folder, priv will be set to null
1418: -- but it wont raise data not found exception
1419: -- this can happen for 2 reasons

Line 1443: select max(privilege) into priv from bism_permissions where object_id = tgtfid and subject_id in (select group_id from bism_groups where user_id = myid);

1439:
1440: -- now test the target folder
1441: begin
1442: priv:=0;
1443: select max(privilege) into priv from bism_permissions where object_id = tgtfid and subject_id in (select group_id from bism_groups where user_id = myid);
1444:
1445: -- if privilege does not exist on the folder, priv will be set to null
1446: -- but it wont raise data not found exception
1447: if priv is null then

Line 1691: priv bism_permissions.privilege%type;

1687:
1688: function check_access_super_tree(startoid raw,stopoid raw,myid raw)
1689: return varchar2
1690: is
1691: priv bism_permissions.privilege%type;
1692:
1693: begin
1694:
1695:

Line 1697: select max(privilege) into priv from bism_permissions where object_id = startoid and subject_id in (select group_id from bism_groups where user_id = myid);

1693: begin
1694:
1695:
1696: if startoid = stopoid then
1697: select max(privilege) into priv from bism_permissions where object_id = startoid and subject_id in (select group_id from bism_groups where user_id = myid);
1698: if priv is null then
1699: -- user has no access to this folder
1700: return 'n';
1701: else

Line 1711: select max(privilege) into priv from bism_permissions where object_id = i.object_id and subject_id in (select group_id from bism_groups where user_id = myid);

1707: else
1708:
1709: for i in( select object_id from bism_objects start with object_id = startoid connect by prior folder_id = object_id and object_id <> stopoid ) loop
1710:
1711: select max(privilege) into priv from bism_permissions where object_id = i.object_id and subject_id in (select group_id from bism_groups where user_id = myid);
1712: if priv is null then
1713: -- user has no access to this folder
1714: return 'n';
1715: else

Line 2061: priv bism_permissions.privilege%type := 0;

2057: return bism_subjects.subject_id%type
2058: is
2059: subid bism_subjects.subject_id%type;
2060: oid bism_objects.object_id%type := null;
2061: priv bism_permissions.privilege%type := 0;
2062: begin
2063: /* make sure root folder exists */
2064: begin
2065: select object_id into oid from bism_objects where folder_id='30' and object_name= 'ROOT' and user_visible = 'Y';

Line 2081: select nvl(max(privilege),0) into priv from bism_permissions where object_id = '31' and subject_id in (select group_id from bism_groups where user_id = subid );

2077: end;
2078:
2079: /* make sure user has enough prvileges */
2080: begin
2081: select nvl(max(privilege),0) into priv from bism_permissions where object_id = '31' and subject_id in (select group_id from bism_groups where user_id = subid );
2082: exception
2083: when no_data_found then
2084: raise_application_error(BISM_ERRORCODES.NO_PRIVILEGES,'User has no privilege for root folder');
2085: end;

Line 2582: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

2578: if acllist.count = 0 then
2579: return null;
2580: end if;
2581:
2582: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
2583:
2584: if grantorpriv is null then
2585: begin
2586: -- see if object exists

Line 2624: delete from bism_permissions where object_id = oid and subject_id = acllist(i).subjid;

2620: -- ok the grantor has enough privilege, proceed with adding entries
2621: for i in 1..acllist.count
2622: loop
2623: if acllist(i).subjid is not null then
2624: delete from bism_permissions where object_id = oid and subject_id = acllist(i).subjid;
2625: end if;
2626: end loop;
2627:
2628: for i in 1..acllist.count

Line 2631: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(i).subjid,oid,acllist(i).privilege);

2627:
2628: for i in 1..acllist.count
2629: loop
2630: if acllist(i).subjid is not null then
2631: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(i).subjid,oid,acllist(i).privilege);
2632: end if;
2633: end loop;
2634:
2635: -- do it for folder only

Line 2647: delete from bism_permissions where object_id = i.object_id and subject_id = acllist(j).subjid;

2643: -- remove all existing entries
2644: for j in 1..acllist.count
2645: loop
2646: if acllist(j).subjid is not null then
2647: delete from bism_permissions where object_id = i.object_id and subject_id = acllist(j).subjid;
2648: end if;
2649: end loop;
2650:
2651: -- add the new entries

Line 2656: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);

2652: for j in 1..acllist.count loop
2653: if acllist(j).subjid is not null then
2654: -- for non-folder, need to map ADDFOLDER to LIST and LIST to nothing
2655: if i.object_type_id = 100 then
2656: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
2657: else
2658: if acllist(j).privilege > 10 then
2659: if acllist(j).privilege = 30 then
2660: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);

Line 2660: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);

2656: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
2657: else
2658: if acllist(j).privilege > 10 then
2659: if acllist(j).privilege = 30 then
2660: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);
2661: else
2662: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
2663: end if;
2664: end if;

Line 2662: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);

2658: if acllist(j).privilege > 10 then
2659: if acllist(j).privilege = 30 then
2660: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);
2661: else
2662: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
2663: end if;
2664: end if;
2665: end if;
2666: end if;

Line 2695: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;

2691: grantorpriv number(2);
2692: sid bism_subjects.SUBJECT_ID%TYPE;
2693: startpos INTEGER := 1;
2694: usrnm BISM_SUBJECTS.SUBJECT_NAME%TYPE;
2695: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;
2696: usrtype BISM_SUBJECTS.SUBJECT_TYPE%TYPE;
2697: begin
2698: if (acllist is null) or (DBMS_LOB.getlength(acllist) = 0) then
2699: return;

Line 2702: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

2698: if (acllist is null) or (DBMS_LOB.getlength(acllist) = 0) then
2699: return;
2700: end if;
2701:
2702: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
2703:
2704: if grantorpriv is null then
2705: begin
2706: -- see if object exists

Line 2746: delete from bism_permissions where object_id = oid and subject_id = sid;

2742: end if;
2743:
2744: -- ok the grantor has enough privilege, proceed with adding entries
2745: if sid is not null then
2746: delete from bism_permissions where object_id = oid and subject_id = sid;
2747: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,oid,usrpriv);
2748: end if;
2749:
2750: -- do it for folder only

Line 2747: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,oid,usrpriv);

2743:
2744: -- ok the grantor has enough privilege, proceed with adding entries
2745: if sid is not null then
2746: delete from bism_permissions where object_id = oid and subject_id = sid;
2747: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,oid,usrpriv);
2748: end if;
2749:
2750: -- do it for folder only
2751: if isfolder = 'Y' or isfolder = 'y' then

Line 2760: delete from bism_permissions where object_id = i.object_id and subject_id = sid;

2756: for i in (select object_id, object_type_id from bism_objects where folder_id = oid and user_visible = 'Y')
2757: loop
2758: -- remove all existing entries
2759: if sid is not null then
2760: delete from bism_permissions where object_id = i.object_id and subject_id = sid;
2761: -- add the new entries
2762: -- for non-folder, need to map ADDFOLDER to LIST and LIST to nothing
2763: if i.object_type_id = 100 then
2764: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);

Line 2764: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);

2760: delete from bism_permissions where object_id = i.object_id and subject_id = sid;
2761: -- add the new entries
2762: -- for non-folder, need to map ADDFOLDER to LIST and LIST to nothing
2763: if i.object_type_id = 100 then
2764: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
2765: else
2766: if usrpriv > 10 then
2767: if usrpriv = 30 then
2768: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);

Line 2768: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);

2764: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
2765: else
2766: if usrpriv > 10 then
2767: if usrpriv = 30 then
2768: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);
2769: else
2770: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
2771: end if;
2772: end if;

Line 2770: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);

2766: if usrpriv > 10 then
2767: if usrpriv = 30 then
2768: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);
2769: else
2770: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
2771: end if;
2772: end if;
2773: end if;
2774: end if;

Line 2817: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

2813: if acllist is null then
2814: return null;
2815: end if;
2816:
2817: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
2818:
2819: if grantorpriv is null then
2820: begin
2821: -- see if object exists

Line 2856: delete from bism_permissions where object_id = oid and subject_id = acllist(i).subjid;

2852: -- ok the user has enough privilege, proceed with removing entries
2853: for i in 1..acllist.count
2854: loop
2855: if acllist(i).subjid is not null then
2856: delete from bism_permissions where object_id = oid and subject_id = acllist(i).subjid;
2857: end if;
2858: end loop;
2859:
2860: -- do it for folder only

Line 2875: delete from bism_permissions where object_id = oid_var(i) and subject_id = acllist(j).subjid;

2871: -- remove the specified entries
2872: for j in 1..acllist.count
2873: loop
2874: if acllist(j).subjid is not null then
2875: delete from bism_permissions where object_id = oid_var(i) and subject_id = acllist(j).subjid;
2876: end if;
2877: end loop;
2878: end loop;
2879: end if;

Line 2912: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;

2908: errors_occured boolean;
2909: sid bism_subjects.SUBJECT_ID%TYPE;
2910: startpos INTEGER := 1;
2911: usrnm BISM_SUBJECTS.SUBJECT_NAME%TYPE;
2912: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;
2913:
2914: -- used for cascading acl to objects
2915: type oid_t is table of bism_objects.object_id%type;
2916: oid_var oid_t := oid_t();

Line 2922: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

2918: if (acllist is null) or (DBMS_LOB.getlength(acllist) = 0) then
2919: return null;
2920: end if;
2921:
2922: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
2923:
2924: if grantorpriv is null then
2925: begin
2926: -- see if object exists

Line 2960: delete from bism_permissions where object_id = oid and subject_id = sid;

2956: -- end if;
2957:
2958: -- ok the user has enough privilege, proceed with removing entries
2959: if sid is not null then
2960: delete from bism_permissions where object_id = oid and subject_id = sid;
2961: end if;
2962:
2963: -- do it for folder only
2964: if isfolder = 'Y' or isfolder = 'y' then

Line 2976: delete from bism_permissions where object_id = oid_var(i) and subject_id = sid;

2972: for i in oid_var.FIRST..oid_var.LAST
2973: loop
2974: -- remove the specified entries
2975: if sid is not null then
2976: delete from bism_permissions where object_id = oid_var(i) and subject_id = sid;
2977: end if;
2978: end loop;
2979: end if;
2980: end if;

Line 3021: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

3017: dummy bism_acl_obj_t := bism_acl_obj_t();
3018: sid raw(16);
3019: begin
3020: -- make sure grantor has privilege and enough privilege
3021: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
3022:
3023: if grantorpriv is null then
3024: begin
3025: -- see if object exists

Line 3062: delete from bism_permissions where object_id = oid and subject_id <> myid;

3058:
3059: -- ok the grantor has enough privilege, proceed with setting entries
3060:
3061: -- first remove all previous entries
3062: delete from bism_permissions where object_id = oid and subject_id <> myid;
3063:
3064: -- insert entries for this object
3065: for i in 1..acllist.count loop
3066: if acllist(i).subjid is not null then

Line 3067: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(i).subjid,oid,acllist(i).privilege);

3063:
3064: -- insert entries for this object
3065: for i in 1..acllist.count loop
3066: if acllist(i).subjid is not null then
3067: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(i).subjid,oid,acllist(i).privilege);
3068: end if;
3069: end loop;
3070:
3071: -- do it for folder only

Line 3080: delete from bism_permissions where object_id = i.object_id and subject_id <> myid;

3076: -- first find all the objects within the folder
3077: for i in (select object_id, object_type_id from bism_objects where folder_id = oid and user_visible = 'Y')
3078: loop
3079: -- remove all existing entries
3080: delete from bism_permissions where object_id = i.object_id and subject_id <> myid;
3081:
3082: -- add the new entries
3083: for j in 1..acllist.count
3084: loop

Line 3088: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);

3084: loop
3085: if acllist(j).subjid is not null then
3086: -- for non-folder, need to map ADDFOLDER to LIST and LIST to nothing
3087: if i.object_type_id = 100 then
3088: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
3089: else
3090: if acllist(j).privilege > 10 then
3091: if acllist(j).privilege = 30 then
3092: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);

Line 3092: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);

3088: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
3089: else
3090: if acllist(j).privilege > 10 then
3091: if acllist(j).privilege = 30 then
3092: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);
3093: else
3094: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
3095: end if;
3096: end if;

Line 3094: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);

3090: if acllist(j).privilege > 10 then
3091: if acllist(j).privilege = 30 then
3092: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,20);
3093: else
3094: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(acllist(j).subjid,i.object_id,acllist(j).privilege);
3095: end if;
3096: end if;
3097: end if;
3098: end if;

Line 3129: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;

3125: grantorpriv number(2);
3126: sid bism_subjects.SUBJECT_ID%TYPE;
3127: startpos INTEGER := 1;
3128: usrnm BISM_SUBJECTS.SUBJECT_NAME%TYPE;
3129: usrpriv BISM_PERMISSIONS.PRIVILEGE%TYPE;
3130: usrtype BISM_SUBJECTS.SUBJECT_TYPE%TYPE;
3131: firstTime boolean := true;
3132: begin
3133:

Line 3139: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

3135: return;
3136: end if;
3137:
3138: -- make sure grantor has privilege and enough privilege
3139: select max(privilege) into grantorpriv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
3140:
3141: if grantorpriv is null then
3142: begin
3143: -- see if object exists

Line 3187: delete from bism_permissions where object_id = oid and subject_id <> myid;

3183: -- ok the grantor has enough privilege, proceed with setting entries
3184:
3185: -- first remove all previous entries
3186: if firstTime = true then
3187: delete from bism_permissions where object_id = oid and subject_id <> myid;
3188: end if;
3189:
3190: -- insert entries for this object
3191: if sid is not null then

Line 3192: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,oid,usrpriv);

3188: end if;
3189:
3190: -- insert entries for this object
3191: if sid is not null then
3192: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,oid,usrpriv);
3193: end if;
3194:
3195: -- do it for folder only
3196: if isfolder = 'Y' or isfolder = 'y' then

Line 3205: delete from bism_permissions where object_id = i.object_id and subject_id <> myid;

3201: for i in (select object_id, object_type_id from bism_objects where folder_id = oid and user_visible = 'Y')
3202: loop
3203: -- remove all existing entries
3204: if firstTime = true then
3205: delete from bism_permissions where object_id = i.object_id and subject_id <> myid;
3206: end if;
3207:
3208: -- add the new entries
3209: if sid is not null then

Line 3212: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);

3208: -- add the new entries
3209: if sid is not null then
3210: -- for non-folder, need to map ADDFOLDER to LIST and LIST to nothing
3211: if i.object_type_id = 100 then
3212: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
3213: else
3214: if usrpriv > 10 then
3215: if usrpriv = 30 then
3216: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);

Line 3216: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);

3212: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
3213: else
3214: if usrpriv > 10 then
3215: if usrpriv = 30 then
3216: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);
3217: else
3218: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
3219: end if;
3220: end if;

Line 3218: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);

3214: if usrpriv > 10 then
3215: if usrpriv = 30 then
3216: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,20);
3217: else
3218: insert into bism_permissions (SUBJECT_ID, OBJECT_ID, PRIVILEGE) values(sid,i.object_id,usrpriv);
3219: end if;
3220: end if;
3221: end if;
3222: end if;

Line 3248: priv bism_permissions.privilege%type;

3244: end set_entries_30;
3245:
3246: function get_privilege(oid raw, myid raw) return number
3247: is
3248: priv bism_permissions.privilege%type;
3249: begin
3250: select nvl(max(privilege),0) into priv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
3251: return priv;
3252: end get_privilege;

Line 3250: select nvl(max(privilege),0) into priv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);

3246: function get_privilege(oid raw, myid raw) return number
3247: is
3248: priv bism_permissions.privilege%type;
3249: begin
3250: select nvl(max(privilege),0) into priv from bism_permissions where object_id = oid and subject_id in (select group_id from bism_groups where user_id = myid);
3251: return priv;
3252: end get_privilege;
3253:
3254: function list_dependents(p_fid bism_objects.FOLDER_ID%type, p_objname varchar2, p_myid raw)