This commit is contained in:
Alexander Trofimov 2015-05-03 22:20:47 +03:00
commit 1c9b4817ae
10 changed files with 105 additions and 36 deletions

View file

@ -10764,7 +10764,7 @@ DECLARE @curSpace cursor
DECLARE @sqlSpace nvarchar(2000) DECLARE @sqlSpace nvarchar(2000)
DECLARE @sqlUsers nvarchar(2000) DECLARE @sqlUsers nvarchar(2000)
DECLARE @sqlReturn nvarchar(2000) DECLARE @sqlReturn nvarchar(4000)
IF @FilterColumn = '' AND @FilterValue <> '' IF @FilterColumn = '' AND @FilterValue <> ''
SET @FilterColumn = 'TextSearch' SET @FilterColumn = 'TextSearch'
@ -10796,7 +10796,8 @@ SELECT
U.TextSearch, U.TextSearch,
U.ColumnType, U.ColumnType,
''Users'' as FullType, ''Users'' as FullType,
0 as PackageID 0 as PackageID,
0 as AccountID
FROM @Users AS TU FROM @Users AS TU
INNER JOIN INNER JOIN
( (
@ -10855,7 +10856,8 @@ SET @sqlSpace = '
SI.ItemName as TextSearch, SI.ItemName as TextSearch,
STYPE.DisplayName as ColumnType, STYPE.DisplayName as ColumnType,
STYPE.DisplayName as FullType, STYPE.DisplayName as FullType,
SI.PackageID as PackageID SI.PackageID as PackageID,
0 as AccountID
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
@ -10866,10 +10868,23 @@ SET @sqlSpace = '
D.DomainName as TextSearch, D.DomainName as TextSearch,
''Domain'' as ColumnType, ''Domain'' as ColumnType,
''Domain'' as FullType, ''Domain'' as FullType,
D.PackageID as PackageID D.PackageID as PackageID,
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
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' SET @sqlSpace = @sqlSpace + ' open @curValue'
@ -10882,6 +10897,7 @@ DECLARE @TextSearch nvarchar(500)
DECLARE @ColumnType nvarchar(50) DECLARE @ColumnType nvarchar(50)
DECLARE @FullType nvarchar(50) DECLARE @FullType nvarchar(50)
DECLARE @PackageID int DECLARE @PackageID int
DECLARE @AccountID int
DECLARE @EndRow int DECLARE @EndRow int
SET @EndRow = @StartRow + @MaximumRows SET @EndRow = @StartRow + @MaximumRows
DECLARE @ItemsAll TABLE DECLARE @ItemsAll TABLE
@ -10891,23 +10907,24 @@ DECLARE @ItemsAll TABLE
TextSearch nvarchar(500), TextSearch nvarchar(500),
ColumnType nvarchar(50), ColumnType nvarchar(50),
FullType 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 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID) INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID) VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID)
FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
END 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 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID) INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID) VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID)
FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
END END
DECLARE @ItemsReturn TABLE DECLARE @ItemsReturn TABLE
@ -10917,14 +10934,22 @@ DECLARE @ItemsReturn TABLE
TextSearch nvarchar(500), TextSearch nvarchar(500),
ColumnType nvarchar(50), ColumnType nvarchar(50),
FullType nvarchar(50), FullType nvarchar(50),
PackageID int PackageID int,
AccountID int
) )
INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID) INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
SELECT ItemID, TextSearch, ColumnType, FullType, PackageID SELECT ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID
FROM @ItemsAll AS IA' FROM @ItemsAll AS IA WHERE (1 = 1) '
IF @ColType <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) ';
IF @FullType <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
IF @FilterValue <> '' IF @FilterValue <> ''
SET @sqlReturn = @sqlReturn + ' WHERE IA.' + @FilterColumn + ' LIKE @FilterValue ' SET @sqlReturn = @sqlReturn + ' AND IA.' + @FilterColumn + ' LIKE @FilterValue '
IF @SortColumn <> '' AND @SortColumn IS NOT NULL IF @SortColumn <> '' AND @SortColumn IS NOT NULL
SET @sqlReturn = @sqlReturn + ' ORDER BY ' + @SortColumn + ' ' SET @sqlReturn = @sqlReturn + ' ORDER BY ' + @SortColumn + ' '
@ -10935,19 +10960,13 @@ IF @FullType <> ''
SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + ''''; SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + '''';
SET @sqlReturn = @sqlReturn + '; '; SET @sqlReturn = @sqlReturn + '; ';
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) FROM @ItemsReturn AS IR WHERE (1 = 1)
' '
IF @MaximumRows > 0 IF @MaximumRows > 0
SET @sqlReturn = @sqlReturn + ' AND IR.ItemPosition BETWEEN @StartRow AND @EndRow'; SET @sqlReturn = @sqlReturn + ' AND IR.ItemPosition BETWEEN @StartRow AND @EndRow';
IF @ColType <> ''
SET @sqlReturn = @sqlReturn + ' AND ColumnType in ( ' + @ColType + ' ) ';
IF @FullType <> ''
SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + '''';
exec sp_executesql @sqlReturn, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @curSpaceValue cursor, @curUsersValue cursor', exec sp_executesql @sqlReturn, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @curSpaceValue cursor, @curUsersValue cursor',
@StartRow, @MaximumRows, @FilterValue, @curSpace, @curUsers @StartRow, @MaximumRows, @FilterValue, @curSpace, @curUsers
@ -10956,4 +10975,3 @@ DEALLOCATE @curSpace
CLOSE @curUsers CLOSE @curUsers
DEALLOCATE @curUsers DEALLOCATE @curUsers
RETURN RETURN

View file

@ -145,16 +145,16 @@ namespace WebsitePanel.EnterpriseServer
{ {
return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure, return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure,
ObjectQualifier + "GetSearchObject", ObjectQualifier + "GetSearchObject",
new SqlParameter("@actorId", actorId), new SqlParameter("@ActorId", actorId),
new SqlParameter("@UserID", userId), new SqlParameter("@UserID", userId),
new SqlParameter("@FilterColumn", VerifyColumnName(filterColumn)), new SqlParameter("@FilterColumn", VerifyColumnName(filterColumn)),
new SqlParameter("@FilterValue", VerifyColumnValue(filterValue)), new SqlParameter("@FilterValue", VerifyColumnValue(filterValue)),
new SqlParameter("@statusId", statusId), new SqlParameter("@StatusId", statusId),
new SqlParameter("@roleId", roleId), new SqlParameter("@RoleId", roleId),
new SqlParameter("@SortColumn", VerifyColumnName(sortColumn)), new SqlParameter("@SortColumn", VerifyColumnName(sortColumn)),
new SqlParameter("@startRow", startRow), new SqlParameter("@StartRow", startRow),
new SqlParameter("@maximumRows", maximumRows), new SqlParameter("@MaximumRows", maximumRows),
new SqlParameter("@recursive", recursive), new SqlParameter("@Recursive", recursive),
new SqlParameter("@ColType", colType), new SqlParameter("@ColType", colType),
new SqlParameter("@FullType", fullType)); new SqlParameter("@FullType", fullType));
} }

View file

@ -43,6 +43,7 @@ namespace WebsitePanel.WebPortal
obj["ItemID"] = row["ItemID"].ToString(); obj["ItemID"] = row["ItemID"].ToString();
obj["PackageID"] = row["PackageID"].ToString(); obj["PackageID"] = row["PackageID"].ToString();
obj["FullType"] = "Space"; obj["FullType"] = "Space";
obj["AccountID"] = row["AccountID"].ToString();
dataList.Add(obj); dataList.Add(obj);
} }
@ -67,6 +68,7 @@ namespace WebsitePanel.WebPortal
obj["ItemID"] = row["ItemID"].ToString(); obj["ItemID"] = row["ItemID"].ToString();
obj["PackageID"] = row["PackageID"].ToString(); obj["PackageID"] = row["PackageID"].ToString();
obj["FullType"] = row["FullType"].ToString(); obj["FullType"] = row["FullType"].ToString();
obj["AccountID"] = row["AccountID"].ToString();
dataList.Add(obj); dataList.Add(obj);
} }

View file

@ -75,7 +75,7 @@
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField SortExpression="TextSearch" HeaderText="gvText" HeaderStyle-Wrap="false"> <asp:TemplateField SortExpression="TextSearch" HeaderText="gvText" HeaderStyle-Wrap="false">
<ItemTemplate> <ItemTemplate>
<asp:hyperlink id=lnkUser runat="server" NavigateUrl='<%# GetItemPageUrl((string)Eval("FullType"), (string)Eval("ColumnType"), (int)Eval("ItemID"), (int)Eval("PackageID")) %>'> <asp:hyperlink id=lnkUser runat="server" NavigateUrl='<%# GetItemPageUrl((string)Eval("FullType"), (string)Eval("ColumnType"), (int)Eval("ItemID"), (int)Eval("PackageID"), (int)Eval("AccountID")) %>'>
<%# Eval("TextSearch") %> <%# Eval("TextSearch") %>
</asp:hyperlink> </asp:hyperlink>
</ItemTemplate> </ItemTemplate>

View file

@ -14,6 +14,7 @@ namespace WebsitePanel.Portal
const string TYPE_WEBSITE = "WebSite"; const string TYPE_WEBSITE = "WebSite";
const string TYPE_DOMAIN = "Domain"; const string TYPE_DOMAIN = "Domain";
const string TYPE_ORGANIZATION = "Organization"; const string TYPE_ORGANIZATION = "Organization";
const string TYPE_EXCHANGEACCOUNT = "ExchangeAccount";
const string PID_SPACE_WEBSITES = "SpaceWebSites"; const string PID_SPACE_WEBSITES = "SpaceWebSites";
const string PID_SPACE_DIMAINS = "SpaceDomains"; const string PID_SPACE_DIMAINS = "SpaceDomains";
const string PID_SPACE_EXCHANGESERVER = "SpaceExchangeServer"; 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 = ""; string res = "";
if (fullType.Equals("Users")) if (fullType.Equals("Users"))
@ -73,6 +74,12 @@ namespace WebsitePanel.Portal
PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "organization_home", PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "organization_home",
"moduleDefId=ExchangeServer"); "moduleDefId=ExchangeServer");
break; 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: default:
res = PortalUtils.GetSpaceHomePageUrl(itemId); res = PortalUtils.GetSpaceHomePageUrl(itemId);
break; break;

View file

@ -11,6 +11,7 @@
$("#<%= tbSearchText.ClientID %>").val(''); $("#<%= tbSearchText.ClientID %>").val('');
$("#<%= tbObjectId.ClientID %>").val(''); $("#<%= tbObjectId.ClientID %>").val('');
$("#<%= tbPackageId.ClientID %>").val(''); $("#<%= tbPackageId.ClientID %>").val('');
$("#<%= tbAccountId.ClientID %>").val('');
} }
}); });
@ -43,6 +44,7 @@
$("#<%= tbSearchText.ClientID %>").val(item.code.TextSearch); $("#<%= tbSearchText.ClientID %>").val(item.code.TextSearch);
$("#<%= tbObjectId.ClientID %>").val(item.code.ItemID); $("#<%= tbObjectId.ClientID %>").val(item.code.ItemID);
$("#<%= tbPackageId.ClientID %>").val(item.code.PackageID); $("#<%= tbPackageId.ClientID %>").val(item.code.PackageID);
$("#<%= tbAccountId.ClientID %>").val(item.code.AccountID);
$("#<%= ImageButton1.ClientID %>").trigger("click"); $("#<%= ImageButton1.ClientID %>").trigger("click");
} }
}); });
@ -93,6 +95,12 @@
type="hidden" type="hidden"
> >
</asp:TextBox> </asp:TextBox>
<asp:TextBox
ID="tbAccountId"
runat="server"
type="hidden"
>
</asp:TextBox>
<asp:ImageButton <asp:ImageButton
ID="ImageButton1" ID="ImageButton1"

View file

@ -47,6 +47,7 @@ namespace WebsitePanel.Portal.SkinControls
const string TYPE_WEBSITE = "WebSite"; const string TYPE_WEBSITE = "WebSite";
const string TYPE_DOMAIN = "Domain"; const string TYPE_DOMAIN = "Domain";
const string TYPE_ORGANIZATION = "Organization"; const string TYPE_ORGANIZATION = "Organization";
const string TYPE_EXCHANGEACCOUNT = "ExchangeAccount";
const string PID_SPACE_WEBSITES = "SpaceWebSites"; const string PID_SPACE_WEBSITES = "SpaceWebSites";
const string PID_SPACE_DIMAINS = "SpaceDomains"; const string PID_SPACE_DIMAINS = "SpaceDomains";
const string PID_SPACE_EXCHANGESERVER = "SpaceExchangeServer"; const string PID_SPACE_EXCHANGESERVER = "SpaceExchangeServer";
@ -148,6 +149,12 @@ namespace WebsitePanel.Portal.SkinControls
PortalUtils.SPACE_ID_PARAM + "=" + spaceId, "ctl=edit_item", PortalUtils.SPACE_ID_PARAM + "=" + spaceId, "ctl=edit_item",
"moduleDefId=ExchangeServer"); "moduleDefId=ExchangeServer");
break; 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="+this.tbAccountId.Text,"Context=User",
"moduleDefId=ExchangeServer");
break;
default: default:
res = PortalUtils.GetSpaceHomePageUrl(itemId); res = PortalUtils.GetSpaceHomePageUrl(itemId);
break; break;

View file

@ -75,6 +75,15 @@ namespace WebsitePanel.Portal.SkinControls {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.TextBox tbPackageId; protected global::System.Web.UI.WebControls.TextBox tbPackageId;
/// <summary>
/// tbAccountId control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox tbAccountId;
/// <summary> /// <summary>
/// ImageButton1 control. /// ImageButton1 control.
/// </summary> /// </summary>

View file

@ -8,6 +8,7 @@
$("#tbSearchText").val(''); $("#tbSearchText").val('');
$("#tbObjectId").val(''); $("#tbObjectId").val('');
$("#tbPackageId").val(''); $("#tbPackageId").val('');
$("#tbAccountId").val('');
} }
}); });
@ -40,6 +41,7 @@
$("#tbSearchText").val(item.code.TextSearch); $("#tbSearchText").val(item.code.TextSearch);
$("#tbObjectId").val(item.code.ItemID); $("#tbObjectId").val(item.code.ItemID);
$("#tbPackageId").val(item.code.PackageID); $("#tbPackageId").val(item.code.PackageID);
$("#tbAccountId").val(item.code.AccountID);
$("#<%= cmdSearch.ClientID %>").trigger("click"); $("#<%= cmdSearch.ClientID %>").trigger("click");
} }
}); });
@ -97,6 +99,13 @@
type="hidden" type="hidden"
> >
</asp:TextBox> </asp:TextBox>
<asp:TextBox
ID="tbAccountId"
ClientIDMode="Static"
runat="server"
type="hidden"
>
</asp:TextBox>
<asp:ImageButton <asp:ImageButton
ID="cmdSearch" ID="cmdSearch"
runat="server" runat="server"

View file

@ -84,6 +84,15 @@ namespace WebsitePanel.Portal {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.TextBox tbPackageId; protected global::System.Web.UI.WebControls.TextBox tbPackageId;
/// <summary>
/// tbAccountId control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox tbAccountId;
/// <summary> /// <summary>
/// cmdSearch control. /// cmdSearch control.
/// </summary> /// </summary>