USP_DATALIST_EVENTPROFILEREPORT_VOLUNTEERASSIGNMENTS
Returns the volunteer assignments for a job occurrence.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@JOBOCCURRENCEID | uniqueidentifier | IN | Job occurrence ID |
@ISVISIBLE | bit | IN | Visible |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_EVENTPROFILEREPORT_VOLUNTEERASSIGNMENTS
(
@JOBOCCURRENCEID uniqueidentifier,
@ISVISIBLE bit = 1,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
if @ISVISIBLE = 1
begin
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE 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);
declare @VOLUNTEERSNEEDED integer = (select VOLUNTEERSNEEDED from dbo.JOBOCCURRENCE where ID = @JOBOCCURRENCEID);
declare @EVENTSTARTDATE datetime;
declare @EVENTENDDATE datetime;
select
@EVENTSTARTDATE = EVENT.STARTDATE,
@EVENTENDDATE = EVENT.ENDDATE
from dbo.JOBOCCURRENCE
inner join dbo.EVENT
on JOBOCCURRENCE.EVENTID = EVENT.ID
where JOBOCCURRENCE.ID = @JOBOCCURRENCEID;
declare @SCHEDULE table (
ASSIGNMENTDATE datetime
);
insert into @SCHEDULE
select
ASSIGNMENTDATE
from dbo.UFN_JOBOCCURRENCE_SCHEDULE(dbo.UFN_DATE_GETEARLIESTTIME(getdate()), dateadd(yy, 1, coalesce(@EVENTENDDATE, @EVENTSTARTDATE)), @JOBOCCURRENCEID, null);
select
VOLUNTEERASSIGNMENT.VOLUNTEERID,
SCHEDULE.ASSIGNMENTDATE,
NF.NAME as VOLUNTEERNAME,
'http://www.blackbaud.com/VOLUNTEERID?VOLUNTEERID='+convert (nvarchar(36),VOLUNTEERASSIGNMENT.VOLUNTEERID) as VOLUNTEERLINK,
@VOLUNTEERSNEEDED as TOTALNEEDED
from @SCHEDULE SCHEDULE
left outer join dbo.VOLUNTEERASSIGNMENT
on SCHEDULE.ASSIGNMENTDATE = VOLUNTEERASSIGNMENT.DATE
and VOLUNTEERASSIGNMENT.JOBOCCURRENCEID = @JOBOCCURRENCEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(VOLUNTEERASSIGNMENT.VOLUNTEERID) NF
where @ISADMIN = 1
or @APPUSER_IN_NONRACROLE = 1
or dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, VOLUNTEERASSIGNMENT.VOLUNTEERID, @APPUSER_IN_NOSECGROUPROLE) = 1
order by SCHEDULE.ASSIGNMENTDATE, VOLUNTEERNAME
end