USP_DATAFORMTEMPLATE_VIEW_APPLICATIONUSER_PAGEEXPRESSION
The load procedure used by the view dataform template "Application User Page Expression View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@USERNAME | nvarchar(128) | INOUT | Name |
@DISPLAYNAME | nvarchar(255) | INOUT | Display name |
@ISSYSADMIN | bit | INOUT | Is system administrator? |
@CONSTITUENTID | uniqueidentifier | INOUT | Constituent ID |
@CONSTITUENTNAME | nvarchar(154) | INOUT | Constituent name |
@PRODUCTCODE | tinyint | INOUT | Product code |
@EMAILALERTENABLED | bit | INOUT | Email alert enabled |
@HASEMAILADDRESS | bit | INOUT | HASEMAILADDRESS |
@CMS_ISMAPPEDUSER | bit | INOUT | Is CMS mapped user |
@CMS_ISINTERNALUSER | bit | INOUT | Is CMS internal user |
@ISSYSTEM | bit | INOUT | Is system user? |
@RUNASIDENTIFIER | nvarchar(128) | INOUT | |
@ISACTIVE | bit | INOUT | |
@ISPROXYUSER | bit | INOUT | |
@HASPROXYUSER | bit | INOUT | |
@PROXYOWNER | nvarchar(128) | INOUT | |
@PROXYOWNERID | uniqueidentifier | INOUT | |
@ISBBIDUSER | bit | INOUT | |
@HASRUNASRIGHTS | bit | INOUT | |
@LINKEDTOBBID | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_APPLICATIONUSER_PAGEEXPRESSION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@USERNAME nvarchar(128) = null output,
@DISPLAYNAME nvarchar(255) = null output,
@ISSYSADMIN bit = null output,
@CONSTITUENTID uniqueidentifier = null output,
@CONSTITUENTNAME nvarchar(154) = null output,
@PRODUCTCODE tinyint = null output,
@EMAILALERTENABLED bit = null output,
@HASEMAILADDRESS bit = null output,
@CMS_ISMAPPEDUSER bit = null output,
@CMS_ISINTERNALUSER bit = null output,
@ISSYSTEM bit = null output,
@RUNASIDENTIFIER nvarchar(128) = null output,
@ISACTIVE bit = null output,
@ISPROXYUSER bit = null output,
@HASPROXYUSER bit = null output,
@PROXYOWNER nvarchar(128) = null output,
@PROXYOWNERID uniqueidentifier = null output,
@ISBBIDUSER bit = null output,
@HASRUNASRIGHTS bit = null output,
@LINKEDTOBBID bit = null output
) as
set nocount on;
set @DATALOADED = 0
select
@DATALOADED = 1,
@USERNAME = case when len(AU.CUSTOM_AUTHENTICATION_USERID) = 0 then coalesce(AU.USERNAME, AU.DISPLAYNAME) else AU.CUSTOM_AUTHENTICATION_USERID end,
@DISPLAYNAME = AU.DISPLAYNAME,
@ISSYSADMIN = AU.ISSYSADMIN,
@CONSTITUENTID = AU.CONSTITUENTID,
@CONSTITUENTNAME = NF.NAME,
@PRODUCTCODE = (select [PRODUCTCODE] from dbo.[INSTALLATIONINFO]),
@EMAILALERTENABLED = (select top(1) ENABLED from dbo.DATABASEMAILSETTINGS),
@HASEMAILADDRESS = case when len(APPUSERALERTSETTING.EMAILADDRESS) > 0 then 1 else 0 end,
@ISSYSTEM = AU.ISSYSTEM,
@RUNASIDENTIFIER = AU.ID,
@ISACTIVE = isnull(ISACTIVE,1),
@ISPROXYUSER = isnull(ISPROXYUSER,0),
@PROXYOWNER =
case when AU.ISPROXYUSER = 1 then ( select case when len(APPUSERPROXYOWNER.CUSTOM_AUTHENTICATION_USERID) = 0 then coalesce(APPUSERPROXYOWNER.USERNAME, APPUSERPROXYOWNER.DISPLAYNAME) else APPUSERPROXYOWNER.CUSTOM_AUTHENTICATION_USERID end
from dbo.APPUSER as APPUSERPROXYOWNER
where APPUSERPROXYOWNER.ID = AU.PROXYOWNERID)
else null end,
@PROXYOWNERID = case when AU.ISPROXYUSER = 1 then AU.PROXYOWNERID else null end,
@ISBBIDUSER = case when ((APPUSERCLAIMS.APPUSERID is not null and isnull(AU.ISPROXYUSER,0) = 0) or (AU.USERSID = SUSER_SID('NT AUTHORITY\ANONYMOUS LOGON') and isnull(AU.ISPROXYUSER,0) = 0)) then 1 else 0 end,
@HASRUNASRIGHTS = isnull(AU.HASRUNASRIGHTS, 0),
@LINKEDTOBBID = case when exists ( select 1 from dbo.APPUSERCLAIMSLINK where APPUSERCLAIMSLINK.APPUSERID = AU.ID ) then 1 else 0 end
from
dbo.APPUSER as AU
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(AU.CONSTITUENTID) NF
left outer join
dbo.APPUSERALERTSETTING on APPUSERALERTSETTING.ID = AU.ID
left outer join dbo.APPUSERCLAIMS on AU.ID = APPUSERCLAIMS.APPUSERID
where
AU.ID = @ID;
--check for CMS specific data
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'ClientUsers') OR (TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'BBNCUSERMAP')))
begin
declare @CMSDATALOADED bit
set @CMSDATALOADED = 0;
set @CMS_ISMAPPEDUSER = 0;
set @CMS_ISINTERNALUSER =0;
select @CMSDATALOADED = 1,
@CMS_ISMAPPEDUSER = 1,
@CMS_ISINTERNALUSER = ClientUsers.InternalUser
from ClientUsers join BBNCUSERMAP on BBNCUSERMAP.BBNCUSERNAME=ClientUsers.UserName
where BBNCUSERMAP.ID = @ID;
end
set @HASPROXYUSER = dbo.UFN_APPUSER_HASPROXYUSER(@ID);
return 0;