diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index d646dd41..7732a205 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -10758,7 +10758,7 @@ DECLARE @curSpace cursor DECLARE @sqlSpace nvarchar(2000) DECLARE @sqlUsers nvarchar(2000) -DECLARE @sqlReturn nvarchar(2000) +DECLARE @sqlReturn nvarchar(4000) IF @FilterColumn = '' AND @FilterValue <> '' SET @FilterColumn = 'TextSearch' @@ -10790,7 +10790,8 @@ SELECT U.TextSearch, U.ColumnType, ''Users'' as FullType, - 0 as PackageID + 0 as PackageID, + 0 as AccountID FROM @Users AS TU INNER JOIN ( @@ -10849,7 +10850,8 @@ SET @sqlSpace = ' SI.ItemName as TextSearch, STYPE.DisplayName as ColumnType, STYPE.DisplayName as FullType, - SI.PackageID as PackageID + SI.PackageID as PackageID, + 0 as AccountID FROM @ItemsService AS I INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID @@ -10860,10 +10862,23 @@ SET @sqlSpace = ' D.DomainName as TextSearch, ''Domain'' as ColumnType, ''Domain'' as FullType, - D.PackageID as PackageID + D.PackageID as PackageID, + 0 as AccountID FROM @ItemsDomain AS I INNER JOIN Domains AS D ON I.ItemID = D.DomainID - WHERE D.IsDomainPointer=0' + WHERE D.IsDomainPointer=0 + UNION + SELECT + EA.ItemID AS ItemID, + EA.AccountName as TextSearch, + ''ExchangeAccount'' as ColumnType, + ''ExchangeAccount'' as FullType, + SI2.PackageID as PackageID, + EA.AccountID as AccountID + FROM @ItemsService AS I2 + INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID + INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID +'; SET @sqlSpace = @sqlSpace + ' open @curValue' @@ -10876,6 +10891,7 @@ DECLARE @TextSearch nvarchar(500) DECLARE @ColumnType nvarchar(50) DECLARE @FullType nvarchar(50) DECLARE @PackageID int +DECLARE @AccountID int DECLARE @EndRow int SET @EndRow = @StartRow + @MaximumRows DECLARE @ItemsAll TABLE @@ -10885,23 +10901,24 @@ DECLARE @ItemsAll TABLE TextSearch nvarchar(500), ColumnType nvarchar(50), FullType nvarchar(50), - PackageID int + PackageID int, + AccountID int ) -FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID +FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID WHILE @@FETCH_STATUS = 0 BEGIN -INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID) -VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID) -FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID +INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID) +VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID) +FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID END -FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID +FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID WHILE @@FETCH_STATUS = 0 BEGIN -INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID) -VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID) -FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID +INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID) +VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID) +FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID END DECLARE @ItemsReturn TABLE @@ -10911,10 +10928,11 @@ DECLARE @ItemsReturn TABLE TextSearch nvarchar(500), ColumnType nvarchar(50), FullType nvarchar(50), - PackageID int + PackageID int, + AccountID int ) -INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID) -SELECT ItemID, TextSearch, ColumnType, FullType, PackageID +INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID) +SELECT ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID FROM @ItemsAll AS IA' IF @FilterValue <> '' @@ -10929,7 +10947,7 @@ IF @FullType <> '' SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + ''''; SET @sqlReturn = @sqlReturn + '; '; SET @sqlReturn = @sqlReturn + ' -SELECT ItemPosition, ItemID, TextSearch, ColumnType, FullType, PackageID +SELECT ItemPosition, ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID FROM @ItemsReturn AS IR WHERE (1 = 1) ' @@ -10940,7 +10958,7 @@ IF @ColType <> '' SET @sqlReturn = @sqlReturn + ' AND ColumnType in ( ' + @ColType + ' ) '; IF @FullType <> '' -SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + ''''; +SET @sqlReturn = @sqlReturn + ' AND IR.FullType = ''' + @FullType + ''''; exec sp_executesql @sqlReturn, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @curSpaceValue cursor, @curUsersValue cursor', @StartRow, @MaximumRows, @FilterValue, @curSpace, @curUsers @@ -10949,5 +10967,4 @@ CLOSE @curSpace DEALLOCATE @curSpace CLOSE @curUsers DEALLOCATE @curUsers -RETURN - +RETURN \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs index 68a81036..1872124c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs @@ -145,16 +145,16 @@ namespace WebsitePanel.EnterpriseServer { return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure, ObjectQualifier + "GetSearchObject", - new SqlParameter("@actorId", actorId), + new SqlParameter("@ActorId", actorId), new SqlParameter("@UserID", userId), new SqlParameter("@FilterColumn", VerifyColumnName(filterColumn)), new SqlParameter("@FilterValue", VerifyColumnValue(filterValue)), - new SqlParameter("@statusId", statusId), - new SqlParameter("@roleId", roleId), + new SqlParameter("@StatusId", statusId), + new SqlParameter("@RoleId", roleId), new SqlParameter("@SortColumn", VerifyColumnName(sortColumn)), - new SqlParameter("@startRow", startRow), - new SqlParameter("@maximumRows", maximumRows), - new SqlParameter("@recursive", recursive), + new SqlParameter("@StartRow", startRow), + new SqlParameter("@MaximumRows", maximumRows), + new SqlParameter("@Recursive", recursive), new SqlParameter("@ColType", colType), new SqlParameter("@FullType", fullType)); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AjaxHandler.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AjaxHandler.cs index 5116835c..9984e93d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AjaxHandler.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AjaxHandler.cs @@ -43,6 +43,7 @@ namespace WebsitePanel.WebPortal obj["ItemID"] = row["ItemID"].ToString(); obj["PackageID"] = row["PackageID"].ToString(); obj["FullType"] = "Space"; + obj["AccountID"] = row["AccountID"].ToString(); dataList.Add(obj); } @@ -67,6 +68,7 @@ namespace WebsitePanel.WebPortal obj["ItemID"] = row["ItemID"].ToString(); obj["PackageID"] = row["PackageID"].ToString(); obj["FullType"] = row["FullType"].ToString(); + obj["AccountID"] = row["AccountID"].ToString(); dataList.Add(obj); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx index 8a29c88c..c78b294f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx @@ -75,7 +75,7 @@ - + <%# Eval("TextSearch") %> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx.cs index 20642283..bb2f1bd9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchObject.ascx.cs @@ -14,6 +14,7 @@ namespace WebsitePanel.Portal const string TYPE_WEBSITE = "WebSite"; const string TYPE_DOMAIN = "Domain"; const string TYPE_ORGANIZATION = "Organization"; + const string TYPE_EXCHANGEACCOUNT = "ExchangeAccount"; const string PID_SPACE_WEBSITES = "SpaceWebSites"; const string PID_SPACE_DIMAINS = "SpaceDomains"; const string PID_SPACE_EXCHANGESERVER = "SpaceExchangeServer"; @@ -47,7 +48,7 @@ namespace WebsitePanel.Portal } } - public string GetItemPageUrl(string fullType, string itemType, int itemId, int spaceId) + public string GetItemPageUrl(string fullType, string itemType, int itemId, int spaceId, int accountId) { string res = ""; if (fullType.Equals("Users")) @@ -73,6 +74,12 @@ namespace WebsitePanel.Portal PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "organization_home", "moduleDefId=ExchangeServer"); break; + case TYPE_EXCHANGEACCOUNT: + res = PortalUtils.NavigatePageURL(PID_SPACE_EXCHANGESERVER, "ItemID", itemId.ToString(), + PortalUtils.SPACE_ID_PARAM + "=" + spaceId, "ctl=edit_user",//"mid="+this.ModuleID.ToString(), + "AccountID=" + accountId, "Context=User", + "moduleDefId=ExchangeServer"); + break; default: res = PortalUtils.GetSpaceHomePageUrl(itemId); break; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx index e92cf5c7..065b7482 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx @@ -11,6 +11,7 @@ $("#<%= tbSearchText.ClientID %>").val(''); $("#<%= tbObjectId.ClientID %>").val(''); $("#<%= tbPackageId.ClientID %>").val(''); + $("#<%= tbAccountId.ClientID %>").val(''); } }); @@ -43,6 +44,7 @@ $("#<%= tbSearchText.ClientID %>").val(item.code.TextSearch); $("#<%= tbObjectId.ClientID %>").val(item.code.ItemID); $("#<%= tbPackageId.ClientID %>").val(item.code.PackageID); + $("#<%= tbAccountId.ClientID %>").val(item.code.AccountID); $("#<%= ImageButton1.ClientID %>").trigger("click"); } }); @@ -93,6 +95,12 @@ type="hidden" > + + protected global::System.Web.UI.WebControls.TextBox tbPackageId; + /// + /// tbAccountId control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox tbAccountId; + /// /// ImageButton1 control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx index 4a9ede81..fec886fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx @@ -8,6 +8,7 @@ $("#tbSearchText").val(''); $("#tbObjectId").val(''); $("#tbPackageId").val(''); + $("#tbAccountId").val(''); } }); @@ -40,6 +41,7 @@ $("#tbSearchText").val(item.code.TextSearch); $("#tbObjectId").val(item.code.ItemID); $("#tbPackageId").val(item.code.PackageID); + $("#tbAccountId").val(item.code.AccountID); $("#<%= cmdSearch.ClientID %>").trigger("click"); } }); @@ -97,6 +99,13 @@ type="hidden" > + + protected global::System.Web.UI.WebControls.TextBox tbPackageId; + /// + /// tbAccountId control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox tbAccountId; + /// /// cmdSearch control. ///