USP_DATAFORMTEMPLATE_ADD_SYSTEMROLEAPPUSER
The save procedure used by the add dataform template "System Role User Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@APPUSERID | uniqueidentifier | IN | Application user |
@SECURITYMODECODE | tinyint | IN | Record access |
@SITES | xml | IN | Sites |
@SYSTEMROLEID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@BRANCHSITEID | uniqueidentifier | IN | Branch |
@CONSTITUENTSECURITYMODECODE | tinyint | IN | Record access |
@CONSTITUENTSECURITYGROUPS | xml | IN | Constituent security groups |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SYSTEMROLEAPPUSER
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@APPUSERID uniqueidentifier,
@SECURITYMODECODE tinyint = 0,
@SITES xml = null,
@SYSTEMROLEID uniqueidentifier,
@BRANCHSITEID uniqueidentifier = null,
@CONSTITUENTSECURITYMODECODE tinyint = 0,
@CONSTITUENTSECURITYGROUPS xml = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE=getdate();
if @ID is null
set @ID = newid();
if @SECURITYMODECODE <> 3 begin
set @BRANCHSITEID = null
end
declare @ISPROXYUSER bit = 0;
declare @PROXYUSERHASPERMISSION bit = 0;
declare @PROXYOWNERID uniqueidentifier = null;
declare @ISPROXYOWNERSYSADMIN bit = 0;
begin try
if @CONSTITUENTSECURITYMODECODE = 2 and @CONSTITUENTSECURITYGROUPS is null begin
raiserror('At least one constituent security group must be selected.', 13, 1);
end
if @SECURITYMODECODE = 2 and @SITES is null begin
raiserror('At least one site must be selected.', 13, 1);
end
select @ISPROXYUSER = dbo.UFN_APPUSER_ISPROXYUSER(@APPUSERID);
if @ISPROXYUSER = 1
begin
select @PROXYOWNERID = PROXYOWNERID from dbo.APPUSER where ID = @APPUSERID;
select @ISPROXYOWNERSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@PROXYOWNERID);
if @ISPROXYOWNERSYSADMIN = 0
begin
select @PROXYUSERHASPERMISSION = dbo.UFN_PROXYUSER_CHECKROLESANDPERMISSIONS(@APPUSERID,@SITES,@SYSTEMROLEID,
@SECURITYMODECODE,@BRANCHSITEID,@CONSTITUENTSECURITYMODECODE, @CONSTITUENTSECURITYGROUPS);
end
else
begin
set @PROXYUSERHASPERMISSION = 1;
end
if @PROXYUSERHASPERMISSION = 0
begin
raiserror('BBERR_PROXYUSER_PERMISSION', 13, 1);
end
end
exec dbo.USP_SYSTEMROLEAPPUSER_VALIDATESECURITYGROUPS @CONSTITUENTSECURITYGROUPS;
insert into dbo.SYSTEMROLEAPPUSER
(ID, APPUSERID, SECURITYMODECODE, SYSTEMROLEID, BRANCHSITEID, CONSTITUENTSECURITYMODECODE, DATEADDED, DATECHANGED, ADDEDBYID, CHANGEDBYID)
values
(@ID, @APPUSERID, @SECURITYMODECODE, @SYSTEMROLEID, @BRANCHSITEID, @CONSTITUENTSECURITYMODECODE, @CURRENTDATE, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID);
exec dbo.USP_SYSTEMROLEAPPUSER_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_SYSTEMROLEAPPUSER_GETSECURITYGROUPS_ADDFROMXML @ID, @CONSTITUENTSECURITYGROUPS, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch