UFN_SECURITY_APPUSER_GRANTED_BATCHTEMPLATE_IN_NONSITEROLE
Returns true if the given user has permissions to the given batch template in a role that has no site security defined.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@APPUSERID | uniqueidentifier | IN | |
@BATCHTEMPLATEID | uniqueidentifier | IN |
Definition
Copy
CREATE function [dbo].[UFN_SECURITY_APPUSER_GRANTED_BATCHTEMPLATE_IN_NONSITEROLE]
(
@APPUSERID uniqueidentifier,
@BATCHTEMPLATEID uniqueidentifier
)
returns bit as
/*
Returns true if the given user has permissions to the given task
in a role whose site security is set to all records.
*/
begin
if exists
(
select
1
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE as SECURITYVIEW
with (NOEXPAND, INDEX(IX_V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE_BATCHTEMPLATEID_APPUSERID))
inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.APPUSERID = SECURITYVIEW.APPUSERID
where
SECURITYVIEW.APPUSERID = @APPUSERID AND
SECURITYVIEW.BATCHTEMPLATEID = @BATCHTEMPLATEID AND
SECURITYVIEW.GRANTORDENY = 1 AND
SYSTEMROLEAPPUSER.SECURITYMODECODE = 0
union all
select
1
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTYPE as SECURITYVIEW
inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.BATCHTYPECATALOGID = SECURITYVIEW.BATCHTYPECATALOGID
inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.APPUSERID = SECURITYVIEW.APPUSERID
where
SECURITYVIEW.APPUSERID=@APPUSERID AND
BATCHTEMPLATE.ID=@BATCHTEMPLATEID AND
SECURITYVIEW.GRANTORDENY=1 AND
SYSTEMROLEAPPUSER.SECURITYMODECODE = 0
union all
select
1
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHWORKFLOWSTATE as SECURITYVIEW
with (NOEXPAND, INDEX(IX_V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHWORKFLOWSTATE_BATCHWORKFLOWSTATEID_APPUSERID))
inner join dbo.BATCH on BATCH.BATCHWORKFLOWSTATEID = SECURITYVIEW.BATCHWORKFLOWSTATEID
inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.APPUSERID = SECURITYVIEW.APPUSERID
where
SECURITYVIEW.APPUSERID=@APPUSERID AND
BATCH.BATCHTEMPLATEID=@BATCHTEMPLATEID AND
SECURITYVIEW.GRANTORDENY=1 AND
SYSTEMROLEAPPUSER.SECURITYMODECODE = 0
union all
select
1
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHPROCESSOR as SECURITYVIEW
with (NOEXPAND, INDEX(IX_V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATEPROCESSOR_BATCHTEMPLATEID_APPUSERID))
inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.APPUSERID = SECURITYVIEW.APPUSERID
where
SECURITYVIEW.APPUSERID=@APPUSERID AND
SECURITYVIEW.BATCHTEMPLATEID=@BATCHTEMPLATEID AND
SECURITYVIEW.GRANTORDENY=1 and
SYSTEMROLEAPPUSER.SECURITYMODECODE = 0
union all
select
1
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATEAPPROVER as SECURITYVIEW
with (NOEXPAND, INDEX(IX_V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATEAPPROVER_BATCHTEMPLATEID_APPUSERID))
inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.APPUSERID = SECURITYVIEW.APPUSERID
where
SECURITYVIEW.APPUSERID=@APPUSERID AND
SECURITYVIEW.BATCHTEMPLATEID=@BATCHTEMPLATEID AND
SECURITYVIEW.GRANTORDENY=1 AND
SYSTEMROLEAPPUSER.SECURITYMODECODE = 0
) return 1;
return 0;
end