UFN_ADDPROSPECTPLANSPROCESS_CANNOTMANAGENEWPROSPECT
Tests if a user can create a new prospect and assign a manager to this prospect for any constituent in an IDSet.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IDSETREGISTERID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_ADDPROSPECTPLANSPROCESS_CANNOTMANAGENEWPROSPECT
(
@IDSETREGISTERID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CONSTITUENTID uniqueidentifier
)
returns bit
with execute as caller
as begin
declare @CANMANAGENEWPROSPECTS bit = 0;
declare @ISADMIN bit = 0;
declare @ISADDAMAJORGIVINGPROSPECTTASKALLOWED bit = 0;
declare @ISPROSPECTMANAGEREDITDATAFORMINSTANCEALLOWED bit = 0
declare @ADDAMAJORGIVINGPROSPECTTASKID uniqueidentifier = 'F3D5EC46-C463-4873-923A-B392F1F3C472';
declare @PROSPECTMANAGEREDITDATAFORMINSTANCEID uniqueidentifier = 'C69768CC-D4DF-42A7-A1E0-185419D14854'
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @ISADDAMAJORGIVINGPROSPECTTASKALLOWED = dbo.UFN_SECURITY_APPUSER_GRANTED_TASK_IN_SYSTEMROLE(@CURRENTAPPUSERID,@ADDAMAJORGIVINGPROSPECTTASKID);
set @ISPROSPECTMANAGEREDITDATAFORMINSTANCEALLOWED = dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,@PROSPECTMANAGEREDITDATAFORMINSTANCEID);
if @ISADMIN = 1 or (@CONSTITUENTID is not null and dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID,@PROSPECTMANAGEREDITDATAFORMINSTANCEID,@CONSTITUENTID) = 1)
set @CANMANAGENEWPROSPECTS = 1;
else if (@IDSETREGISTERID is not null) and (@ISADMIN = 1 or (@ISADDAMAJORGIVINGPROSPECTTASKALLOWED = 1 and @ISPROSPECTMANAGEREDITDATAFORMINSTANCEALLOWED = 1))
begin
declare @NEWPROSPECT table (ID uniqueidentifier primary key);
insert into @NEWPROSPECT (ID)
select ID from dbo.UFN_IDSETREADER_GETRESULTS(@IDSETREGISTERID)
except
select ID from dbo.PROSPECT;
if exists (select ID from @NEWPROSPECT)
begin
if @ISADMIN = 1
set @CANMANAGENEWPROSPECTS = 1;
else if exists
(
select ID
from @NEWPROSPECT as NEWPROSPECT
where
dbo.UFN_SECURITY_APPUSER_GRANTED_TASK_FORCONSTIT(@CURRENTAPPUSERID,@ADDAMAJORGIVINGPROSPECTTASKID,NEWPROSPECT.ID) = 1
and
dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID,@PROSPECTMANAGEREDITDATAFORMINSTANCEID,NEWPROSPECT.ID) = 1
)
set @CANMANAGENEWPROSPECTS = 1;
end
end
if @CANMANAGENEWPROSPECTS = 1
return 0;
return 1;
end