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;