USP_SECURITY_SYSTEMROLEFEATUREFOLDER_GET_SEARCHLISTS

Gets state of feature permissions for search lists for the given System Role ID.

Parameters

Parameter Parameter Type Mode Description
@SYSTEMROLEID uniqueidentifier IN
@ONLYASSIGNED bit IN

Definition

Copy


                CREATE procedure [dbo].[USP_SECURITY_SYSTEMROLEFEATUREFOLDER_GET_SEARCHLISTS]
                (
                    @SYSTEMROLEID uniqueidentifier,
                    @ONLYASSIGNED bit = 0
                )
                /* Used by the SecurityGetRoleFeaturePermTreeRequest web service */
                as
                set nocount on;

                if @SYSTEMROLEID is null 
                begin
                    raiserror('@SYSTEMROLEID is required',16,10);
                    return 9;
                end;

                select
                    [CATALOG].ID,
                    [CATALOG].NAME,
                    [CATALOG].SECURITYUIFOLDER,
                    [PERM].GRANTORDENY,
                    [CATALOG].DESCRIPTION,
                    [PERM].ID as [PERMISSIONID],
                    [CATALOG].SEARCHLISTSPEC as SPECXML
                from 
                    dbo.SEARCHLISTCATALOG as [CATALOG]
                left outer join
                    (
                        select 
                            ID, 
                            GRANTORDENY, 
                            SEARCHLISTCATALOGID 
                        from 
                            dbo.SYSTEMROLEPERM_SEARCHLIST
                        where 
                            SYSTEMROLEID = @SYSTEMROLEID
                    ) as [PERM] on [PERM].SEARCHLISTCATALOGID = [CATALOG].ID
                where 
                    ([PERM].ID is not null) or (@ONLYASSIGNED = 0)
                    and coalesce([CATALOG].SEARCHLISTSPEC.value
                    (
                        'declare namespace bbsrch="bb_appfx_searchlist";
                        /bbsrch:SearchListSpec[1]/@NoSecurityRequired'
                        ,
                        'bit'
                    ), 0) = 0
                order by 
                    [CATALOG].SECURITYUIFOLDER, [CATALOG].NAME;