USP_SECURITY_SYSTEMROLEFEATUREFOLDER_GET_FORMS
Gets state of feature permissions for data form instances for the given System Role ID.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SYSTEMROLEID | uniqueidentifier | IN | |
@ONLYASSIGNED | bit | IN | |
@ONLYDISPLAYED | bit | IN |
Definition
Copy
CREATE procedure [dbo].[USP_SECURITY_SYSTEMROLEFEATUREFOLDER_GET_FORMS]
@SYSTEMROLEID uniqueidentifier,
@ONLYASSIGNED bit=0,
@ONLYDISPLAYED bit=0
/*
Used by the SecurityGetRoleFeaturePermTreeRequest web service
*/
as
set nocount on;
if @SYSTEMROLEID is null
begin
raiserror('@SYSTEMROLEID is required',16,10);
return 8;
end;
select
INST.ID,
INST.FORMNAME as DISPLAYNAME,
CAT.SECURITYUIFOLDER,
CAT.MODE,
PERM.GRANTORDENY,
CAT.DESCRIPTION,
PERM.ID as PERMISSIONID,
case when CAT.MODE = 0 then
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_viewdataformtemplate";/bbfa:ViewDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
else
case when CAT.MODE = 1 then
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_editdataformtemplate";/bbfa:EditDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
else
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_adddataformtemplate";/bbfa:AddDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
end
end DISPLAYFEATURE,
CAT.TEMPLATESPECXML as SPECXML
from
dbo.DATAFORMTEMPLATECATALOG as CAT
inner join
dbo.DATAFORMINSTANCECATALOG as INST on CAT.ID=INST.DATAFORMTEMPLATECATALOGID
left outer join
(
select
ID,
GRANTORDENY,
DATAFORMINSTANCECATALOGID
from
dbo.SYSTEMROLEPERM_DATAFORMINSTANCE as PERM
where
SYSTEMROLEID=@SYSTEMROLEID
)
as PERM on INST.ID=PERM.DATAFORMINSTANCECATALOGID
where
(PERM.ID is not null or @ONLYASSIGNED=0)
and
(@ONLYDISPLAYED = 0 or
case when CAT.MODE = 0 then
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_viewdataformtemplate";/bbfa:ViewDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
else
case when CAT.MODE = 1 then
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_editdataformtemplate";/bbfa:EditDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
else
cast(coalesce(CAT.TEMPLATESPECXML.value('declare namespace bbfa="bb_appfx_adddataformtemplate";/bbfa:AddDataFormTemplateSpec[1]/@SecurityUIDisplayFeature','bit'), 1) as bit)
end
end = 1
)
order by
CAT.SECURITYUIFOLDER, INST.FORMNAME;