quick search: autocomplete fix
This commit is contained in:
parent
6e4437f8b0
commit
013a9c16d7
1 changed files with 64 additions and 31 deletions
|
@ -12232,12 +12232,8 @@ DECLARE @Users TABLE
|
||||||
UserID int
|
UserID int
|
||||||
)
|
)
|
||||||
INSERT INTO @Users (UserID)
|
INSERT INTO @Users (UserID)
|
||||||
SELECT '
|
SELECT
|
||||||
|
U.UserID
|
||||||
IF @OnlyFind = 1
|
|
||||||
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
|
||||||
|
|
||||||
SET @sqlUsers = @sqlUsers + 'U.UserID
|
|
||||||
FROM UsersDetailed AS U
|
FROM UsersDetailed AS U
|
||||||
WHERE
|
WHERE
|
||||||
U.UserID <> @UserID AND U.IsPeer = 0 AND
|
U.UserID <> @UserID AND U.IsPeer = 0 AND
|
||||||
|
@ -12249,8 +12245,12 @@ WHERE
|
||||||
AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
|
AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
|
||||||
AND @HasUserRights = 1
|
AND @HasUserRights = 1
|
||||||
SET @curValue = cursor local for
|
SET @curValue = cursor local for
|
||||||
SELECT
|
SELECT '
|
||||||
U.ItemID,
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlUsers = @sqlUsers + 'U.ItemID,
|
||||||
U.TextSearch,
|
U.TextSearch,
|
||||||
U.ColumnType,
|
U.ColumnType,
|
||||||
''Users'' as FullType,
|
''Users'' as FullType,
|
||||||
|
@ -12274,8 +12274,10 @@ SELECT U3.UserID as ItemID, U3.FirstName + '' '' + U3.LastName as TextSearch, @c
|
||||||
FROM dbo.Users AS U3) as U
|
FROM dbo.Users AS U3) as U
|
||||||
WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
|
WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
|
||||||
)
|
)
|
||||||
AS U ON TU.UserID = U.ItemID
|
AS U ON TU.UserID = U.ItemID'
|
||||||
ORDER BY TextSearch'
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlUsers = @sqlUsers + ' WHERE TextSearch LIKE ''' + @FilterValue + ''''
|
||||||
|
SET @sqlUsers = @sqlUsers + ' ORDER BY TextSearch'
|
||||||
|
|
||||||
SET @sqlUsers = @sqlUsers + ' open @curValue'
|
SET @sqlUsers = @sqlUsers + ' open @curValue'
|
||||||
|
|
||||||
|
@ -12288,12 +12290,8 @@ SET @sqlSpace = '
|
||||||
ItemID int
|
ItemID int
|
||||||
)
|
)
|
||||||
INSERT INTO @ItemsService (ItemID)
|
INSERT INTO @ItemsService (ItemID)
|
||||||
SELECT '
|
SELECT
|
||||||
|
SI.ItemID
|
||||||
IF @OnlyFind = 1
|
|
||||||
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
|
||||||
|
|
||||||
SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
|
||||||
FROM ServiceItems AS SI
|
FROM ServiceItems AS SI
|
||||||
INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
|
INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
|
||||||
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
@ -12313,8 +12311,12 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
dbo.CheckUserParent(@UserID, P.UserID) = 1
|
dbo.CheckUserParent(@UserID, P.UserID) = 1
|
||||||
|
|
||||||
SET @curValue = cursor local for
|
SET @curValue = cursor local for
|
||||||
SELECT
|
SELECT '
|
||||||
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
SI.ItemID as ItemID,
|
SI.ItemID as ItemID,
|
||||||
SI.ItemName as TextSearch,
|
SI.ItemName as TextSearch,
|
||||||
STYPE.DisplayName as ColumnType,
|
STYPE.DisplayName as ColumnType,
|
||||||
|
@ -12324,9 +12326,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
FROM @ItemsService AS I
|
FROM @ItemsService AS I
|
||||||
INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
|
INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
|
||||||
INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
|
INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
|
||||||
WHERE STYPE.Searchable = 1
|
WHERE (STYPE.Searchable = 1)'
|
||||||
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlSpace = @sqlSpace + ' AND (SI.ItemName LIKE ''' + @FilterValue + ''')'
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
UNION (
|
UNION (
|
||||||
SELECT
|
SELECT '
|
||||||
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
D.DomainID AS ItemID,
|
D.DomainID AS ItemID,
|
||||||
D.DomainName as TextSearch,
|
D.DomainName as TextSearch,
|
||||||
''Domain'' as ColumnType,
|
''Domain'' as ColumnType,
|
||||||
|
@ -12335,9 +12345,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
0 as AccountID
|
0 as AccountID
|
||||||
FROM @ItemsDomain AS I
|
FROM @ItemsDomain AS I
|
||||||
INNER JOIN Domains AS D ON I.ItemID = D.DomainID
|
INNER JOIN Domains AS D ON I.ItemID = D.DomainID
|
||||||
WHERE D.IsDomainPointer=0
|
WHERE (D.IsDomainPointer=0)'
|
||||||
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlSpace = @sqlSpace + ' AND (D.DomainName LIKE ''' + @FilterValue + ''')'
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
UNION
|
UNION
|
||||||
SELECT
|
SELECT '
|
||||||
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
EA.ItemID AS ItemID,
|
EA.ItemID AS ItemID,
|
||||||
EA.DisplayName as TextSearch,
|
EA.DisplayName as TextSearch,
|
||||||
''ExchangeAccount'' as ColumnType,
|
''ExchangeAccount'' as ColumnType,
|
||||||
|
@ -12346,9 +12364,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
EA.AccountID as AccountID
|
EA.AccountID as AccountID
|
||||||
FROM @ItemsService AS I2
|
FROM @ItemsService AS I2
|
||||||
INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID
|
INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID
|
||||||
INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID
|
INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID'
|
||||||
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlSpace = @sqlSpace + ' WHERE (EA.DisplayName LIKE ''' + @FilterValue + ''')'
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
UNION
|
UNION
|
||||||
SELECT
|
SELECT '
|
||||||
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
EA4.ItemID AS ItemID,
|
EA4.ItemID AS ItemID,
|
||||||
EA4.PrimaryEmailAddress as TextSearch,
|
EA4.PrimaryEmailAddress as TextSearch,
|
||||||
''ExchangeAccount'' as ColumnType,
|
''ExchangeAccount'' as ColumnType,
|
||||||
|
@ -12357,9 +12383,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
EA4.AccountID as AccountID
|
EA4.AccountID as AccountID
|
||||||
FROM @ItemsService AS I4
|
FROM @ItemsService AS I4
|
||||||
INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID
|
INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID
|
||||||
INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID
|
INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID'
|
||||||
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlSpace = @sqlSpace + ' WHERE (EA4.PrimaryEmailAddress LIKE ''' + @FilterValue + ''')'
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
UNION
|
UNION
|
||||||
SELECT
|
SELECT '
|
||||||
|
|
||||||
|
IF @OnlyFind = 1
|
||||||
|
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + '
|
||||||
EA3.ItemID AS ItemID,
|
EA3.ItemID AS ItemID,
|
||||||
EAEA.EmailAddress as TextSearch,
|
EAEA.EmailAddress as TextSearch,
|
||||||
''ExchangeAccount'' as ColumnType,
|
''ExchangeAccount'' as ColumnType,
|
||||||
|
@ -12369,8 +12403,10 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
|
||||||
FROM @ItemsService AS I3
|
FROM @ItemsService AS I3
|
||||||
INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID
|
INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID
|
||||||
INNER JOIN ExchangeAccounts AS EA3 ON I3.ItemID = EA3.ItemID
|
INNER JOIN ExchangeAccounts AS EA3 ON I3.ItemID = EA3.ItemID
|
||||||
INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID)
|
INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID'
|
||||||
ORDER BY TextSearch';
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlSpace = @sqlSpace + ' WHERE (EAEA.EmailAddress LIKE ''' + @FilterValue + ''')'
|
||||||
|
SET @sqlSpace = @sqlSpace + ') ORDER BY TextSearch';
|
||||||
|
|
||||||
SET @sqlSpace = @sqlSpace + ' open @curValue'
|
SET @sqlSpace = @sqlSpace + ' open @curValue'
|
||||||
|
|
||||||
|
@ -12434,9 +12470,6 @@ SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) ';
|
||||||
IF @FullType <> ''
|
IF @FullType <> ''
|
||||||
SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
|
SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
|
||||||
|
|
||||||
IF @FilterValue <> ''
|
|
||||||
SET @sqlReturn = @sqlReturn + ' AND IA.' + @FilterColumn + ' LIKE @FilterValue '
|
|
||||||
|
|
||||||
SET @sqlReturn = @sqlReturn + '
|
SET @sqlReturn = @sqlReturn + '
|
||||||
SELECT COUNT(ItemID) FROM @ItemsReturn;
|
SELECT COUNT(ItemID) FROM @ItemsReturn;
|
||||||
SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';
|
SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue