USP_DATALIST_CONSTITUENTGROUPDOCUMENTATION
List of documentation for a group and its members
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTGROUPDOCUMENTATION
(
@GROUPID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
-- the ID of this documentation datalist, used to check permissions
declare @DATALISTID uniqueidentifier;
set @DATALISTID = 'e3ffb38a-74f6-4f24-9a82-42bf217649d5';
declare @ISSYSADMIN bit;
select @ISSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
-- group member notes
select
CONSTITUENTNOTE.ID,
CONSTITUENTNOTE.CONSTITUENTID as 'SUBJECTID',
SUBJECT_NF.NAME as 'SUBJECTNAME',
'55EBA39F-1513-46EC-85DC-7FEBAE3F0698' as [VIEWFORMID],
0 as [DOCUMENTATIONTYPECODE],
null as [MEDIAURL],
null as [FILENAME],
null as [FILEFIELDID],
'Note' as [DOCUMENTATIONTYPE],
CONSTITUENTNOTE.DATEENTERED,
CONSTITUENTNOTETYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTNOTE.TITLE,
NF.NAME,
CAST(CONSTITUENTNOTE.ID AS NVARCHAR(36)) + ':0' AS RSSID,
case when CONSTITUENTNOTE.CONSTITUENTID = @GROUPID then
'0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTNOTE.CONSTITUENTID) = 1 then
'1'
else
'2' +
(select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTNOTE.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then
1
else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTNOTE.CONSTITUENTID)
end as 'HASPERMISSIONS',
dbo.UFN_ANNOTATION_ANNOTATIONEXISTS('Constituent note',CONSTITUENTNOTE.ID) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTNOTE
inner join dbo.CONSTITUENTNOTETYPECODE on CONSTITUENTNOTETYPECODE.ID = CONSTITUENTNOTE.CONSTITUENTNOTETYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTNOTE.AUTHORID) NF
inner join dbo.GROUPMEMBER GM on GM.MEMBERID = CONSTITUENTNOTE.CONSTITUENTID
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTNOTE.CONSTITUENTID) SUBJECT_NF
where
GM.GROUPID = @GROUPID and
((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO >= CONSTITUENTNOTE.DATEENTERED)) or
(GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= CONSTITUENTNOTE.DATEENTERED)) or
(GMDR.DATEFROM <= CONSTITUENTNOTE.DATEENTERED and GMDR.DATETO >= CONSTITUENTNOTE.DATEENTERED)) and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTNOTETYPECODE.ID) = 1)
union all
-- group notes
select
CONSTITUENTNOTE.ID,
CONSTITUENTNOTE.CONSTITUENTID as 'SUBJECTID',
SUBJECT_NF.NAME as 'SUBJECTNAME',
'55EBA39F-1513-46EC-85DC-7FEBAE3F0698' as [VIEWFORMID],
0 as [DOCUMENTATIONTYPECODE],
null as [MEDIAURL],
null as [FILENAME],
null as [FILEFIELDID],
'Note' as [DOCUMENTATIONTYPE],
CONSTITUENTNOTE.DATEENTERED,
CONSTITUENTNOTETYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTNOTE.TITLE,
NF.NAME,
CAST(CONSTITUENTNOTE.ID AS NVARCHAR(36)) + ':0' AS RSSID,
case when CONSTITUENTNOTE.CONSTITUENTID = @GROUPID then
'0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTNOTE.CONSTITUENTID) = 1 then
'1'
else
'2' + (select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTNOTE.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then
1
else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTNOTE.CONSTITUENTID)
end as 'HASPERMISSIONS',
dbo.UFN_ANNOTATION_ANNOTATIONEXISTS('Constituent note',CONSTITUENTNOTE.ID) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTNOTE
inner join dbo.CONSTITUENTNOTETYPECODE on CONSTITUENTNOTETYPECODE.ID = CONSTITUENTNOTE.CONSTITUENTNOTETYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTNOTE.AUTHORID) NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTNOTE.CONSTITUENTID) SUBJECT_NF
where
CONSTITUENTNOTE.CONSTITUENTID = @GROUPID and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTNOTETYPECODE.ID) = 1)
union all
-- group member media links
select
CONSTITUENTMEDIALINK.ID,
CONSTITUENTMEDIALINK.CONSTITUENTID,
SUBJECT_NF.NAME,
'E708EC1F-89D7-4453-BE18-808F6DE7419F' as [VIEWFORMID],
1 as [DOCUMENTATIONTYPECODE],
CONSTITUENTMEDIALINK.MEDIAURL,
null,
null,
'Media link' as [DOCUMENTATIONTYPE],
CONSTITUENTMEDIALINK.DATEENTERED,
CONSTITUENTMEDIALINKTYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTMEDIALINK.TITLE,
NF.NAME as 'AUTHOR',
CAST(CONSTITUENTMEDIALINK.ID AS NVARCHAR(36)) + ':1' AS RSSID,
case when CONSTITUENTMEDIALINK.CONSTITUENTID = @GROUPID then
'0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTMEDIALINK.CONSTITUENTID) = 1 then
'1'
else
'2' + (select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTMEDIALINK.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then
1
else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTMEDIALINK.CONSTITUENTID)
end as 'HASPERMISSIONS',
cast(0 as bit) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTMEDIALINK
inner join dbo.CONSTITUENTMEDIALINKTYPECODE on CONSTITUENTMEDIALINKTYPECODE.ID = CONSTITUENTMEDIALINK.CONSTITUENTMEDIALINKTYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTMEDIALINK.AUTHORID) NF
inner join dbo.GROUPMEMBER GM on GM.MEMBERID = CONSTITUENTMEDIALINK.CONSTITUENTID
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTMEDIALINK.CONSTITUENTID) SUBJECT_NF
where
GM.GROUPID = @GROUPID and
((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO >= CONSTITUENTMEDIALINK.DATEENTERED)) or
(GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= CONSTITUENTMEDIALINK.DATEENTERED)) or
(GMDR.DATEFROM <= CONSTITUENTMEDIALINK.DATEENTERED and GMDR.DATETO >= CONSTITUENTMEDIALINK.DATEENTERED)) and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTMEDIALINKTYPECODE.ID) = 1)
union all
-- group media links
select
CONSTITUENTMEDIALINK.ID,
CONSTITUENTMEDIALINK.CONSTITUENTID,
SUBJECT_NF.NAME,
'E708EC1F-89D7-4453-BE18-808F6DE7419F' as [VIEWFORMID],
1 as [DOCUMENTATIONTYPECODE],
CONSTITUENTMEDIALINK.MEDIAURL,
null,
null,
'Media link' as [DOCUMENTATIONTYPE],
CONSTITUENTMEDIALINK.DATEENTERED,
CONSTITUENTMEDIALINKTYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTMEDIALINK.TITLE,
NF.NAME as 'AUTHOR',
CAST(CONSTITUENTMEDIALINK.ID AS NVARCHAR(36)) + ':1' AS RSSID,
case
when CONSTITUENTMEDIALINK.CONSTITUENTID = @GROUPID then '0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTMEDIALINK.CONSTITUENTID) = 1 then '1'
else '2' + (select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTMEDIALINK.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then 1 else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTMEDIALINK.CONSTITUENTID)
end as 'HASPERMISSIONS',
cast(0 as bit) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTMEDIALINK
inner join dbo.CONSTITUENTMEDIALINKTYPECODE on CONSTITUENTMEDIALINKTYPECODE.ID = CONSTITUENTMEDIALINK.CONSTITUENTMEDIALINKTYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTMEDIALINK.AUTHORID) NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTMEDIALINK.CONSTITUENTID) SUBJECT_NF
where
CONSTITUENTMEDIALINK.CONSTITUENTID = @GROUPID and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTMEDIALINKTYPECODE.ID) = 1)
union all
-- group member attachments
select
CONSTITUENTATTACHMENT.ID,
CONSTITUENTATTACHMENT.CONSTITUENTID,
SUBJECT_NF.NAME,
'7126725A-12F2-4A37-A992-10891CEEA336' as [VIEWFORMID],
2 as [DOCUMENTATIONTYPECODE],
null,
CONSTITUENTATTACHMENT.FILENAME,
'FILE',
'Attachment' as [DOCUMENTATIONTYPE],
CONSTITUENTATTACHMENT.DATEENTERED,
CONSTITUENTATTACHMENTTYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTATTACHMENT.TITLE,
NF.NAME as 'AUTHOR',
CAST(CONSTITUENTATTACHMENT.ID AS NVARCHAR(36)) + ':2' AS RSSID,
case
when CONSTITUENTATTACHMENT.CONSTITUENTID = @GROUPID then '0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTATTACHMENT.CONSTITUENTID) = 1 then '1'
else '2' + (select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTATTACHMENT.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then 1 else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTATTACHMENT.CONSTITUENTID)
end as 'HASPERMISSIONS',
cast(0 as bit) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTATTACHMENT
inner join dbo.CONSTITUENTATTACHMENTTYPECODE on CONSTITUENTATTACHMENTTYPECODE.ID = CONSTITUENTATTACHMENT.CONSTITUENTATTACHMENTTYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTATTACHMENT.AUTHORID) NF
inner join dbo.GROUPMEMBER GM on GM.MEMBERID = CONSTITUENTATTACHMENT.CONSTITUENTID
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTATTACHMENT.CONSTITUENTID) SUBJECT_NF
where
GM.GROUPID=@GROUPID and
((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO >= CONSTITUENTATTACHMENT.DATEENTERED))or
(GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= CONSTITUENTATTACHMENT.DATEENTERED)) or
(GMDR.DATEFROM <= CONSTITUENTATTACHMENT.DATEENTERED and GMDR.DATETO >= CONSTITUENTATTACHMENT.DATEENTERED)) and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTATTACHMENTTYPECODE.ID) = 1)
union all
-- group attachments
select
CONSTITUENTATTACHMENT.ID,
CONSTITUENTATTACHMENT.CONSTITUENTID,
SUBJECT_NF.NAME,
'7126725A-12F2-4A37-A992-10891CEEA336' as [VIEWFORMID],
2 as [DOCUMENTATIONTYPECODE],
null,
CONSTITUENTATTACHMENT.FILENAME,
'FILE',
'Attachment' as [DOCUMENTATIONTYPE],
CONSTITUENTATTACHMENT.DATEENTERED,
CONSTITUENTATTACHMENTTYPECODE.DESCRIPTION as [TYPE],
CONSTITUENTATTACHMENT.TITLE,
NF.NAME as 'AUTHOR',
CAST(CONSTITUENTATTACHMENT.ID AS NVARCHAR(36)) + ':2' AS RSSID,
case
when CONSTITUENTATTACHMENT.CONSTITUENTID = @GROUPID then '0'
when (select ISPRIMARY from GROUPMEMBER where GROUPID=@GROUPID and MEMBERID=CONSTITUENTATTACHMENT.CONSTITUENTID) = 1 then '1'
else '2' + (select CONSTITUENT.KEYNAME + ' ' + CONSTITUENT.FIRSTNAME + ' ' + cast(CONSTITUENT.ID as nvarchar(36)) from dbo.CONSTITUENT where ID=CONSTITUENTATTACHMENT.CONSTITUENTID)
end as 'GROUPORPRIMARYSORT',
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then 1 else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, CONSTITUENTATTACHMENT.CONSTITUENTID)
end as 'HASPERMISSIONS',
cast(0 as bit) as ANNOTATIONEXISTS
from
dbo.CONSTITUENTATTACHMENT
inner join dbo.CONSTITUENTATTACHMENTTYPECODE on CONSTITUENTATTACHMENTTYPECODE.ID = CONSTITUENTATTACHMENT.CONSTITUENTATTACHMENTTYPECODEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTATTACHMENT.AUTHORID) NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENTATTACHMENT.CONSTITUENTID) SUBJECT_NF
where
CONSTITUENTATTACHMENT.CONSTITUENTID = @GROUPID and
(@ISSYSADMIN = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_CODETABLEENTRY(@CURRENTAPPUSERID,CONSTITUENTATTACHMENTTYPECODE.ID) = 1)
order by
GROUPORPRIMARYSORT desc, DATEENTERED desc;