USP_RESEARCHGROUP_VALIDATESITES
Validates sites for research group records.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SITES | xml | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN | |
@ISEDITFORM | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_RESEARCHGROUP_VALIDATESITES
(
@SITES xml,
@CURRENTAPPUSERID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@ISEDITFORM bit = 0
)
as
set nocount on;
declare @SITECOUNT int = 0;
declare @SITES_T table
(
SITEID uniqueidentifier
);
if not @SITES is null
begin
insert into @SITES_T(SITEID)
select SITEID from dbo.UFN_RESEARCHGROUP_GETSITES_FROMITEMLISTXML(@SITES);
end
select @SITECOUNT = count(*) from @SITES_T;
if @SITECOUNT = 0
begin
if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
raiserror('BBERR_SITEREQUIRED', 13, 1);
end
else
begin
if not dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
begin
if @ISEDITFORM = 1
begin
if not exists(select SITEID from @SITES_T [SITES] where dbo.UFN_SITEALLOWEDFORUSERONFEATURE(@CURRENTAPPUSERID, [SITES].SITEID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1)
raiserror('BBER_SITE_NOACCESS', 13, 1);
end
else
begin
if exists(select SITEID from @SITES_T [SITES] where not dbo.UFN_SITEALLOWEDFORUSERONFEATURE(@CURRENTAPPUSERID, [SITES].SITEID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1)
raiserror('BBER_SITE_NOACCESS', 13, 1);
end
end
end