Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/* User Permissions */SELECT co.OBJ_NAME,up.*FROM CONTROL_OBJECTS co,(SELECT DISTINCTusrro.ROLE_ID,usrro.ROLE_NAME,usrro.IS_ROLE_VARIATION,DECODE ( perm_active.OBJ_ID,NULL, perm_visible.OBJ_ID,perm_active.OBJ_ID ) AS OBJ_ID,-- perm_active.OBJ_ID,-- perm_visible.OBJ_ID,perm_visible.PERM_ID AS perm_visible_id,perm_visible.PERM_VALUE AS visible_value,perm_active.PERM_ID AS perm_active_id,perm_active.PERM_VALUE AS active_valueFROM(/* Get All User Roles */SELECT ro.ROLE_ID,ro.ROLE_NAME,ro.IS_ROLE_VARIATIONFROM ROLES ro,USER_ROLES urWHERE ur.ROLE_ID = ro.ROLE_IDAND ro.APP_ID = :APP_IDAND ur.USER_ID = :USER_ID) usrro,(/* Get "Visible" Settings */SELECT rco.ROLE_ID,rco.OBJ_ID,rp.PERM_ID,rp.PERM_VALUEFROM ROLE_PRIVILEGES rp,(/* Get Role Controls for This Application */SELECT DISTINCT co.OBJ_ID, ro.ROLE_IDFROM ROLES ro,ROLE_PRIVILEGES rp,CONTROL_OBJECTS coWHERE rp.ROLE_ID = ro.ROLE_IDAND rp.OBJ_ID = co.OBJ_IDAND ro.APP_ID = :APP_ID) rcoWHERE rp.ROLE_ID (+)= rco.ROLE_IDAND rp.OBJ_ID (+) = rco.OBJ_IDAND rp.PERM_ID (+)= 1) perm_visible,(/* Get "Active" Settings */SELECT rco.ROLE_ID,rco.OBJ_ID,rp.PERM_ID,rp.PERM_VALUEFROM ROLE_PRIVILEGES rp,(/* Get Role Controls for This Application */SELECT DISTINCT co.OBJ_ID, ro.ROLE_IDFROM ROLES ro,ROLE_PRIVILEGES rp,CONTROL_OBJECTS coWHERE rp.ROLE_ID = ro.ROLE_IDAND rp.OBJ_ID = co.OBJ_IDAND ro.APP_ID = :APP_ID) rcoWHERE rp.ROLE_ID (+)= rco.ROLE_IDAND rp.OBJ_ID (+) = rco.OBJ_IDAND rp.PERM_ID (+)= 2) perm_activeWHERE perm_active.ROLE_ID (+) = usrro.ROLE_IDAND perm_visible.ROLE_ID (+)= usrro.ROLE_IDAND perm_active.OBJ_ID = perm_visible.OBJ_ID) upWHERE up.OBJ_ID = co.OBJ_IDORDER BY UPPER(co.OBJ_NAME), up.IS_ROLE_VARIATION, UPPER(up.ROLE_NAME)