UFN_ALERT_GETAPPLICATIONLINK_2
Return
Return Type |
---|
nvarchar(2048) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PAGEID | uniqueidentifier | IN | |
@CONTEXTRECORDID | uniqueidentifier | IN | |
@TABID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_ALERT_GETAPPLICATIONLINK_2
(
@PAGEID uniqueidentifier,
@CONTEXTRECORDID uniqueidentifier = null,
@TABID uniqueidentifier = null
)
returns nvarchar(2048)
with execute as owner
as begin
declare @HOSTINGDATABASEID nvarchar(36);
declare @HOSTINGSITEINFOID nvarchar(36);
declare @HOSTINGLINKURL nvarchar(1024);
declare @ROOTURL nvarchar(1024);
declare @QUERYSTRING nvarchar(1024);
declare @SELECTEDDATABASE nvarchar(128);
declare @TARGET nvarchar(500);
select
@HOSTINGDATABASEID = cast(value as nvarchar(36))
from sys.fn_listextendedproperty(N'Hosting_DatabaseID', default, default, default, default, default, default);
select
@HOSTINGLINKURL = cast(value as nvarchar(1024))
from sys.fn_listextendedproperty(N'Hosting_LinkUrl', default, default, default, default, default, default);
if @HOSTINGLINKURL is null
select
@ROOTURL = [ROOT],
@SELECTEDDATABASE = [SELECTEDDATABASE]
from dbo.[APPLICATIONURLPARTS]
else
begin
set @ROOTURL = @HOSTINGLINKURL;
set @SELECTEDDATABASE = @HOSTINGDATABASEID;
end
if @ROOTURL is null
return '<No root url was found - specify root url in the email alerts settings dialog.>';
-- hosted
if @HOSTINGDATABASEID is not null
begin
select
@HOSTINGSITEINFOID = cast(value as nvarchar(36))
from sys.fn_listextendedproperty(N'Hosting_SiteInfoID', default, default, default, default, default, default);
set @QUERYSTRING = '?SITEINFOID=' + @HOSTINGSITEINFOID + '&DATABASEID=' + @HOSTINGDATABASEID;
set @TARGET = '&pageId=' + cast(@PAGEID as nvarchar(36));
if @TABID is not null
set @TARGET = @TARGET + '&tabId=' + cast(@TABID as nvarchar(36));
if @CONTEXTRECORDID is not null and exists (select top 1 1 from dbo.[PAGEDEFINITIONCATALOG] where [ID] = @PAGEID and [CONTEXTRECORDTYPEID] is not null)
set @TARGET = @TARGET + '&recordId=' + cast(@CONTEXTRECORDID as nvarchar(36));
set @QUERYSTRING = @QUERYSTRING + '&TARGET=' + dbo.[UFN_URLENCODE]('webui/webshellpage.aspx?databasename=' + @SELECTEDDATABASE + '#pageType=p' + @TARGET)
end
-- not hosted
else
begin
if right(@ROOTURL, 1) <> '/' set @ROOTURL = @ROOTURL + '/';
set @QUERYSTRING = '&pageId=' + cast(@PAGEID as nvarchar(36));
set @ROOTURL = @ROOTURL + 'webui/webshellpage.aspx?databasename=' + @SELECTEDDATABASE + '#pageType=p'
if @TABID is not null
set @QUERYSTRING = @QUERYSTRING + '&tabId=' + cast(@TABID as nvarchar(36));
if @CONTEXTRECORDID is not null and exists (select top 1 1 from dbo.[PAGEDEFINITIONCATALOG] where [ID] = @PAGEID and [CONTEXTRECORDTYPEID] is not null)
set @QUERYSTRING = @QUERYSTRING + '&recordId=' + cast(@CONTEXTRECORDID as nvarchar(36));
end
return @ROOTURL + @QUERYSTRING;
end