USP_SYSTEMROLE_COPYDATAFORMPERMISSIONSTOSEARCHLIST
Copies permissions for a given DataForm instance to a Search List.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NEWFEATUREID | uniqueidentifier | IN | |
@PERMISSIONEDFEATUREID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_SYSTEMROLE_COPYDATAFORMPERMISSIONSTOSEARCHLIST
(
@NEWFEATUREID uniqueidentifier,
@PERMISSIONEDFEATUREID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
--Used for revisions
set nocount on;
begin try
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
insert into dbo.SYSTEMROLEPERM_SEARCHLIST
(
SYSTEMROLEID,
SEARCHLISTCATALOGID,
GRANTORDENY,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
SYSTEMROLEID,
@NEWFEATUREID,
GRANTORDENY,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.SYSTEMROLEPERM_DATAFORMINSTANCE
where DATAFORMINSTANCECATALOGID = @PERMISSIONEDFEATUREID
and not exists(select top 1 SUB.ID from dbo.SYSTEMROLEPERM_SEARCHLIST SUB
where SUB.SEARCHLISTCATALOGID =@NEWFEATUREID and SUB.SYSTEMROLEID = SYSTEMROLEPERM_DATAFORMINSTANCE.SYSTEMROLEID)
and exists(select top 1 CAT.ID from SEARCHLISTCATALOG CAT where CAT.ID = @NEWFEATUREID );
end try
begin catch
exec dbo.USP_RAISE_ERROR;
end catch