USP_DATALIST_VOLUNTEERSCHEDULE_CALENDAR
This datalist returns all assignments for a volunteer calendar.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VOLUNTEERID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@STARTDATE | date | IN | |
@ENDDATE | date | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_VOLUNTEERSCHEDULE_CALENDAR
(
@VOLUNTEERID uniqueidentifier = null,
@STARTDATE date = null,
@ENDDATE date = null,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
declare @APPUSER_IN_NONSITEROLE bit;
declare @APPUSER_IN_NOSITEROLE bit;
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NONSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NONSITEROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SITE_ROLE(@CURRENTAPPUSERID);
select
JOB.ID JOBID,
VOLUNTEERASSIGNMENT.ID VOLUNTEERASSIGNMENTID,
VOLUNTEERASSIGNMENT.DATE,
JOB.NAME,
JOBOCCURRENCE.STARTTIME,
JOBOCCURRENCE.ENDTIME,
(cast(@VOLUNTEERID as nvarchar(36)) + cast(JOBOCCURRENCE.ID as nvarchar(36))) ADD_MULTIPLE_ACTION,
+ CHAR(10) + 'Volunteers: ' + CHAR(10) +
(select stuff((
select ';' + CHAR(10) + NF.NAME
from dbo.VOLUNTEERASSIGNMENT VA
left outer join dbo.CONSTITUENT
on VA.VOLUNTEERID = CONSTITUENT.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) NF
where
VA.JOBOCCURRENCEID = JOBOCCURRENCE.ID and VA.DATE = VOLUNTEERASSIGNMENT.DATE and
(@ISADMIN = 1 or
(@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSECGROUPROLE) = 1)
and
(@APPUSER_IN_NONSITEROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT_BYSITE(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSITEROLE) = 1)
)
order by CONSTITUENT.KEYNAME
for xml path(''), type).value('.', 'nvarchar(max)'), 1, 2, '')) AS DESCRIPTION
from dbo.VOLUNTEERASSIGNMENT
inner join dbo.JOBOCCURRENCE
on dbo.VOLUNTEERASSIGNMENT.JOBOCCURRENCEID = dbo.JOBOCCURRENCE.ID
inner join dbo.JOB
on dbo.JOBOCCURRENCE.JOBID = dbo.JOB.ID
where VOLUNTEERASSIGNMENT.VOLUNTEERID = @VOLUNTEERID
and VOLUNTEERASSIGNMENT.DATE between @STARTDATE and @ENDDATE
and (dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID,JOBOCCURRENCE.SITEID) = 1)
and (dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID,JOB.SITEID) = 1)
order by VOLUNTEERASSIGNMENT.DATE;