Searchbox controls replaced by JQuery autocomplete.
This commit is contained in:
parent
5f31a9f180
commit
837e1fec61
43 changed files with 1545 additions and 425 deletions
|
@ -9798,3 +9798,229 @@ GO
|
||||||
|
|
||||||
UPDATE [dbo].[ServiceItemTypes] SET TypeName ='WebsitePanel.Providers.SharePoint.SharePointEnterpriseSiteCollection, WebsitePanel.Providers.Base' WHERE DisplayName = 'SharePointEnterpriseSiteCollection'
|
UPDATE [dbo].[ServiceItemTypes] SET TypeName ='WebsitePanel.Providers.SharePoint.SharePointEnterpriseSiteCollection, WebsitePanel.Providers.Base' WHERE DisplayName = 'SharePointEnterpriseSiteCollection'
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetSearchObject')
|
||||||
|
DROP PROCEDURE GetSearchObject
|
||||||
|
|
||||||
|
CREATE PROCEDURE [dbo].[GetSearchObject]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@UserID int,
|
||||||
|
@FilterColumn nvarchar(50) = '',
|
||||||
|
@FilterValue nvarchar(50) = '',
|
||||||
|
@StatusID int,
|
||||||
|
@RoleID int,
|
||||||
|
@SortColumn nvarchar(50),
|
||||||
|
@StartRow int,
|
||||||
|
@MaximumRows int = 0,
|
||||||
|
@Recursive bit,
|
||||||
|
@ColType nvarchar(50) = ''
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
IF dbo.CheckActorUserRights(@ActorID, @UserID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this account', 16, 1)
|
||||||
|
|
||||||
|
DECLARE @columnUsername nvarchar(20)
|
||||||
|
SET @columnUsername = 'Username'
|
||||||
|
|
||||||
|
DECLARE @columnEmail nvarchar(20)
|
||||||
|
SET @columnEmail = 'Email'
|
||||||
|
|
||||||
|
DECLARE @columnCompanyName nvarchar(20)
|
||||||
|
SET @columnCompanyName = 'CompanyName'
|
||||||
|
|
||||||
|
DECLARE @columnFullName nvarchar(20)
|
||||||
|
SET @columnFullName = 'FullName'
|
||||||
|
|
||||||
|
DECLARE @curUsers cursor
|
||||||
|
DECLARE @curSpace cursor
|
||||||
|
|
||||||
|
DECLARE @sqlSpace nvarchar(2000)
|
||||||
|
DECLARE @sqlUsers nvarchar(2000)
|
||||||
|
DECLARE @sqlReturn nvarchar(2000)
|
||||||
|
|
||||||
|
IF @FilterColumn = '' AND @FilterValue <> ''
|
||||||
|
SET @FilterColumn = 'TextSearch'
|
||||||
|
|
||||||
|
SET @sqlUsers = '
|
||||||
|
DECLARE @HasUserRights bit
|
||||||
|
SET @HasUserRights = dbo.CheckActorUserRights(@ActorID, @UserID)
|
||||||
|
DECLARE @Users TABLE
|
||||||
|
(
|
||||||
|
ItemPosition int IDENTITY(0,1),
|
||||||
|
UserID int
|
||||||
|
)
|
||||||
|
INSERT INTO @Users (UserID)
|
||||||
|
SELECT
|
||||||
|
U.UserID
|
||||||
|
FROM UsersDetailed AS U
|
||||||
|
WHERE
|
||||||
|
U.UserID <> @UserID AND U.IsPeer = 0 AND
|
||||||
|
(
|
||||||
|
(@Recursive = 0 AND OwnerID = @UserID) OR
|
||||||
|
(@Recursive = 1 AND dbo.CheckUserParent(@UserID, U.UserID) = 1)
|
||||||
|
)
|
||||||
|
AND ((@StatusID = 0) OR (@StatusID > 0 AND U.StatusID = @StatusID))
|
||||||
|
AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
|
||||||
|
AND @HasUserRights = 1
|
||||||
|
SET @curValue = cursor local for
|
||||||
|
SELECT
|
||||||
|
U.ItemID,
|
||||||
|
U.TextSearch,
|
||||||
|
U.ColumnType,
|
||||||
|
''Users'' as FullType,
|
||||||
|
0 as PackageID
|
||||||
|
FROM @Users AS TU
|
||||||
|
INNER JOIN
|
||||||
|
(
|
||||||
|
SELECT ItemID, TextSearch, ColumnType
|
||||||
|
FROM(
|
||||||
|
SELECT U0.UserID as ItemID, U0.Username as TextSearch, @columnUsername as ColumnType
|
||||||
|
FROM dbo.Users AS U0
|
||||||
|
UNION
|
||||||
|
SELECT U1.UserID as ItemID, U1.Email as TextSearch, @columnEmail as ColumnType
|
||||||
|
FROM dbo.Users AS U1
|
||||||
|
UNION
|
||||||
|
SELECT U2.UserID as ItemID, U2.CompanyName as TextSearch, @columnCompanyName as ColumnType
|
||||||
|
FROM dbo.Users AS U2
|
||||||
|
UNION
|
||||||
|
SELECT U3.UserID as ItemID, U3.FirstName + '' '' + U3.LastName as TextSearch, @columnFullName as ColumnType
|
||||||
|
FROM dbo.Users AS U3) as U
|
||||||
|
WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
|
||||||
|
)
|
||||||
|
AS U ON TU.UserID = U.ItemID'
|
||||||
|
|
||||||
|
SET @sqlUsers = @sqlUsers + ' open @curValue'
|
||||||
|
|
||||||
|
exec sp_executesql @sqlUsers, N'@UserID int, @FilterValue nvarchar(50), @ActorID int, @Recursive bit, @StatusID int, @RoleID int, @columnUsername nvarchar(20), @columnEmail nvarchar(20), @columnCompanyName nvarchar(20), @columnFullName nvarchar(20), @curValue cursor output',
|
||||||
|
@UserID, @FilterValue, @ActorID, @Recursive, @StatusID, @RoleID, @columnUsername, @columnEmail, @columnCompanyName, @columnFullName, @curValue=@curUsers output
|
||||||
|
|
||||||
|
SET @sqlSpace = '
|
||||||
|
DECLARE @ItemsService TABLE
|
||||||
|
(
|
||||||
|
ItemID int
|
||||||
|
)
|
||||||
|
INSERT INTO @ItemsService (ItemID)
|
||||||
|
SELECT
|
||||||
|
SI.ItemID
|
||||||
|
FROM ServiceItems AS SI
|
||||||
|
INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
WHERE
|
||||||
|
dbo.CheckUserParent(@UserID, P.UserID) = 1
|
||||||
|
DECLARE @ItemsDomain TABLE
|
||||||
|
(
|
||||||
|
ItemID int
|
||||||
|
)
|
||||||
|
INSERT INTO @ItemsDomain (ItemID)
|
||||||
|
SELECT
|
||||||
|
D.DomainID
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON P.PackageID = D.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
WHERE
|
||||||
|
dbo.CheckUserParent(@UserID, P.UserID) = 1
|
||||||
|
|
||||||
|
SET @curValue = cursor local for
|
||||||
|
SELECT
|
||||||
|
|
||||||
|
SI.ItemID as ItemID,
|
||||||
|
SI.ItemName as TextSearch,
|
||||||
|
STYPE.DisplayName as ColumnType,
|
||||||
|
SI.ItemName as FullType,
|
||||||
|
SI.PackageID as PackageID
|
||||||
|
FROM @ItemsService AS I
|
||||||
|
INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
|
||||||
|
INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
|
||||||
|
WHERE STYPE.Searchable = 1
|
||||||
|
UNION
|
||||||
|
SELECT
|
||||||
|
D.DomainID AS ItemID,
|
||||||
|
D.DomainName as TextSearch,
|
||||||
|
''Domain'' as ColumnType,
|
||||||
|
''Domain'' as FullType,
|
||||||
|
D.PackageID as PackageID
|
||||||
|
FROM @ItemsDomain AS I
|
||||||
|
INNER JOIN Domains AS D ON I.ItemID = D.DomainID
|
||||||
|
WHERE D.IsDomainPointer=0'
|
||||||
|
|
||||||
|
SET @sqlSpace = @sqlSpace + ' open @curValue'
|
||||||
|
|
||||||
|
exec sp_executesql @sqlSpace, N'@UserID int, @FilterValue nvarchar(50), @ActorID int, @curValue cursor output',
|
||||||
|
@UserID, @FilterValue, @ActorID, @curValue=@curSpace output
|
||||||
|
|
||||||
|
SET @sqlReturn = '
|
||||||
|
DECLARE @ItemID int
|
||||||
|
DECLARE @TextSearch nvarchar(500)
|
||||||
|
DECLARE @ColumnType nvarchar(50)
|
||||||
|
DECLARE @FullType nvarchar(50)
|
||||||
|
DECLARE @PackageID int
|
||||||
|
DECLARE @EndRow int
|
||||||
|
SET @EndRow = @StartRow + @MaximumRows
|
||||||
|
DECLARE @ItemsAll TABLE
|
||||||
|
(
|
||||||
|
ItemPosition int IDENTITY(1,1),
|
||||||
|
ItemID int,
|
||||||
|
TextSearch nvarchar(500),
|
||||||
|
ColumnType nvarchar(50),
|
||||||
|
FullType nvarchar(50),
|
||||||
|
PackageID int
|
||||||
|
)
|
||||||
|
|
||||||
|
FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID
|
||||||
|
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
|
||||||
|
END
|
||||||
|
|
||||||
|
FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID
|
||||||
|
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
|
||||||
|
END
|
||||||
|
|
||||||
|
DECLARE @ItemsReturn TABLE
|
||||||
|
(
|
||||||
|
ItemPosition int IDENTITY(1,1),
|
||||||
|
ItemID int,
|
||||||
|
TextSearch nvarchar(500),
|
||||||
|
ColumnType nvarchar(50),
|
||||||
|
FullType nvarchar(50),
|
||||||
|
PackageID int
|
||||||
|
)
|
||||||
|
INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID)
|
||||||
|
SELECT ItemID, TextSearch, ColumnType, FullType, PackageID
|
||||||
|
FROM @ItemsAll AS IA'
|
||||||
|
|
||||||
|
IF @FilterValue <> ''
|
||||||
|
SET @sqlReturn = @sqlReturn + ' WHERE IA.' + @FilterColumn + ' LIKE @FilterValue '
|
||||||
|
|
||||||
|
IF @SortColumn <> '' AND @SortColumn IS NOT NULL
|
||||||
|
SET @sqlReturn = @sqlReturn + ' ORDER BY ' + @SortColumn + ' '
|
||||||
|
SET @sqlReturn = @sqlReturn + '
|
||||||
|
SELECT COUNT(ItemID) FROM @ItemsReturn;
|
||||||
|
SELECT DISTINCT(ColumnType) FROM @ItemsReturn;
|
||||||
|
SELECT ItemPosition, ItemID, TextSearch, ColumnType, FullType, PackageID
|
||||||
|
FROM @ItemsReturn AS IR WHERE (1 = 1)
|
||||||
|
'
|
||||||
|
|
||||||
|
IF @MaximumRows > 0
|
||||||
|
SET @sqlReturn = @sqlReturn + ' AND IR.ItemPosition BETWEEN @StartRow AND @EndRow';
|
||||||
|
|
||||||
|
IF @ColType <> ''
|
||||||
|
SET @sqlReturn = @sqlReturn + ' AND ColumnType in ( ' + @ColType + ' ) ';
|
||||||
|
|
||||||
|
exec sp_executesql @sqlReturn, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @curSpaceValue cursor, @curUsersValue cursor',
|
||||||
|
@StartRow, @MaximumRows, @FilterValue, @curSpace, @curUsers
|
||||||
|
|
||||||
|
CLOSE @curSpace
|
||||||
|
DEALLOCATE @curSpace
|
||||||
|
CLOSE @curUsers
|
||||||
|
DEALLOCATE @curUsers
|
||||||
|
RETURN
|
||||||
|
|
|
@ -907,6 +907,27 @@ namespace WebsitePanel.EnterpriseServer {
|
||||||
return ((System.Data.DataSet)(results[0]));
|
return ((System.Data.DataSet)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
/// //TODO START
|
||||||
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetSearchObject", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
public System.Data.DataSet GetSearchObject(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows, string colType)
|
||||||
|
{
|
||||||
|
object[] results = this.Invoke("GetSearchObject", new object[] {
|
||||||
|
userId,
|
||||||
|
filterColumn,
|
||||||
|
filterValue,
|
||||||
|
statusId,
|
||||||
|
roleId,
|
||||||
|
sortColumn,
|
||||||
|
startRow,
|
||||||
|
maximumRows,
|
||||||
|
colType
|
||||||
|
});
|
||||||
|
return ((System.Data.DataSet)(results[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO END
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SearchServiceItemsPagedAsync(int userId, int itemTypeId, string filterValue, string sortColumn, int startRow, int maximumRows) {
|
public void SearchServiceItemsPagedAsync(int userId, int itemTypeId, string filterValue, string sortColumn, int startRow, int maximumRows) {
|
||||||
this.SearchServiceItemsPagedAsync(userId, itemTypeId, filterValue, sortColumn, startRow, maximumRows, null);
|
this.SearchServiceItemsPagedAsync(userId, itemTypeId, filterValue, sortColumn, startRow, maximumRows, null);
|
||||||
|
|
|
@ -138,6 +138,27 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
new SqlParameter("@recursive", recursive));
|
new SqlParameter("@recursive", recursive));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
public static DataSet GetSearchObject(int actorId, int userId, string filterColumn, string filterValue,
|
||||||
|
int statusId, int roleId, string sortColumn, int startRow, int maximumRows, string colType, bool recursive)
|
||||||
|
{
|
||||||
|
return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure,
|
||||||
|
ObjectQualifier + "GetSearchObject",
|
||||||
|
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("@SortColumn", VerifyColumnName(sortColumn)),
|
||||||
|
new SqlParameter("@startRow", startRow),
|
||||||
|
new SqlParameter("@maximumRows", maximumRows),
|
||||||
|
new SqlParameter("@recursive", recursive),
|
||||||
|
new SqlParameter("@ColType", colType));
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO END
|
||||||
|
|
||||||
public static DataSet GetUsersSummary(int actorId, int userId)
|
public static DataSet GetUsersSummary(int actorId, int userId)
|
||||||
{
|
{
|
||||||
return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure,
|
return SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure,
|
||||||
|
|
|
@ -317,6 +317,15 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
sortColumn, startRow, maximumRows);
|
sortColumn, startRow, maximumRows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
public static DataSet GetSearchObject(int userId, string filterColumn, string filterValue,
|
||||||
|
int statusId, int roleId, string sortColumn, int startRow, int maximumRows, string colType)
|
||||||
|
{
|
||||||
|
return DataProvider.GetSearchObject(SecurityContext.User.UserId, userId,
|
||||||
|
filterColumn, filterValue, statusId, roleId, sortColumn, startRow, maximumRows, colType, false);
|
||||||
|
}
|
||||||
|
//TODO END
|
||||||
|
|
||||||
public static DataSet GetPackageQuotas(int packageId)
|
public static DataSet GetPackageQuotas(int packageId)
|
||||||
{
|
{
|
||||||
return DataProvider.GetPackageQuotas(SecurityContext.User.UserId, packageId);
|
return DataProvider.GetPackageQuotas(SecurityContext.User.UserId, packageId);
|
||||||
|
|
|
@ -134,6 +134,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
sortColumn, startRow, maximumRows);
|
sortColumn, startRow, maximumRows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
|
||||||
|
[WebMethod]
|
||||||
|
public DataSet GetSearchObject(int userId, string filterColumn, string filterValue,
|
||||||
|
int statusId, int roleId, string sortColumn, int startRow, int maximumRows, string colType)
|
||||||
|
{
|
||||||
|
return PackageController.GetSearchObject(userId, filterColumn, filterValue, statusId, roleId, sortColumn, startRow, maximumRows, colType);
|
||||||
|
}
|
||||||
|
//TODO END
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public DataSet GetPackagesPaged(int userId, string filterColumn, string filterValue,
|
public DataSet GetPackagesPaged(int userId, string filterColumn, string filterValue,
|
||||||
string sortColumn, int startRow, int maximumRows)
|
string sortColumn, int startRow, int maximumRows)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<OldToolsVersion>4.0</OldToolsVersion>
|
<OldToolsVersion>4.0</OldToolsVersion>
|
||||||
<UpgradeBackupLocation>
|
<UpgradeBackupLocation>
|
||||||
</UpgradeBackupLocation>
|
</UpgradeBackupLocation>
|
||||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
<UseIISExpress>false</UseIISExpress>
|
<UseIISExpress>false</UseIISExpress>
|
||||||
<IISExpressSSLPort />
|
<IISExpressSSLPort />
|
||||||
|
@ -80,6 +80,7 @@
|
||||||
<Reference Include="System.ServiceModel" />
|
<Reference Include="System.ServiceModel" />
|
||||||
<Reference Include="System.ServiceProcess" />
|
<Reference Include="System.ServiceProcess" />
|
||||||
<Reference Include="System.Web" />
|
<Reference Include="System.Web" />
|
||||||
|
<Reference Include="System.Web.ApplicationServices" />
|
||||||
<Reference Include="System.Web.DynamicData" />
|
<Reference Include="System.Web.DynamicData" />
|
||||||
<Reference Include="System.Web.Entity" />
|
<Reference Include="System.Web.Entity" />
|
||||||
<Reference Include="System.Web.Extensions" />
|
<Reference Include="System.Web.Extensions" />
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<%@ WebHandler Language="C#" Class="WebsitePanel.WebPortal.WebsitePanelAjaxHandler,WebsitePanel.Portal.Modules" %>
|
|
@ -29,6 +29,9 @@
|
||||||
<NestedSpacesPage>NestedSpaces</NestedSpacesPage>
|
<NestedSpacesPage>NestedSpaces</NestedSpacesPage>
|
||||||
<UsersSearchPage>SearchUsers</UsersSearchPage>
|
<UsersSearchPage>SearchUsers</UsersSearchPage>
|
||||||
<SpacesSearchPage>SearchSpaces</SpacesSearchPage>
|
<SpacesSearchPage>SearchSpaces</SpacesSearchPage>
|
||||||
|
<!--TODO START-->
|
||||||
|
<SearchObjectPage>SearchObject</SearchObjectPage>
|
||||||
|
<!--TODO END-->
|
||||||
<LoggedUserAccountPage>LoggedUserDetails</LoggedUserAccountPage>
|
<LoggedUserAccountPage>LoggedUserDetails</LoggedUserAccountPage>
|
||||||
<!-- Skins and Containers -->
|
<!-- Skins and Containers -->
|
||||||
<PortalSkin>Browse2.ascx</PortalSkin>
|
<PortalSkin>Browse2.ascx</PortalSkin>
|
||||||
|
|
|
@ -25,6 +25,14 @@
|
||||||
</Controls>
|
</Controls>
|
||||||
</ModuleDefinition>
|
</ModuleDefinition>
|
||||||
|
|
||||||
|
<!--TODO START-->
|
||||||
|
<ModuleDefinition id="SearchObject">
|
||||||
|
<Controls>
|
||||||
|
<Control key="" src="WebsitePanel/SearchObject.ascx" title="SearchObject" type="View" />
|
||||||
|
</Controls>
|
||||||
|
</ModuleDefinition>
|
||||||
|
<!--TODO END-->
|
||||||
|
|
||||||
<!-- User Account -->
|
<!-- User Account -->
|
||||||
<ModuleDefinition id="LoggedUserDetails">
|
<ModuleDefinition id="LoggedUserDetails">
|
||||||
<Controls>
|
<Controls>
|
||||||
|
|
|
@ -32,6 +32,14 @@
|
||||||
</Content>
|
</Content>
|
||||||
</Page>
|
</Page>
|
||||||
|
|
||||||
|
<!--TODO START-->
|
||||||
|
<Page name="SearchObject" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse1.ascx">
|
||||||
|
<Content id="ContentPane">
|
||||||
|
<Module moduleDefinitionID="SearchObject" title="SearchObject" icon="sphere_zoom_48.png" container="Edit.ascx" />
|
||||||
|
</Content>
|
||||||
|
</Page>
|
||||||
|
<!--TODO END-->
|
||||||
|
|
||||||
<Page name="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse3.ascx" align="right">
|
<Page name="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse3.ascx" align="right">
|
||||||
<Content id="LeftPane">
|
<Content id="LeftPane">
|
||||||
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
|
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
|
||||||
|
|
|
@ -711,6 +711,9 @@
|
||||||
<data name="ModuleTitle.SearchSpaces" xml:space="preserve">
|
<data name="ModuleTitle.SearchSpaces" xml:space="preserve">
|
||||||
<value>Search Hosting Spaces</value>
|
<value>Search Hosting Spaces</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ModuleTitle.SearchObject" xml:space="preserve">
|
||||||
|
<value>Search Objects</value>
|
||||||
|
</data>
|
||||||
<data name="ModuleTitle.SearchUsers" xml:space="preserve">
|
<data name="ModuleTitle.SearchUsers" xml:space="preserve">
|
||||||
<value>Search User Accounts</value>
|
<value>Search User Accounts</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -141,6 +141,12 @@
|
||||||
<data name="PageTitle.SearchSpaces" xml:space="preserve">
|
<data name="PageTitle.SearchSpaces" xml:space="preserve">
|
||||||
<value>{user} - Search Hosting Spaces</value>
|
<value>{user} - Search Hosting Spaces</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PageName.SearchObject" xml:space="preserve">
|
||||||
|
<value>Search Objects</value>
|
||||||
|
</data>
|
||||||
|
<data name="PageTitle.SearchObject" xml:space="preserve">
|
||||||
|
<value>{user} - Search Objects</value>
|
||||||
|
</data>
|
||||||
<data name="PageName.Home" xml:space="preserve">
|
<data name="PageName.Home" xml:space="preserve">
|
||||||
<value>Account Home</value>
|
<value>Account Home</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -304,3 +304,75 @@ p.warningText {font-size:14px; color:Red; text-align:center;}
|
||||||
.LinkText {color:#428bca;}
|
.LinkText {color:#428bca;}
|
||||||
.WrapText { white-space: normal;}
|
.WrapText { white-space: normal;}
|
||||||
.chosen-container { margin-top: -30px; }
|
.chosen-container { margin-top: -30px; }
|
||||||
|
|
||||||
|
.ui-autocomplete {z-index: 200 !important; }
|
||||||
|
|
||||||
|
.ui-button {
|
||||||
|
padding: 5px 5px;
|
||||||
|
margin: 3px;
|
||||||
|
background: #20A0D0;
|
||||||
|
color: white;
|
||||||
|
border: 1px solid #2080A0;
|
||||||
|
float: left;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-button:hover {
|
||||||
|
background: #20B0E0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-popupdialog {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: #FFF;
|
||||||
|
border: 1px solid #C0C0C0;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
|
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
|
||||||
|
background-clip: padding-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-popupdialog .title {
|
||||||
|
padding: 5px;
|
||||||
|
background: #F8F8F8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-popupdialog .content {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-popupdialog .actions {
|
||||||
|
padding: 5px;
|
||||||
|
border-top: 1px solid #C0C0C0;
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-menu {
|
||||||
|
background-color: #FFF;
|
||||||
|
border: 1px solid #C0C0C0;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
|
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
|
||||||
|
background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.ui-menu-item {
|
||||||
|
}
|
||||||
|
.ui-widget-content {
|
||||||
|
background: #FFF;
|
||||||
|
}
|
||||||
|
.ui-corner-all {
|
||||||
|
border-radius: 0px;
|
||||||
|
-moz-border-radius: 0px;
|
||||||
|
-webkit-border-radius: 0px;
|
||||||
|
}
|
||||||
|
.ui-menu-item .ui-state-hover
|
||||||
|
{
|
||||||
|
background: #f0f0f0;
|
||||||
|
border-radius: 0px;
|
||||||
|
-moz-border-radius: 0px;
|
||||||
|
-webkit-border-radius: 0px;
|
||||||
|
border-color: #f0f0f0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.ui-menu-item:hover {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
|
@ -842,6 +842,13 @@ namespace WebsitePanel.Portal
|
||||||
return PortalConfiguration.SiteSettings["SpacesSearchPage"];
|
return PortalConfiguration.SiteSettings["SpacesSearchPage"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
public static string GetObjectSearchPageId()
|
||||||
|
{
|
||||||
|
return PortalConfiguration.SiteSettings["SearchObjectPage"];
|
||||||
|
}
|
||||||
|
//TODO END
|
||||||
|
|
||||||
public static string GetNestedSpacesPageId()
|
public static string GetNestedSpacesPageId()
|
||||||
{
|
{
|
||||||
return PortalConfiguration.SiteSettings["NestedSpacesPage"];
|
return PortalConfiguration.SiteSettings["NestedSpacesPage"];
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 1.3
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">1.3</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1">this is my long string</data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
[base64 mime encoded serialized .NET Framework object]
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>1.3</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="gvType.Header" xml:space="preserve">
|
||||||
|
<value>Type</value>
|
||||||
|
</data>
|
||||||
|
<data name="gvText.Header" xml:space="preserve">
|
||||||
|
<value>Search text</value>
|
||||||
|
</data>
|
||||||
|
<data name="gvFullType.Header" xml:space="preserve">
|
||||||
|
<value>Full Type</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
|
@ -0,0 +1,68 @@
|
||||||
|
using System;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.Script.Serialization;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using WebsitePanel.Portal;
|
||||||
|
|
||||||
|
namespace WebsitePanel.WebPortal
|
||||||
|
{
|
||||||
|
public class WebsitePanelAjaxHandler : IHttpHandler
|
||||||
|
{
|
||||||
|
public bool IsReusable { get { return true; } }
|
||||||
|
|
||||||
|
public void ProcessRequest(HttpContext context)
|
||||||
|
{
|
||||||
|
String filterValue = context.Request.Params["term"];
|
||||||
|
String fullType = context.Request.Params["fullType"];
|
||||||
|
String columnType = context.Request.Params["columnType"];
|
||||||
|
|
||||||
|
if (fullType == "Spaces")
|
||||||
|
{
|
||||||
|
String strItemType = context.Request.Params["itemType"];
|
||||||
|
int itemType = Int32.Parse(strItemType);
|
||||||
|
DataSet dsObjectItems = ES.Services.Packages.SearchServiceItemsPaged(PanelSecurity.EffectiveUserId, itemType,
|
||||||
|
String.Format("%{0}%", filterValue),
|
||||||
|
"",0, 100);
|
||||||
|
DataTable dt = dsObjectItems.Tables[1];
|
||||||
|
List<Dictionary<string, string>> dataList = new List<Dictionary<string, string>>();
|
||||||
|
for (int i = 0; i < dt.Rows.Count; ++i)
|
||||||
|
{
|
||||||
|
DataRow row = dt.Rows[i];
|
||||||
|
Dictionary<string, string> obj = new Dictionary<string, string>();
|
||||||
|
obj["ColumnType"] = "PackageName";
|
||||||
|
obj["TextSearch"] = row["PackageName"].ToString();
|
||||||
|
obj["FullType"] = "Space";
|
||||||
|
dataList.Add(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
var jsonSerialiser = new JavaScriptSerializer();
|
||||||
|
var json = jsonSerialiser.Serialize(dataList);
|
||||||
|
context.Response.ContentType = "text/plain";
|
||||||
|
context.Response.Write(json);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DataSet dsObjectItems = ES.Services.Packages.GetSearchObject(PanelSecurity.EffectiveUserId, null,
|
||||||
|
String.Format("%{0}%", filterValue),
|
||||||
|
0, 0, "", 0, 100, columnType);
|
||||||
|
DataTable dt = dsObjectItems.Tables[2];
|
||||||
|
List<Dictionary<string, string>> dataList = new List<Dictionary<string, string>>();
|
||||||
|
for (int i = 0; i < dt.Rows.Count; ++i)
|
||||||
|
{
|
||||||
|
DataRow row = dt.Rows[i];
|
||||||
|
Dictionary<string, string> obj = new Dictionary<string, string>();
|
||||||
|
obj["ColumnType"] = row["ColumnType"].ToString();
|
||||||
|
obj["TextSearch"] = row["TextSearch"].ToString();
|
||||||
|
obj["FullType"] = row["FullType"].ToString();
|
||||||
|
dataList.Add(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
var jsonSerialiser = new JavaScriptSerializer();
|
||||||
|
var json = jsonSerialiser.Serialize(dataList);
|
||||||
|
context.Response.ContentType = "text/plain";
|
||||||
|
context.Response.Write(json);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -36,6 +36,7 @@ using System.Web.Caching;
|
||||||
|
|
||||||
using WebsitePanel.EnterpriseServer;
|
using WebsitePanel.EnterpriseServer;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace WebsitePanel.Portal
|
namespace WebsitePanel.Portal
|
||||||
{
|
{
|
||||||
|
@ -244,5 +245,33 @@ namespace WebsitePanel.Portal
|
||||||
return dsServiceItemsPaged.Tables[1];
|
return dsServiceItemsPaged.Tables[1];
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
#region Service Items Paged Search
|
||||||
|
DataSet dsObjectItemsPaged;
|
||||||
|
|
||||||
|
public int SearchObjectItemsPagedCount(string filterColumn, string filterValue, string colType)
|
||||||
|
{
|
||||||
|
return (int)dsObjectItemsPaged.Tables[0].Rows[0][0];
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataTable SearchObjectItemsPaged(int maximumRows, int startRowIndex, string sortColumn,
|
||||||
|
string filterColumn, string filterValue, string colType)
|
||||||
|
{
|
||||||
|
dsObjectItemsPaged = ES.Services.Packages.GetSearchObject(PanelSecurity.EffectiveUserId, filterColumn,
|
||||||
|
String.Format("%{0}%", filterValue),
|
||||||
|
0, 0, sortColumn, startRowIndex, maximumRows, colType);
|
||||||
|
return dsObjectItemsPaged.Tables[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataTable SearchObjectTypes(string filterColumn, string filterValue, string sortColumn)
|
||||||
|
{
|
||||||
|
dsObjectItemsPaged = ES.Services.Packages.GetSearchObject(PanelSecurity.EffectiveUserId, filterColumn,
|
||||||
|
String.Format("%{0}%", filterValue),
|
||||||
|
0, 0, sortColumn, 0, 0, "");
|
||||||
|
return dsObjectItemsPaged.Tables[1];
|
||||||
|
}
|
||||||
|
//TODO END
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchObject.ascx.cs" Inherits="WebsitePanel.Portal.SearchObject" %>
|
||||||
|
<%@ Import Namespace="WebsitePanel.Portal" %>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var estop = function (e) {
|
||||||
|
if (!e) e = window.event;
|
||||||
|
e.cancelBubble = true;
|
||||||
|
if (e.stopPropagation) e.stopPropagation();
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
var CPopupDialog = function (el, e) {
|
||||||
|
if (typeof el == 'string')
|
||||||
|
el = document.getElementById(el);
|
||||||
|
e = estop(e);
|
||||||
|
|
||||||
|
var oldclick = document.body.onclick;
|
||||||
|
el.onclick = estop;
|
||||||
|
|
||||||
|
function close() {
|
||||||
|
el.style.display = "none";
|
||||||
|
document.body.onclick = oldclick;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show(x, y) {
|
||||||
|
el.style.left = x ? x : e.clientX + document.documentElement.scrollLeft + "px";
|
||||||
|
el.style.top = y ? y : e.clientY + document.documentElement.scrollTop + "px";
|
||||||
|
el.style.display = "block";
|
||||||
|
document.body.onclick = close;
|
||||||
|
}
|
||||||
|
|
||||||
|
show();
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
var loadFilters = function()
|
||||||
|
{
|
||||||
|
var typesSelected = JSON.parse($("#tbFilters").val());
|
||||||
|
$("#mydialog input[rel]").each(function () {
|
||||||
|
var rel = $(this).attr('rel');
|
||||||
|
if (typesSelected.indexOf(rel) >= 0)
|
||||||
|
$(this).val("1");
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#btnSelectFilter").click(function(e)
|
||||||
|
{
|
||||||
|
var typesSelected = [];
|
||||||
|
$("#mydialog input[rel]").each(function () {
|
||||||
|
var val = $(this).attr("checked");
|
||||||
|
if (val) typesSelected.push($(this).attr('rel'));
|
||||||
|
});
|
||||||
|
$("#tbFilters").val(JSON.stringify(typesSelected));
|
||||||
|
document.forms[0].submit();
|
||||||
|
})
|
||||||
|
|
||||||
|
loadFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<asp:GridView id="gvObjects" runat="server" AutoGenerateColumns="False"
|
||||||
|
AllowPaging="True" AllowSorting="True"
|
||||||
|
CssSelectorClass="NormalGridView"
|
||||||
|
DataSourceID="odsObjectsPaged" EnableViewState="False"
|
||||||
|
EmptyDataText="gvObjects">
|
||||||
|
<Columns>
|
||||||
|
<asp:TemplateField HeaderText="gvType" SortExpression="ColumnType">
|
||||||
|
<HeaderTemplate>
|
||||||
|
<a href="javascript: void(0)" onclick="CPopupDialog('mydialog',event)">Type</a>
|
||||||
|
</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<%# Eval("ColumnType") %>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField SortExpression="TextSearch" HeaderText="gvText" HeaderStyle-Wrap="false">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:hyperlink id=lnkUser runat="server" NavigateUrl='<%# GetItemPageUrl((string)Eval("FullType"), (string)Eval("ColumnType"), (int)Eval("ItemID"), (int)Eval("PackageID")) %>'>
|
||||||
|
<%# Eval("TextSearch") %>
|
||||||
|
</asp:hyperlink>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:BoundField DataField="FullType" HtmlEncode="false" SortExpression="FullType" HeaderText="gvFullType">
|
||||||
|
<HeaderStyle Wrap="false" />
|
||||||
|
</asp:BoundField>
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
|
||||||
|
<asp:ObjectDataSource ID="odsObjectsPaged" runat="server" EnablePaging="True" SelectCountMethod="SearchObjectItemsPagedCount"
|
||||||
|
SelectMethod="SearchObjectItemsPaged" SortParameterName="sortColumn" TypeName="WebsitePanel.Portal.PackagesHelper" OnSelected="odsObjectPaged_Selected" OnSelecting="odsObjectPaged_Selecting">
|
||||||
|
<SelectParameters>
|
||||||
|
<asp:QueryStringParameter Name="filterColumn" QueryStringField="Criteria" />
|
||||||
|
<asp:QueryStringParameter Name="filterValue" QueryStringField="Query" />
|
||||||
|
</SelectParameters>
|
||||||
|
</asp:ObjectDataSource>
|
||||||
|
|
||||||
|
<asp:ObjectDataSource ID="odsObjectTypes" runat="server" EnablePaging="false"
|
||||||
|
SelectMethod="SearchObjectTypes" SortParameterName="sortColumn" TypeName="WebsitePanel.Portal.PackagesHelper">
|
||||||
|
<SelectParameters>
|
||||||
|
<asp:QueryStringParameter Name="filterColumn" QueryStringField="Criteria" />
|
||||||
|
<asp:QueryStringParameter Name="filterValue" QueryStringField="Query" />
|
||||||
|
</SelectParameters>
|
||||||
|
</asp:ObjectDataSource>
|
||||||
|
|
||||||
|
<div id="mydialog" class="ui-popupdialog">
|
||||||
|
<div class="title">Select filter</div>
|
||||||
|
<div class="content">
|
||||||
|
<asp:GridView runat="server" DataSourceID="odsObjectTypes" SortParameterName="sortColumn" ShowHeader="false" AutoGenerateColumns="false">
|
||||||
|
<Columns>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<ItemTemplate>
|
||||||
|
<input type="checkbox" runat="server" rel='<%# Eval("ColumnType") %>'></input>
|
||||||
|
<%# Eval("ColumnType") %>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
</div>
|
||||||
|
<div class="actions">
|
||||||
|
<a id="btnSelectFilter" href="javascript: void(0)" class="ui-button">Apply</a>
|
||||||
|
<a onclick="document.body.onclick.apply(event)" href="javascript: void(0)" class="ui-button">Close</a>
|
||||||
|
<div style="clear:both"></div>
|
||||||
|
</div>
|
||||||
|
<asp:TextBox ClientIDMode="Static" ID="tbFilters" type="hidden" runat="server"></asp:TextBox>
|
||||||
|
</div>
|
|
@ -0,0 +1,86 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Web.Script.Serialization;
|
||||||
|
using WebsitePanel.WebPortal;
|
||||||
|
|
||||||
|
namespace WebsitePanel.Portal
|
||||||
|
{
|
||||||
|
public partial class SearchObject : WebsitePanelModuleBase
|
||||||
|
{
|
||||||
|
const string TYPE_WEBSITE = "WebSite";
|
||||||
|
const string TYPE_DOMAIN = "Domain";
|
||||||
|
const string TYPE_ORGANIZATION = "Organization";
|
||||||
|
const string PID_SPACE_WEBSITES = "SpaceWebSites";
|
||||||
|
const string PID_SPACE_DIMAINS = "SpaceDomains";
|
||||||
|
const string PID_SPACE_EXCHANGESERVER = "SpaceExchangeServer";
|
||||||
|
|
||||||
|
String m_strColTypes = "";
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (IsPostBack)
|
||||||
|
{
|
||||||
|
var jsonSerialiser = new JavaScriptSerializer();
|
||||||
|
String[] aTypes = jsonSerialiser.Deserialize<String[]>(tbFilters.Text);
|
||||||
|
if ((aTypes != null) && (aTypes.Length > 0))
|
||||||
|
m_strColTypes = "'" + String.Join("','", aTypes) + "'";
|
||||||
|
else
|
||||||
|
m_strColTypes = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void odsObjectPaged_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
|
||||||
|
{
|
||||||
|
e.InputParameters["colType"] = m_strColTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void odsObjectPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Exception != null)
|
||||||
|
{
|
||||||
|
ProcessException(e.Exception.InnerException);
|
||||||
|
e.ExceptionHandled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetItemPageUrl(string fullType, string itemType, int itemId, int spaceId)
|
||||||
|
{
|
||||||
|
string res = "";
|
||||||
|
if (fullType.Equals("Users"))
|
||||||
|
{
|
||||||
|
res = PortalUtils.GetUserHomePageUrl(itemId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (itemType)
|
||||||
|
{
|
||||||
|
case TYPE_WEBSITE:
|
||||||
|
res = PortalUtils.NavigatePageURL(PID_SPACE_WEBSITES, "ItemID", itemId.ToString(),
|
||||||
|
PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "edit_item",
|
||||||
|
"moduleDefId=websites");
|
||||||
|
break;
|
||||||
|
case TYPE_DOMAIN:
|
||||||
|
res = PortalUtils.NavigatePageURL(PID_SPACE_DIMAINS, "DomainID", itemId.ToString(),
|
||||||
|
PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "edit_item",
|
||||||
|
"moduleDefId=domains");
|
||||||
|
break;
|
||||||
|
case TYPE_ORGANIZATION:
|
||||||
|
res = PortalUtils.NavigatePageURL(PID_SPACE_EXCHANGESERVER, "ItemID", itemId.ToString(),
|
||||||
|
PortalUtils.SPACE_ID_PARAM + "=" + spaceId, DefaultPage.CONTROL_ID_PARAM + "=" + "organization_home",
|
||||||
|
"moduleDefId=ExchangeServer");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
res = PortalUtils.GetSpaceHomePageUrl(itemId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace WebsitePanel.Portal {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class SearchObject {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// gvObjects 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.GridView gvObjects;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// odsObjectsPaged 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.ObjectDataSource odsObjectsPaged;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// odsObjectTypes 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.ObjectDataSource odsObjectTypes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbFilters 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 tbFilters;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,13 +3,94 @@
|
||||||
<%@ Register Src="UserControls/ServerDetails.ascx" TagName="ServerDetails" TagPrefix="uc3" %>
|
<%@ Register Src="UserControls/ServerDetails.ascx" TagName="ServerDetails" TagPrefix="uc3" %>
|
||||||
<%@ Register Src="UserControls/Comments.ascx" TagName="Comments" TagPrefix="uc4" %>
|
<%@ Register Src="UserControls/Comments.ascx" TagName="Comments" TagPrefix="uc4" %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("#tbSearch").autocomplete({
|
||||||
|
zIndex: 100,
|
||||||
|
source: function (request, response) {
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
dataType: "json",
|
||||||
|
data: {
|
||||||
|
term: request.term,
|
||||||
|
fullType: 'Spaces',
|
||||||
|
itemType: $("#ddlItemType").val()
|
||||||
|
},
|
||||||
|
url: "AjaxHandler.ashx",
|
||||||
|
success: function (data) {
|
||||||
|
response($.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
label: item.TextSearch,
|
||||||
|
code: item
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
select: function (event, ui) {
|
||||||
|
var item = ui.item;
|
||||||
|
$("#ddlItemType").val(item.code.ColumnType);
|
||||||
|
$("#tbSearchFullType").val(item.code.FullType);
|
||||||
|
$("#tbSearchText").val(item.code.TextSearch);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="FormButtonsBar">
|
<div class="FormButtonsBar">
|
||||||
<asp:Panel ID="tblSearch" runat="server" DefaultButton="cmdSearch" CssClass="NormalBold">
|
<asp:Panel ID="tblSearch" runat="server" DefaultButton="ImageButton1" CssClass="NormalBold">
|
||||||
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch"></asp:Label>
|
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch"></asp:Label>
|
||||||
<asp:DropDownList ID="ddlItemType" runat="server" CssClass="NormalTextBox">
|
<div align="center">
|
||||||
</asp:DropDownList><asp:TextBox ID="txtFilterValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" SkinID="SearchButton" meta:resourcekey="cmdSearch"
|
<table>
|
||||||
CausesValidation="false" OnClick="cmdSearch_Click" />
|
<tr>
|
||||||
|
<td>
|
||||||
|
<asp:DropDownList ClientIDMode="Static" ID="ddlItemType" runat="server" CssClass="NormalTextBox">
|
||||||
|
</asp:DropDownList>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table cellpadding="0" cellspacing="0" align="right">
|
||||||
|
<tr>
|
||||||
|
<td align="left" class="SearchQuery">
|
||||||
|
<div class="ui-widget">
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearch"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
CssClass="NormalTextBox"
|
||||||
|
Width="120px"
|
||||||
|
style="vertical-align: middle; z-index: 100;"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchFullType"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchText"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
|
||||||
|
<asp:ImageButton
|
||||||
|
ID="ImageButton1"
|
||||||
|
runat="server"
|
||||||
|
SkinID="SearchButton"
|
||||||
|
OnClick="cmdSearch_Click"
|
||||||
|
CausesValidation="false"
|
||||||
|
style="vertical-align: middle;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
// bind filter
|
// bind filter
|
||||||
Utils.SelectListItem(ddlItemType, Request["ItemTypeID"]);
|
Utils.SelectListItem(ddlItemType, Request["ItemTypeID"]);
|
||||||
txtFilterValue.Text = Request["Query"];
|
tbSearch.Text = Request["Query"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,9 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
||||||
{
|
{
|
||||||
string query = txtFilterValue.Text.Trim().Replace("%", "");
|
string query = tbSearchText.Text.Trim().Replace("%", "");
|
||||||
|
if (query.Length == 0)
|
||||||
|
query = tbSearch.Text.Trim().Replace("%", "");
|
||||||
|
|
||||||
Response.Redirect(NavigateURL(
|
Response.Redirect(NavigateURL(
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
@ -68,22 +40,40 @@ namespace WebsitePanel.Portal {
|
||||||
protected global::System.Web.UI.WebControls.DropDownList ddlItemType;
|
protected global::System.Web.UI.WebControls.DropDownList ddlItemType;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtFilterValue control.
|
/// tbSearch control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.TextBox txtFilterValue;
|
protected global::System.Web.UI.WebControls.TextBox tbSearch;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// cmdSearch control.
|
/// tbSearchFullType control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.ImageButton cmdSearch;
|
protected global::System.Web.UI.WebControls.TextBox tbSearchFullType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbSearchText 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 tbSearchText;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ImageButton1 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.ImageButton ImageButton1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// gvPackages control.
|
/// gvPackages control.
|
||||||
|
|
|
@ -5,16 +5,100 @@
|
||||||
<%@ Register Src="UserControls/UserDetails.ascx" TagName="UserDetails" TagPrefix="uc2" %>
|
<%@ Register Src="UserControls/UserDetails.ascx" TagName="UserDetails" TagPrefix="uc2" %>
|
||||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("#tbSearch").autocomplete({
|
||||||
|
zIndex: 100,
|
||||||
|
source: function (request, response) {
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
dataType: "json",
|
||||||
|
data: {
|
||||||
|
term: request.term,
|
||||||
|
fullType: 'Users',
|
||||||
|
columnType: "'" + $("#ddlFilterColumn").val() + "'"
|
||||||
|
},
|
||||||
|
url: "AjaxHandler.ashx",
|
||||||
|
success: function (data) {
|
||||||
|
response($.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
label: item.TextSearch,
|
||||||
|
code: item
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
select: function (event, ui) {
|
||||||
|
var item = ui.item;
|
||||||
|
$("#ddlFilterColumn").val(item.code.ColumnType);
|
||||||
|
$("#tbSearchFullType").val(item.code.FullType);
|
||||||
|
$("#tbSearchText").val(item.code.TextSearch);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="FormButtonsBar">
|
<div class="FormButtonsBar">
|
||||||
<asp:Panel ID="tblSearch" runat="server" DefaultButton="cmdSearch" CssClass="NormalBold">
|
<asp:Panel ID="tblSearch" runat="server" CssClass="NormalBold" DefaultButton="ImageButton1">
|
||||||
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch"></asp:Label>
|
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch"></asp:Label>
|
||||||
<asp:DropDownList ID="ddlFilterColumn" runat="server" CssClass="NormalTextBox" resourcekey="ddlFilterColumn">
|
<div align="center">
|
||||||
<asp:ListItem Value="Username">Username</asp:ListItem>
|
<table>
|
||||||
<asp:ListItem Value="Email">Email</asp:ListItem>
|
<tr>
|
||||||
<asp:ListItem Value="FullName">FullName</asp:ListItem>
|
<td>
|
||||||
<asp:ListItem Value="CompanyName">CompanyName</asp:ListItem>
|
<asp:DropDownList ClientIDMode="Static" ID="ddlFilterColumn" runat="server" CssClass="NormalTextBox" resourcekey="ddlFilterColumn">
|
||||||
</asp:DropDownList><asp:TextBox ID="txtFilterValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" SkinID="SearchButton" meta:resourcekey="cmdSearch"
|
<asp:ListItem Value="Username">Username</asp:ListItem>
|
||||||
CausesValidation="false" OnClick="cmdSearch_Click" />
|
<asp:ListItem Value="Email">Email</asp:ListItem>
|
||||||
|
<asp:ListItem Value="FullName">FullName</asp:ListItem>
|
||||||
|
<asp:ListItem Value="CompanyName">CompanyName</asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table cellpadding="0" cellspacing="0" align="right">
|
||||||
|
<tr>
|
||||||
|
<td align="left" class="SearchQuery">
|
||||||
|
<div class="ui-widget">
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearch"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
CssClass="NormalTextBox"
|
||||||
|
Width="120px"
|
||||||
|
style="vertical-align: middle; z-index: 100;"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchFullType"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchText"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
|
||||||
|
<asp:ImageButton
|
||||||
|
ID="ImageButton1"
|
||||||
|
runat="server"
|
||||||
|
SkinID="SearchButton"
|
||||||
|
OnClick="cmdSearch_Click"
|
||||||
|
CausesValidation="false"
|
||||||
|
style="vertical-align: middle;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace WebsitePanel.Portal
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
Utils.SelectListItem(ddlFilterColumn, Request["Criteria"]);
|
Utils.SelectListItem(ddlFilterColumn, Request["Criteria"]);
|
||||||
txtFilterValue.Text = Request["Query"];
|
tbSearch.Text = Request["Query"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,9 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
||||||
{
|
{
|
||||||
string query = txtFilterValue.Text.Trim().Replace("%", "");
|
string query = tbSearchText.Text.Trim().Replace("%", "");
|
||||||
|
if (query.Length == 0)
|
||||||
|
query = tbSearch.Text.Trim().Replace("%", "");
|
||||||
|
|
||||||
Response.Redirect(NavigateURL(
|
Response.Redirect(NavigateURL(
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
@ -68,22 +40,40 @@ namespace WebsitePanel.Portal {
|
||||||
protected global::System.Web.UI.WebControls.DropDownList ddlFilterColumn;
|
protected global::System.Web.UI.WebControls.DropDownList ddlFilterColumn;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtFilterValue control.
|
/// tbSearch control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.TextBox txtFilterValue;
|
protected global::System.Web.UI.WebControls.TextBox tbSearch;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// cmdSearch control.
|
/// tbSearchFullType control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.ImageButton cmdSearch;
|
protected global::System.Web.UI.WebControls.TextBox tbSearchFullType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbSearchText 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 tbSearchText;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ImageButton1 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.ImageButton ImageButton1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// gvUsers control.
|
/// gvUsers control.
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 1.3
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">1.3</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1">this is my long string</data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
[base64 mime encoded serialized .NET Framework object]
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>1.3</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="gvType.Header" xml:space="preserve">
|
||||||
|
<value>Type</value>
|
||||||
|
</data>
|
||||||
|
<data name="gvText.Header" xml:space="preserve">
|
||||||
|
<value>Search text</value>
|
||||||
|
</data>
|
||||||
|
<data name="gvFullType.Header" xml:space="preserve">
|
||||||
|
<value>Full Type</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
|
@ -1,54 +1,87 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GlobalSearch.ascx.cs" Inherits="WebsitePanel.Portal.SkinControls.GlobalSearch" %>
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GlobalSearch.ascx.cs" Inherits="WebsitePanel.Portal.SkinControls.GlobalSearch" %>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.ui-menu-item a {white-space: nowrap; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("#<%= tbSearch.ClientID %>").autocomplete({
|
||||||
|
zIndex: 100,
|
||||||
|
source: function(request, response) {
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
dataType: "json",
|
||||||
|
data: {
|
||||||
|
term: request.term
|
||||||
|
},
|
||||||
|
url: "AjaxHandler.ashx",
|
||||||
|
success: function(data)
|
||||||
|
{
|
||||||
|
response($.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
label: item.TextSearch + " [" + item.FullType + "]",
|
||||||
|
code: item
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
select: function (event, ui) {
|
||||||
|
var item = ui.item;
|
||||||
|
$("#<%= tbSearchColumnType.ClientID %>").val(item.code.ColumnType);
|
||||||
|
$("#<%= tbSearchFullType.ClientID %>").val(item.code.FullType);
|
||||||
|
$("#<%= tbSearchText.ClientID %>").val(item.code.TextSearch);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
<asp:UpdatePanel runat="server" ID="updatePanelUsers" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
<asp:UpdatePanel runat="server" ID="updatePanelUsers" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<table cellpadding="0" cellspacing="0" align="right">
|
<table cellpadding="0" cellspacing="0" align="right">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="left">
|
<td align="left" class="SearchQuery">
|
||||||
<asp:DataList ID="dlTabs" runat="server" RepeatDirection="Horizontal"
|
<div class="ui-widget">
|
||||||
OnSelectedIndexChanged="dlTabs_SelectedIndexChanged" RepeatLayout="Table">
|
<asp:TextBox
|
||||||
<ItemStyle Wrap="false" VerticalAlign="Top" />
|
ID="tbSearch"
|
||||||
<ItemTemplate>
|
runat="server"
|
||||||
<asp:LinkButton ID="lnkTab" runat="server" CommandName="select"
|
CssClass="NormalTextBox"
|
||||||
CausesValidation="false" CssClass="SearchMethod">
|
Width="120px"
|
||||||
<%# Eval("Name") %>
|
style="vertical-align: middle; z-index: 100;"
|
||||||
</asp:LinkButton>
|
>
|
||||||
</ItemTemplate>
|
</asp:TextBox>
|
||||||
<SelectedItemStyle Wrap="false" />
|
<asp:TextBox
|
||||||
<SelectedItemTemplate>
|
ID="tbSearchColumnType"
|
||||||
<table cellpadding="0" cellspacing="0">
|
runat="server"
|
||||||
<tr>
|
type="hidden"
|
||||||
<td class="SearchMethodSide" valign="top"></td>
|
>
|
||||||
<td class="SearchMethodSelected" valign="top"><%# Eval("Name")%></td>
|
</asp:TextBox>
|
||||||
<td class="SearchMethodSide" valign="top"></td>
|
<asp:TextBox
|
||||||
</tr>
|
ID="tbSearchFullType"
|
||||||
</table>
|
runat="server"
|
||||||
</SelectedItemTemplate>
|
type="hidden"
|
||||||
</asp:DataList>
|
>
|
||||||
</td>
|
</asp:TextBox>
|
||||||
</tr>
|
<asp:TextBox
|
||||||
<tr>
|
ID="tbSearchText"
|
||||||
<td align="left" class="SearchQuery">
|
runat="server"
|
||||||
<asp:MultiView ID="tabs" runat="server" ActiveViewIndex="0">
|
type="hidden"
|
||||||
<asp:View ID="tabSearchUsers" runat="server">
|
>
|
||||||
<asp:Panel ID="pnlSearchUsers" runat="server" DefaultButton="btnSearchUsers">
|
</asp:TextBox>
|
||||||
<asp:DropDownList ID="ddlUserFields" runat="server" resourcekey="ddlUserFields" CssClass="NormalTextBox" Width="150px" style="vertical-align: middle;">
|
|
||||||
<asp:ListItem Value="Username">Username</asp:ListItem>
|
|
||||||
<asp:ListItem Value="Email">Email</asp:ListItem>
|
|
||||||
<asp:ListItem Value="FullName">FullName</asp:ListItem>
|
|
||||||
<asp:ListItem Value="CompanyName">CompanyName</asp:ListItem>
|
|
||||||
</asp:DropDownList><asp:TextBox ID="txtUsersQuery" runat="server" CssClass="NormalTextBox" Width="120px" style="vertical-align: middle;"></asp:TextBox><asp:ImageButton ID="btnSearchUsers" runat="server" SkinID="SearchButton" OnClick="btnSearchUsers_Click" CausesValidation="false" style="vertical-align: middle;" />
|
|
||||||
</asp:Panel>
|
|
||||||
</asp:View>
|
|
||||||
<asp:View ID="tabSearchSpaces" runat="server">
|
|
||||||
<asp:Panel ID="pnlSearchSpaces" runat="server" DefaultButton="btnSearchSpaces">
|
|
||||||
<asp:DropDownList ID="ddlItemType" runat="server" Width="150px" CssClass="NormalTextBox" style="vertical-align: middle;">
|
|
||||||
</asp:DropDownList><asp:TextBox ID="txtSpacesQuery" runat="server" CssClass="NormalTextBox" Width="120px" style="vertical-align: middle;"></asp:TextBox><asp:ImageButton ID="btnSearchSpaces" runat="server" SkinID="SearchButton" OnClick="btnSearchSpaces_Click" CausesValidation="false" style="vertical-align: middle;" />
|
|
||||||
</asp:Panel>
|
|
||||||
</asp:View>
|
|
||||||
</asp:MultiView>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
<asp:ImageButton
|
||||||
|
ID="ImageButton1"
|
||||||
|
runat="server"
|
||||||
|
SkinID="SearchButton"
|
||||||
|
OnClick="btnSearchObject_Click"
|
||||||
|
CausesValidation="false"
|
||||||
|
style="vertical-align: middle;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
|
@ -70,32 +70,20 @@ namespace WebsitePanel.Portal.SkinControls
|
||||||
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if(!IsPostBack)
|
ClientScriptManager cs = Page.ClientScript;
|
||||||
|
cs.RegisterClientScriptInclude("jquery",ResolveUrl("~/JavaScript/jquery-1.4.4.min.js"));
|
||||||
|
cs.RegisterClientScriptInclude("jqueryui",ResolveUrl("~/JavaScript/jquery-ui-1.8.9.min.js"));
|
||||||
|
// cs.RegisterClientScriptBlock(this.GetType(), "jquerycss",
|
||||||
|
// "<link rel='stylesheet' type='text/css' href='" + ResolveUrl("~/App_Themes/Default/Styles/jquery-ui-1.8.9.css") + "' />");
|
||||||
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
BindTabs();
|
|
||||||
BindItemTypes();
|
BindItemTypes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindTabs()
|
|
||||||
{
|
|
||||||
List<Tab> tabsList = new List<Tab>();
|
|
||||||
if (PanelSecurity.EffectiveUser.Role != UserRole.User)
|
|
||||||
tabsList.Add(new Tab(0, GetLocalizedString("Users.Text")));
|
|
||||||
|
|
||||||
tabsList.Add(new Tab(1, GetLocalizedString("Spaces.Text")));
|
|
||||||
|
|
||||||
if(dlTabs.SelectedIndex == -1)
|
|
||||||
dlTabs.SelectedIndex = 0;
|
|
||||||
dlTabs.DataSource = tabsList.ToArray();
|
|
||||||
dlTabs.DataBind();
|
|
||||||
|
|
||||||
tabs.ActiveViewIndex = tabsList[dlTabs.SelectedIndex].Index;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void BindItemTypes()
|
private void BindItemTypes()
|
||||||
{
|
{
|
||||||
// bind item types
|
/* // bind item types
|
||||||
DataTable dtItemTypes = ES.Services.Packages.GetSearchableServiceItemTypes().Tables[0];
|
DataTable dtItemTypes = ES.Services.Packages.GetSearchableServiceItemTypes().Tables[0];
|
||||||
foreach (DataRow dr in dtItemTypes.Rows)
|
foreach (DataRow dr in dtItemTypes.Rows)
|
||||||
{
|
{
|
||||||
|
@ -108,28 +96,63 @@ namespace WebsitePanel.Portal.SkinControls
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
ddlItemType.Items.Add(new ListItem(localizedStr, dr["ItemTypeID"].ToString()));
|
ddlItemType.Items.Add(new ListItem(localizedStr, dr["ItemTypeID"].ToString()));
|
||||||
}
|
} */
|
||||||
}
|
|
||||||
|
|
||||||
protected void dlTabs_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
BindTabs();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void btnSearchUsers_Click(object sender, EventArgs e)
|
protected void btnSearchUsers_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetUsersSearchPageId(),
|
/* Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetUsersSearchPageId(),
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
"Query=" + Server.UrlEncode(txtUsersQuery.Text),
|
"Query=" + Server.UrlEncode(txtUsersQuery.Text),
|
||||||
"Criteria=" + ddlUserFields.SelectedValue));
|
"Criteria=" + ddlUserFields.SelectedValue)); */
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void btnSearchSpaces_Click(object sender, EventArgs e)
|
protected void btnSearchSpaces_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetSpacesSearchPageId(),
|
/* Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetSpacesSearchPageId(),
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
"Query=" + Server.UrlEncode(txtSpacesQuery.Text),
|
"Query=" + Server.UrlEncode(txtSpacesQuery.Text),
|
||||||
"ItemTypeID=" + ddlItemType.SelectedValue));
|
"ItemTypeID=" + ddlItemType.SelectedValue)); */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO START
|
||||||
|
protected void btnSearchObject_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
String strColumnType = tbSearchColumnType.Text;
|
||||||
|
String strFullType = tbSearchFullType.Text;
|
||||||
|
String strText = tbSearchText.Text;
|
||||||
|
if (strText.Length > 0)
|
||||||
|
{
|
||||||
|
if (strFullType == "Users")
|
||||||
|
{
|
||||||
|
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetUsersSearchPageId(),
|
||||||
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
"Query=" + Server.UrlEncode(strText),
|
||||||
|
"Criteria=" + Server.UrlEncode(strColumnType)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
else if (strFullType == "Space")
|
||||||
|
{
|
||||||
|
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetSpacesSearchPageId(),
|
||||||
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
"Query=" + Server.UrlEncode(strText),
|
||||||
|
"Criteria=" + Server.UrlEncode(strColumnType)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetObjectSearchPageId(),
|
||||||
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
"Query=" + Server.UrlEncode(strText)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Response.Redirect(PortalUtils.NavigatePageURL(PortalUtils.GetObjectSearchPageId(),
|
||||||
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
"Query=" + Server.UrlEncode(tbSearch.Text)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//TODO END
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
@ -50,111 +22,48 @@ namespace WebsitePanel.Portal.SkinControls {
|
||||||
protected global::System.Web.UI.UpdatePanel updatePanelUsers;
|
protected global::System.Web.UI.UpdatePanel updatePanelUsers;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// dlTabs control.
|
/// tbSearch control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.DataList dlTabs;
|
protected global::System.Web.UI.WebControls.TextBox tbSearch;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// tabs control.
|
/// tbSearchColumnType control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.MultiView tabs;
|
protected global::System.Web.UI.WebControls.TextBox tbSearchColumnType;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// tabSearchUsers control.
|
/// tbSearchFullType control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.View tabSearchUsers;
|
protected global::System.Web.UI.WebControls.TextBox tbSearchFullType;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// pnlSearchUsers control.
|
/// tbSearchText control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Panel pnlSearchUsers;
|
protected global::System.Web.UI.WebControls.TextBox tbSearchText;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ddlUserFields control.
|
/// ImageButton1 control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.DropDownList ddlUserFields;
|
protected global::System.Web.UI.WebControls.ImageButton ImageButton1;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// txtUsersQuery 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 txtUsersQuery;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// btnSearchUsers 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.ImageButton btnSearchUsers;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// tabSearchSpaces 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.View tabSearchSpaces;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// pnlSearchSpaces 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.Panel pnlSearchSpaces;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ddlItemType 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.DropDownList ddlItemType;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// txtSpacesQuery 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 txtSpacesQuery;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// btnSearchSpaces 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.ImageButton btnSearchSpaces;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,95 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchBox.ascx.cs" Inherits="WebsitePanel.Portal.SearchBox" %>
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchBox.ascx.cs" Inherits="WebsitePanel.Portal.SearchBox" %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("#tbSearch").keypress(function () {
|
||||||
|
$("#tbSearchText").val('');
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#tbSearch").autocomplete({
|
||||||
|
zIndex: 100,
|
||||||
|
source: function (request, response) {
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
dataType: "json",
|
||||||
|
data: {
|
||||||
|
term: request.term,
|
||||||
|
fullType: '',
|
||||||
|
columnType: "'" + $("#ddlFilterColumn").val() + "'"
|
||||||
|
},
|
||||||
|
url: "AjaxHandler.ashx",
|
||||||
|
success: function (data) {
|
||||||
|
response($.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
label: item.TextSearch,
|
||||||
|
code: item
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
select: function (event, ui) {
|
||||||
|
var item = ui.item;
|
||||||
|
$("#ddlFilterColumn").val(item.code.ColumnType);
|
||||||
|
$("#tbSearchFullType").val(item.code.FullType);
|
||||||
|
$("#tbSearchText").val(item.code.TextSearch);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
<asp:Panel ID="tblSearch" runat="server" DefaultButton="cmdSearch" CssClass="NormalBold">
|
<asp:Panel ID="tblSearch" runat="server" DefaultButton="cmdSearch" CssClass="NormalBold">
|
||||||
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch" Visible="false"></asp:Label>
|
<asp:Label ID="lblSearch" runat="server" meta:resourcekey="lblSearch" Visible="false"></asp:Label>
|
||||||
<asp:DropDownList ID="ddlFilterColumn" runat="server" CssClass="NormalTextBox" style="vertical-align: middle;">
|
|
||||||
</asp:DropDownList><asp:TextBox ID="txtFilterValue" runat="server" CssClass="NormalTextBox" Width="100" style="vertical-align: middle;"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton"
|
<table>
|
||||||
CausesValidation="false" style="vertical-align: middle;"/>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<asp:DropDownList ClientIDMode="Static" ID="ddlFilterColumn" runat="server" CssClass="NormalTextBox" resourcekey="ddlFilterColumn">
|
||||||
|
</asp:DropDownList>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table cellpadding="0" cellspacing="0" align="right">
|
||||||
|
<tr>
|
||||||
|
<td align="left" class="SearchQuery">
|
||||||
|
<div class="ui-widget">
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearch"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
CssClass="NormalTextBox"
|
||||||
|
Width="120px"
|
||||||
|
style="vertical-align: middle; z-index: 100;"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchFullType"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
<asp:TextBox
|
||||||
|
ID="tbSearchText"
|
||||||
|
ClientIDMode="Static"
|
||||||
|
runat="server"
|
||||||
|
type="hidden"
|
||||||
|
>
|
||||||
|
</asp:TextBox>
|
||||||
|
|
||||||
|
<asp:ImageButton
|
||||||
|
ID="cmdSearch"
|
||||||
|
runat="server"
|
||||||
|
SkinID="SearchButton"
|
||||||
|
CausesValidation="false"
|
||||||
|
OnClick="cmdSearch_Click"
|
||||||
|
style="vertical-align: middle;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
|
@ -60,13 +60,23 @@ namespace WebsitePanel.Portal
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
string val = txtFilterValue.Text.Trim();
|
string val = tbSearchText.Text.Trim();
|
||||||
|
string valText = tbSearch.Text.Trim();
|
||||||
|
if (valText.Length == 0)
|
||||||
|
val = valText;
|
||||||
|
if (val.Length == 0)
|
||||||
|
val = tbSearch.Text.Trim();
|
||||||
val = val.Replace("%", "");
|
val = val.Replace("%", "");
|
||||||
return "%" + val + "%";
|
return "%" + val + "%";
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
txtFilterValue.Text = value;
|
if (value != null)
|
||||||
|
{
|
||||||
|
value = value.Replace("%", "");
|
||||||
|
tbSearch.Text = value;
|
||||||
|
tbSearchText.Text = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +93,15 @@ namespace WebsitePanel.Portal
|
||||||
public override void Focus()
|
public override void Focus()
|
||||||
{
|
{
|
||||||
base.Focus();
|
base.Focus();
|
||||||
txtFilterValue.Focus();
|
tbSearch.Focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
||||||
|
{
|
||||||
|
Response.Redirect(NavigatePageURL(PortalUtils.GetUserCustomersPageId(),
|
||||||
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
||||||
|
"FilterColumn=" + ddlFilterColumn.SelectedValue,
|
||||||
|
"FilterValue=" + Server.UrlEncode(FilterValue)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,6 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.3053
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -69,13 +40,31 @@ namespace WebsitePanel.Portal {
|
||||||
protected global::System.Web.UI.WebControls.DropDownList ddlFilterColumn;
|
protected global::System.Web.UI.WebControls.DropDownList ddlFilterColumn;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtFilterValue control.
|
/// tbSearch control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.TextBox txtFilterValue;
|
protected global::System.Web.UI.WebControls.TextBox tbSearch;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbSearchFullType 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 tbSearchFullType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbSearchText 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 tbSearchText;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// cmdSearch control.
|
/// cmdSearch control.
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserCustomersSummary.ascx.cs" Inherits="WebsitePanel.Portal.UserCustomersSummary" %>
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserCustomersSummary.ascx.cs" Inherits="WebsitePanel.Portal.UserCustomersSummary" %>
|
||||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="UserControls/CollapsiblePanel.ascx" %>
|
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="UserControls/CollapsiblePanel.ascx" %>
|
||||||
|
<%@ Register Src="UserControls/SearchBox.ascx" TagName="SearchBox" TagPrefix="uc1" %>
|
||||||
|
|
||||||
<%@ Import Namespace="WebsitePanel.Portal" %>
|
<%@ Import Namespace="WebsitePanel.Portal" %>
|
||||||
<div class="FormButtonsBar">
|
<div class="FormButtonsBar">
|
||||||
<div class="Left">
|
<div class="Left">
|
||||||
|
@ -7,14 +9,8 @@
|
||||||
runat="server" CssClass="Button1"></asp:Button>
|
runat="server" CssClass="Button1"></asp:Button>
|
||||||
</div>
|
</div>
|
||||||
<div class="Right">
|
<div class="Right">
|
||||||
<asp:Panel ID="tblSearch" runat="server" DefaultButton="cmdSearch" CssClass="NormalBold">
|
<asp:Panel ID="tblSearch" runat="server" CssClass="NormalBold">
|
||||||
<asp:DropDownList ID="ddlFilterColumn" runat="server" resourcekey="ddlFilterColumn" CssClass="NormalTextBox" style="vertical-align: middle;">
|
<uc1:SearchBox ID="searchBox" runat="server" />
|
||||||
<asp:ListItem Value="Username">Username</asp:ListItem>
|
|
||||||
<asp:ListItem Value="Email">E-mail</asp:ListItem>
|
|
||||||
<asp:ListItem Value="FullName">FullName</asp:ListItem>
|
|
||||||
<asp:ListItem Value="CompanyName">CompanyName</asp:ListItem>
|
|
||||||
</asp:DropDownList><asp:TextBox ID="txtFilterValue" runat="server" CssClass="NormalTextBox" Width="100" style="vertical-align: middle;"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton"
|
|
||||||
CausesValidation="false" OnClick="cmdSearch_Click" style="vertical-align: middle;"/>
|
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -46,7 +46,13 @@ namespace WebsitePanel.Portal
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString());
|
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString());
|
||||||
|
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
txtFilterValue.Focus();
|
{
|
||||||
|
searchBox.AddCriteria("Username", GetLocalizedString("SearchField.Username"));
|
||||||
|
searchBox.AddCriteria("FullName", GetLocalizedString("SearchField.Name"));
|
||||||
|
searchBox.AddCriteria("Email", GetLocalizedString("SearchField.EMail"));
|
||||||
|
searchBox.AddCriteria("CompanyName", GetLocalizedString("SearchField.CompanyName"));
|
||||||
|
searchBox.Focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindGroupings()
|
private void BindGroupings()
|
||||||
|
@ -73,14 +79,6 @@ namespace WebsitePanel.Portal
|
||||||
parameterName + "=" + parameterValue);
|
parameterName + "=" + parameterValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
|
||||||
{
|
|
||||||
Response.Redirect(NavigatePageURL(PortalUtils.GetUserCustomersPageId(),
|
|
||||||
PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(),
|
|
||||||
"FilterColumn=" + ddlFilterColumn.SelectedValue,
|
|
||||||
"FilterValue=" + Server.UrlEncode(txtFilterValue.Text)));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void btnCreate_Click(object sender, EventArgs e)
|
protected void btnCreate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Response.Redirect(EditUrl(PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(), "create_user"));
|
Response.Redirect(EditUrl(PortalUtils.USER_ID_PARAM, PanelSecurity.SelectedUserId.ToString(), "create_user"));
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
@ -59,31 +31,13 @@ namespace WebsitePanel.Portal {
|
||||||
protected global::System.Web.UI.WebControls.Panel tblSearch;
|
protected global::System.Web.UI.WebControls.Panel tblSearch;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ddlFilterColumn control.
|
/// searchBox control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.DropDownList ddlFilterColumn;
|
protected global::WebsitePanel.Portal.SearchBox searchBox;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// txtFilterValue 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 txtFilterValue;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// cmdSearch 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.ImageButton cmdSearch;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// allCustomers control.
|
/// allCustomers control.
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<%@ Register Src="UserOrganization.ascx" TagName="UserOrganization" TagPrefix="wsp" %>
|
<%@ Register Src="UserOrganization.ascx" TagName="UserOrganization" TagPrefix="wsp" %>
|
||||||
<%@ Import Namespace="WebsitePanel.Portal" %>
|
<%@ Import Namespace="WebsitePanel.Portal" %>
|
||||||
|
|
||||||
<script src="/JavaScript/jquery-1.4.4.min.js" type="text/javascript"></script>
|
|
||||||
<script src="/JavaScript/chosen.min.js" type="text/javascript"></script>
|
<script src="/JavaScript/chosen.min.js" type="text/javascript"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
|
@ -53,7 +53,8 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
ClientScriptManager cs = Page.ClientScript;
|
||||||
|
cs.RegisterClientScriptInclude("jquery", ResolveUrl("~/JavaScript/jquery-1.4.4.min.js"));
|
||||||
// check for user
|
// check for user
|
||||||
bool isUser = PanelSecurity.SelectedUser.Role == UserRole.User;
|
bool isUser = PanelSecurity.SelectedUser.Role == UserRole.User;
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
|
|
@ -153,6 +153,7 @@
|
||||||
<Compile Include="Code\Framework\ISchedulerTaskView.cs" />
|
<Compile Include="Code\Framework\ISchedulerTaskView.cs" />
|
||||||
<Compile Include="Code\Framework\WebPortalPageTitleProvider.cs" />
|
<Compile Include="Code\Framework\WebPortalPageTitleProvider.cs" />
|
||||||
<Compile Include="Code\Framework\WebPortalThemeProvider.cs" />
|
<Compile Include="Code\Framework\WebPortalThemeProvider.cs" />
|
||||||
|
<Compile Include="Code\Helpers\AjaxHandler.cs" />
|
||||||
<Compile Include="Code\Helpers\AppInstallerHelpers.cs" />
|
<Compile Include="Code\Helpers\AppInstallerHelpers.cs" />
|
||||||
<Compile Include="Code\Framework\WebsitePanelControlBase.cs">
|
<Compile Include="Code\Framework\WebsitePanelControlBase.cs">
|
||||||
<SubType>ASPXCodeBehind</SubType>
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
@ -310,6 +311,13 @@
|
||||||
<Compile Include="ProviderControls\HyperV2012R2_Settings.ascx.designer.cs">
|
<Compile Include="ProviderControls\HyperV2012R2_Settings.ascx.designer.cs">
|
||||||
<DependentUpon>HyperV2012R2_Settings.ascx</DependentUpon>
|
<DependentUpon>HyperV2012R2_Settings.ascx</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="SearchObject.ascx.cs">
|
||||||
|
<DependentUpon>SearchObject.ascx</DependentUpon>
|
||||||
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SearchObject.ascx.designer.cs">
|
||||||
|
<DependentUpon>SearchObject.ascx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="VPS2012\RemoteDesktop\Connect.aspx.cs">
|
<Compile Include="VPS2012\RemoteDesktop\Connect.aspx.cs">
|
||||||
<DependentUpon>Connect.aspx</DependentUpon>
|
<DependentUpon>Connect.aspx</DependentUpon>
|
||||||
<SubType>ASPXCodeBehind</SubType>
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
@ -4820,6 +4828,7 @@
|
||||||
<Content Include="HostedSharePoint\HostedSharePointEnterpriseStorageSettings.ascx" />
|
<Content Include="HostedSharePoint\HostedSharePointEnterpriseStorageSettings.ascx" />
|
||||||
<Content Include="HostedSharePoint\HostedSharePointEnterpriseStorageUsage.ascx" />
|
<Content Include="HostedSharePoint\HostedSharePointEnterpriseStorageUsage.ascx" />
|
||||||
<Content Include="ProviderControls\HyperV2012R2_Settings.ascx" />
|
<Content Include="ProviderControls\HyperV2012R2_Settings.ascx" />
|
||||||
|
<Content Include="SearchObject.ascx" />
|
||||||
<Content Include="VPS2012\RemoteDesktop\Connect.aspx" />
|
<Content Include="VPS2012\RemoteDesktop\Connect.aspx" />
|
||||||
<Content Include="VPS2012\RemoteDesktop\msrdp.cab" />
|
<Content Include="VPS2012\RemoteDesktop\msrdp.cab" />
|
||||||
<Content Include="VPS2012\TestVirtualMachineTemplate.aspx" />
|
<Content Include="VPS2012\TestVirtualMachineTemplate.aspx" />
|
||||||
|
@ -5120,6 +5129,7 @@
|
||||||
<Content Include="UserControls\App_LocalResources\UserActions.ascx.resx" />
|
<Content Include="UserControls\App_LocalResources\UserActions.ascx.resx" />
|
||||||
<Content Include="UserControls\App_LocalResources\DomainActions.ascx.resx" />
|
<Content Include="UserControls\App_LocalResources\DomainActions.ascx.resx" />
|
||||||
<Content Include="UserControls\App_LocalResources\MailAccountActions.ascx.resx" />
|
<Content Include="UserControls\App_LocalResources\MailAccountActions.ascx.resx" />
|
||||||
|
<Content Include="SkinControls\App_LocalResources\SearchObject.ascx.resx" />
|
||||||
<EmbeddedResource Include="UserControls\App_LocalResources\WebsiteActions.ascx.resx" />
|
<EmbeddedResource Include="UserControls\App_LocalResources\WebsiteActions.ascx.resx" />
|
||||||
<Content Include="VPS\UserControls\App_LocalResources\Generation.ascx.resx">
|
<Content Include="VPS\UserControls\App_LocalResources\Generation.ascx.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
var estop = function (e) {
|
||||||
|
if (!e) e = window.event;
|
||||||
|
e.cancelBubble = true;
|
||||||
|
if (e.stopPropagation) e.stopPropagation();
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
var CPopupDialog = function (el, e) {
|
||||||
|
if (typeof el == 'string')
|
||||||
|
el = document.getElementById(el);
|
||||||
|
e = estop(e);
|
||||||
|
|
||||||
|
var oldclick = document.body.onclick;
|
||||||
|
el.onclick = estop;
|
||||||
|
|
||||||
|
function close() {
|
||||||
|
el.style.display = "none";
|
||||||
|
document.body.onclick = oldclick;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show(x, y) {
|
||||||
|
el.style.left = x ? x : e.clientX + document.documentElement.scrollLeft + "px";
|
||||||
|
el.style.top = y ? y : e.clientY + document.documentElement.scrollTop + "px";
|
||||||
|
el.style.display = "block";
|
||||||
|
document.body.onclick = close;
|
||||||
|
}
|
||||||
|
|
||||||
|
show();
|
||||||
|
}
|
|
@ -79,6 +79,10 @@
|
||||||
<HintPath>..\..\Lib\Microsoft.Web.Services3.dll</HintPath>
|
<HintPath>..\..\Lib\Microsoft.Web.Services3.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.6.0.6\lib\net35\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
@ -317,6 +321,7 @@
|
||||||
<Content Include="App_Data\ESModule_ControlsHierarchy.config">
|
<Content Include="App_Data\ESModule_ControlsHierarchy.config">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="AjaxHandler.ashx" />
|
||||||
<None Include="App_Data\SupportedThemes.config" />
|
<None Include="App_Data\SupportedThemes.config" />
|
||||||
<None Include="App_Data\Countries.config" />
|
<None Include="App_Data\Countries.config" />
|
||||||
<None Include="App_Data\CountryStates.config" />
|
<None Include="App_Data\CountryStates.config" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue