USP_WEBDASHBOARDFOLDER_GETITEMLIST
Gets a list of sub-folders and pages that belong to a given folder.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@APPUSERID | uniqueidentifier | IN | |
@PATH | nvarchar(1000) | IN |
Definition
Copy
create procedure dbo.USP_WEBDASHBOARDFOLDER_GETITEMLIST(@APPUSERID uniqueidentifier,
@PATH nvarchar(1000))
as
set nocount on;
declare @PARENTID uniqueidentifier;
select @PARENTID = ID from dbo.WEBDASHBOARDFOLDER where PATH = @PATH;
select WEBDASHBOARDFOLDER.ID,
ITEMTYPE = 1,
WEBDASHBOARDFOLDER.NAME TITLE,
WEBDASHBOARDFOLDER.NAME,
WEBDASHBOARDFOLDER.DESCRIPTION,
coalesce(PARENTFOLDER.PATH, '') PARENTPATH,
(select count(*) from dbo.WEBDASHBOARDFOLDER CHILDFOLDER where CHILDFOLDER.PARENTID = WEBDASHBOARDFOLDER.ID) + (select count(*) from dbo.WEBDASHBOARDPAGECATALOG where WEBDASHBOARDFOLDERID = WEBDASHBOARDFOLDER.ID) ITEMCOUNT
from dbo.WEBDASHBOARDFOLDER
left join dbo.WEBDASHBOARDFOLDER PARENTFOLDER on WEBDASHBOARDFOLDER.PARENTID = PARENTFOLDER.ID
where WEBDASHBOARDFOLDER.PARENTID = @PARENTID
or (@PATH = '' and WEBDASHBOARDFOLDER.PARENTID is null)
union
select WEBDASHBOARDPAGECATALOG.ID,
ITEMTYPE = 2,
WEBDASHBOARDPAGECATALOG.TITLE,
WEBDASHBOARDPAGECATALOG.NAME,
WEBDASHBOARDPAGECATALOG.DESCRIPTION,
coalesce(WEBDASHBOARDFOLDER.PATH, '') PARENTPATH,
0 ITEMCOUNT
from dbo.WEBDASHBOARDPAGECATALOG
left join dbo.WEBDASHBOARDFOLDER on WEBDASHBOARDFOLDER.ID = WEBDASHBOARDPAGECATALOG.WEBDASHBOARDFOLDERID
where dbo.UFN_SECURITY_APPUSER_GRANTED_WEBDASHBOARDPAGEVIEW(@APPUSERID, WEBDASHBOARDFOLDER.PATH, WEBDASHBOARDPAGECATALOG.NAME) = 1
and (WEBDASHBOARDPAGECATALOG.WEBDASHBOARDFOLDERID = @PARENTID
or (@PATH = '' and WEBDASHBOARDPAGECATALOG.WEBDASHBOARDFOLDERID is null))
order by ITEMTYPE, TITLE;