USP_DATALIST_SYSTEMROLEFEATURES

Returns a list of features granted to the given system role

Parameters

Parameter Parameter Type Mode Description
@SYSTEMROLEID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


CREATE procedure dbo.USP_DATALIST_SYSTEMROLEFEATURES(@SYSTEMROLEID uniqueidentifier)
as

  with XMLNAMESPACES
  (
    'bb_appfx_datalist' as dl,
    'bb_appfx_recordoperation' as ro,
    'bb_appfx_queryview' as qv,
    'bb_appfx_report' as rp
  )
    select 'Data List' as FEATURETYPE, DL.UINAME as DISPLAYNAME, DL.DESCRIPTION, DL.SECURITYUIFOLDER, 'res:datalistspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_DATALISTCATALOG as DL inner join dbo.SYSTEMROLEPERM_DATALIST as PERM on DL.ID = PERM.DATALISTCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and cast(isnull(DL.DATALISTSPEC.value('/dl:DataListSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit) = 1

    union all

    select 'Business Process' as FEATURETYPE, BP.NAME as DISPLAYNAME, BP.DESCRIPTION, BP.SECURITYUIFOLDER, 'res:businessprocessspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSIONN
    from dbo.V_INSTALLED_BUSINESSPROCESSCATALOG as BP inner join dbo.SYSTEMROLEPERM_BUSINESSPROCESS as PERM on BP.ID = PERM.BUSINESSPROCESSCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(BP.SECURITYUIFOLDER) > 0

    union all

    select 'Dashboard' as FEATURETYPE, DASH.NAME as DISPLAYNAME, DASH.DESCRIPTION, DASH.SECURITYUIFOLDER, 'res:flashdashspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_DASHBOARDCATALOG as DASH inner join dbo.SYSTEMROLEPERM_DASHBOARD as PERM on DASH.ID = PERM.DASHBOARDCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID

    union all

    select 'Record Operation' as FEATURETYPE, RO.UINAME, RO.DESCRIPTION, RO.SECURITYUIFOLDER, 'res:recordoperationspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_RECORDOPERATIONCATALOG as RO inner join dbo.SYSTEMROLEPERM_RECORDOPERATION as PERM on RO.ID = PERM.RECORDOPERATIONCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and cast(isnull(RO.RECORDOPERATIONSPECXML.value('/ro:RecordOperationSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit) = 1

    union all

    select case when DFT.MODE = 0 then 'View Form' when DFT.MODE = 1 then 'Edit Form' else 'Add Form' end as FEATURETYPE, DFI.UINAME as DISPLAYNAME, DFI.DESCRIPTION, DFT.SECURITYUIFOLDER, case when DFT.MODE = 0 then  'res:viewdataformtemplatespec' when DFT.MODE = 1 then 'res:editdataformtemplatespec' else 'res:adddataformtemplatespec' end as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.DATAFORMINSTANCECATALOG as DFI inner join dbo.V_INSTALLED_DATAFORMTEMPLATECATALOG as DFT on DFI.DATAFORMTEMPLATECATALOGID = DFT.ID
    inner join dbo.SYSTEMROLEPERM_DATAFORMINSTANCE as PERM on DFI.ID = PERM.DATAFORMINSTANCECATALOGID
    where (SYSTEMROLEID = @SYSTEMROLEID)
    and    DFT.SECURITYUIDISPLAYFEATURE = 1

    union all
    select 'KPI' as FEATURETYPE, KPI.NAME, KPI.DESCRIPTION, KPI.SECURITYUIFOLDER, 'res:kpispec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_KPICATALOG as KPI inner join dbo.SYSTEMROLEPERM_KPI as PERM on KPI.ID = PERM.KPICATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(KPI.SECURITYUIFOLDER) > 0

    union all

    select 'Query View' as FEATURETYPE, QUERYVIEW.DISPLAYNAME [NAME], QUERYVIEW.DESCRIPTION, QUERYVIEW.SECURITYUIFOLDER, 'res:queryviewspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_QUERYVIEWCATALOG as QUERYVIEW inner join dbo.SYSTEMROLEPERM_QUERYVIEW as PERM on QUERYVIEW.ID = PERM.QUERYVIEWCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and cast(isnull(QUERYVIEW.QUERYVIEWSPEC.value('/qv:QueryViewSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit) = 1

    union all

    select 'Smart Query' as FEATURETYPE, SMARTQUERY.UINAME as DISPLAYNAME, SMARTQUERY.DESCRIPTION, SMARTQUERY.SECURITYUIFOLDER, 'res:smartqueryspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_SMARTQUERYCATALOG as SMARTQUERY inner join dbo.SYSTEMROLEPERM_SMARTQUERY as PERM on SMARTQUERY.ID = PERM.SMARTQUERYCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(SMARTQUERY.SECURITYUIFOLDER) > 0

    union all

    select 'Report Parameter' as FEATURETYPE, REPORT.UINAME as DISPLAYNAME, REPORT.DESCRIPTION, 
        replace(cast(isnull(REPORT.REPORTSPECXML.value('/rp:ReportSpec[1]/rp:Folder[1]','nvarchar(100)'), 'TEST') as nvarchar(255)), '/','\') as SECURITYUIFOLDER, 
        'res:reportspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_REPORTCATALOG as REPORT inner join dbo.SYSTEMROLEPERM_REPORT as PERM on REPORT.ID = PERM.REPORTCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID

    union all

    select 'System Privilege' as FEATURETYPE, SYSTEMPRIVILEGE.NAME as DISPLAYNAME, SYSTEMPRIVILEGE.DESCRIPTION, SYSTEMPRIVILEGE.SECURITYUIFOLDER, 
        'res:systemprivilegespec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.SYSTEMPRIVILEGECATALOG as SYSTEMPRIVILEGE inner join dbo.SYSTEMROLEPERM_SYSTEMPRIVILEGE as PERM on SYSTEMPRIVILEGE.ID = PERM.SYSTEMPRIVILEGECATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(SYSTEMPRIVILEGE.SECURITYUIFOLDER) > 0

    union all

    select 'Search List' as FEATURETYPE, SEARCHLIST.UINAME as DISPLAYNAME, SEARCHLIST.DESCRIPTION, SEARCHLIST.SECURITYUIFOLDER, 
        'res:searchlistspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_SEARCHLISTCATALOG as SEARCHLIST inner join dbo.SYSTEMROLEPERM_SEARCHLIST as PERM on SEARCHLIST.ID = PERM.SEARCHLISTCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(SEARCHLIST.SECURITYUIFOLDER) > 0

  union all

    select 'Map Entity' as FEATURETYPE, MAPENTITY.UINAME as DISPLAYNAME, MAPENTITY.DESCRIPTION, MAPENTITY.SECURITYUIFOLDER, 
        'res:mapentityspec' as IMAGEKEY, (case PERM.GRANTORDENY when 0 then 'Denied' else 'Granted' end) as PERMISSION
    from dbo.V_INSTALLED_MAPENTITYCATALOG as MAPENTITY inner join dbo.SYSTEMROLEPERM_MAPENTITY as PERM on MAPENTITY.ID = PERM.MAPENTITYCATALOGID
    where SYSTEMROLEID = @SYSTEMROLEID
        and len(MAPENTITY.SECURITYUIFOLDER) > 0

    order by FEATURETYPE, DISPLAYNAME