RDS UI changes

This commit is contained in:
vfedosevich 2015-01-22 06:49:15 -08:00
parent 3dcf48966a
commit 34d0c3b6e2
14 changed files with 257 additions and 170 deletions

View file

@ -7791,7 +7791,7 @@ RETURN
GO GO
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteOrganizationDeletedUser') IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteOrganizationDeletedUser')
DROP PROCEDURE [dbo].[GetOrganizationDeletedUser] DROP PROCEDURE [dbo].[DeleteOrganizationDeletedUser]
GO GO
CREATE PROCEDURE [dbo].[DeleteOrganizationDeletedUser] CREATE PROCEDURE [dbo].[DeleteOrganizationDeletedUser]

View file

@ -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.
@ -116,6 +88,10 @@ namespace WebsitePanel.EnterpriseServer {
private System.Threading.SendOrPostCallback GetOrganizationRdsUsersCountOperationCompleted; private System.Threading.SendOrPostCallback GetOrganizationRdsUsersCountOperationCompleted;
private System.Threading.SendOrPostCallback GetOrganizationRdsServersCountOperationCompleted;
private System.Threading.SendOrPostCallback GetOrganizationRdsCollectionsCountOperationCompleted;
private System.Threading.SendOrPostCallback GetApplicationUsersOperationCompleted; private System.Threading.SendOrPostCallback GetApplicationUsersOperationCompleted;
private System.Threading.SendOrPostCallback SetApplicationUsersOperationCompleted; private System.Threading.SendOrPostCallback SetApplicationUsersOperationCompleted;
@ -212,6 +188,12 @@ namespace WebsitePanel.EnterpriseServer {
/// <remarks/> /// <remarks/>
public event GetOrganizationRdsUsersCountCompletedEventHandler GetOrganizationRdsUsersCountCompleted; public event GetOrganizationRdsUsersCountCompletedEventHandler GetOrganizationRdsUsersCountCompleted;
/// <remarks/>
public event GetOrganizationRdsServersCountCompletedEventHandler GetOrganizationRdsServersCountCompleted;
/// <remarks/>
public event GetOrganizationRdsCollectionsCountCompletedEventHandler GetOrganizationRdsCollectionsCountCompleted;
/// <remarks/> /// <remarks/>
public event GetApplicationUsersCompletedEventHandler GetApplicationUsersCompleted; public event GetApplicationUsersCompletedEventHandler GetApplicationUsersCompleted;
@ -302,11 +284,11 @@ namespace WebsitePanel.EnterpriseServer {
/// <remarks/> /// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddRdsCollection", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddRdsCollection", 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 ResultObject AddRdsCollection(int itemId, RdsCollection collection) { public int AddRdsCollection(int itemId, RdsCollection collection) {
object[] results = this.Invoke("AddRdsCollection", new object[] { object[] results = this.Invoke("AddRdsCollection", new object[] {
itemId, itemId,
collection}); collection});
return ((ResultObject)(results[0])); return ((int)(results[0]));
} }
/// <remarks/> /// <remarks/>
@ -317,9 +299,9 @@ namespace WebsitePanel.EnterpriseServer {
} }
/// <remarks/> /// <remarks/>
public ResultObject EndAddRdsCollection(System.IAsyncResult asyncResult) { public int EndAddRdsCollection(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult); object[] results = this.EndInvoke(asyncResult);
return ((ResultObject)(results[0])); return ((int)(results[0]));
} }
/// <remarks/> /// <remarks/>
@ -1544,6 +1526,88 @@ namespace WebsitePanel.EnterpriseServer {
} }
} }
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetOrganizationRdsServersCount", 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 int GetOrganizationRdsServersCount(int itemId) {
object[] results = this.Invoke("GetOrganizationRdsServersCount", new object[] {
itemId});
return ((int)(results[0]));
}
/// <remarks/>
public System.IAsyncResult BeginGetOrganizationRdsServersCount(int itemId, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("GetOrganizationRdsServersCount", new object[] {
itemId}, callback, asyncState);
}
/// <remarks/>
public int EndGetOrganizationRdsServersCount(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((int)(results[0]));
}
/// <remarks/>
public void GetOrganizationRdsServersCountAsync(int itemId) {
this.GetOrganizationRdsServersCountAsync(itemId, null);
}
/// <remarks/>
public void GetOrganizationRdsServersCountAsync(int itemId, object userState) {
if ((this.GetOrganizationRdsServersCountOperationCompleted == null)) {
this.GetOrganizationRdsServersCountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationRdsServersCountOperationCompleted);
}
this.InvokeAsync("GetOrganizationRdsServersCount", new object[] {
itemId}, this.GetOrganizationRdsServersCountOperationCompleted, userState);
}
private void OnGetOrganizationRdsServersCountOperationCompleted(object arg) {
if ((this.GetOrganizationRdsServersCountCompleted != null)) {
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
this.GetOrganizationRdsServersCountCompleted(this, new GetOrganizationRdsServersCountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
}
}
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetOrganizationRdsCollectionsCount", 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 int GetOrganizationRdsCollectionsCount(int itemId) {
object[] results = this.Invoke("GetOrganizationRdsCollectionsCount", new object[] {
itemId});
return ((int)(results[0]));
}
/// <remarks/>
public System.IAsyncResult BeginGetOrganizationRdsCollectionsCount(int itemId, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("GetOrganizationRdsCollectionsCount", new object[] {
itemId}, callback, asyncState);
}
/// <remarks/>
public int EndGetOrganizationRdsCollectionsCount(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((int)(results[0]));
}
/// <remarks/>
public void GetOrganizationRdsCollectionsCountAsync(int itemId) {
this.GetOrganizationRdsCollectionsCountAsync(itemId, null);
}
/// <remarks/>
public void GetOrganizationRdsCollectionsCountAsync(int itemId, object userState) {
if ((this.GetOrganizationRdsCollectionsCountOperationCompleted == null)) {
this.GetOrganizationRdsCollectionsCountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationRdsCollectionsCountOperationCompleted);
}
this.InvokeAsync("GetOrganizationRdsCollectionsCount", new object[] {
itemId}, this.GetOrganizationRdsCollectionsCountOperationCompleted, userState);
}
private void OnGetOrganizationRdsCollectionsCountOperationCompleted(object arg) {
if ((this.GetOrganizationRdsCollectionsCountCompleted != null)) {
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
this.GetOrganizationRdsCollectionsCountCompleted(this, new GetOrganizationRdsCollectionsCountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
}
}
/// <remarks/> /// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetApplicationUsers", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetApplicationUsers", 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 string[] GetApplicationUsers(int itemId, int collectionId, RemoteApplication remoteApp) { public string[] GetApplicationUsers(int itemId, int collectionId, RemoteApplication remoteApp) {
@ -1717,10 +1781,10 @@ namespace WebsitePanel.EnterpriseServer {
} }
/// <remarks/> /// <remarks/>
public ResultObject Result { public int Result {
get { get {
this.RaiseExceptionIfNecessary(); this.RaiseExceptionIfNecessary();
return ((ResultObject)(this.results[0])); return ((int)(this.results[0]));
} }
} }
} }
@ -2401,6 +2465,58 @@ namespace WebsitePanel.EnterpriseServer {
} }
} }
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationRdsServersCountCompletedEventHandler(object sender, GetOrganizationRdsServersCountCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationRdsServersCountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
private object[] results;
internal GetOrganizationRdsServersCountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState) {
this.results = results;
}
/// <remarks/>
public int Result {
get {
this.RaiseExceptionIfNecessary();
return ((int)(this.results[0]));
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationRdsCollectionsCountCompletedEventHandler(object sender, GetOrganizationRdsCollectionsCountCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationRdsCollectionsCountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
private object[] results;
internal GetOrganizationRdsCollectionsCountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState) {
this.results = results;
}
/// <remarks/>
public int Result {
get {
this.RaiseExceptionIfNecessary();
return ((int)(this.results[0]));
}
}
}
/// <remarks/> /// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetApplicationUsersCompletedEventHandler(object sender, GetApplicationUsersCompletedEventArgs e); public delegate void GetApplicationUsersCompletedEventHandler(object sender, GetApplicationUsersCompletedEventArgs e);

View file

@ -63,7 +63,7 @@ namespace WebsitePanel.EnterpriseServer
return GetOrganizationRdsCollectionsInternal(itemId); return GetOrganizationRdsCollectionsInternal(itemId);
} }
public static ResultObject AddRdsCollection(int itemId, RdsCollection collection) public static int AddRdsCollection(int itemId, RdsCollection collection)
{ {
return AddRdsCollectionInternal(itemId, collection); return AddRdsCollectionInternal(itemId, collection);
} }
@ -265,7 +265,7 @@ namespace WebsitePanel.EnterpriseServer
return collections; return collections;
} }
private static ResultObject AddRdsCollectionInternal(int itemId, RdsCollection collection) private static int AddRdsCollectionInternal(int itemId, RdsCollection collection)
{ {
var result = TaskManager.StartResultTask<ResultObject>("REMOTE_DESKTOP_SERVICES", "ADD_RDS_COLLECTION"); var result = TaskManager.StartResultTask<ResultObject>("REMOTE_DESKTOP_SERVICES", "ADD_RDS_COLLECTION");
@ -275,9 +275,7 @@ namespace WebsitePanel.EnterpriseServer
Organization org = OrganizationController.GetOrganization(itemId); Organization org = OrganizationController.GetOrganization(itemId);
if (org == null) if (org == null)
{ {
result.IsSuccess = false; return -1;
result.AddError("", new NullReferenceException("Organization not found"));
return result;
} }
var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId)); var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId));
@ -292,7 +290,6 @@ namespace WebsitePanel.EnterpriseServer
} }
catch (Exception ex) catch (Exception ex)
{ {
result.AddError("REMOTE_DESKTOP_SERVICES_ADD_RDS_COLLECTION", ex);
throw TaskManager.WriteError(ex); throw TaskManager.WriteError(ex);
} }
finally finally
@ -307,7 +304,7 @@ namespace WebsitePanel.EnterpriseServer
} }
} }
return result; return collection.Id;
} }
private static ResultObject EditRdsCollectionInternal(int itemId, RdsCollection collection) private static ResultObject EditRdsCollectionInternal(int itemId, RdsCollection collection)

View file

@ -65,7 +65,7 @@ namespace WebsitePanel.EnterpriseServer
} }
[WebMethod] [WebMethod]
public ResultObject AddRdsCollection(int itemId, RdsCollection collection) public int AddRdsCollection(int itemId, RdsCollection collection)
{ {
return RemoteDesktopServicesController.AddRdsCollection(itemId, collection); return RemoteDesktopServicesController.AddRdsCollection(itemId, collection);
} }

View file

@ -24,6 +24,7 @@ td.NormalBold span {}
td.Normal > br {display:none;} td.Normal > br {display:none;}
.NormalTextBox + br + span {font-size:11px; color:#888;} .NormalTextBox + br + span {font-size:11px; color:#888;}
td.Normal .NormalTextBox + span {display:inline-block; padding:0;} td.Normal .NormalTextBox + span {display:inline-block; padding:0;}
.FormSimpleLabel {padding:9px 8px 14px 0; color:#555; vertical-align:top;}
.FormLabel150, .FormLabel200 {padding:9px 8px 14px 0; color:#888; vertical-align:top;} .FormLabel150, .FormLabel200 {padding:9px 8px 14px 0; color:#888; vertical-align:top;}
.FormLabel150 {width:150px;} .FormLabel150 {width:150px;}
.FormLabel200 {width:200px;} .FormLabel200 {width:200px;}
@ -81,6 +82,7 @@ input[type=text]:hover, input[type=password]:hover {border-color:#999;}
input.NormalTextBox {min-width:130px;} input.NormalTextBox {min-width:130px;}
input.TextBox50 {width:40px;} input.TextBox50 {width:40px;}
input.TextBox100 {width:80px;} input.TextBox100 {width:80px;}
input.TextBox300 {width:300px;}
/* selectbox */ /* selectbox */
select {height:34px; font-family:inherit; font-size:inherit; color:inherit; background:#fff; border:1px solid #ccc; cursor:pointer; padding:6px; margin:0 3px 4px 0; vertical-align:middle;} select {height:34px; font-family:inherit; font-size:inherit; color:inherit; background:#fff; border:1px solid #ccc; cursor:pointer; padding:6px; margin:0 3px 4px 0; vertical-align:middle;}
select:hover {border-color:#999;} select:hover {border-color:#999;}

View file

@ -121,7 +121,7 @@
<value>ShowProgressDialog('Adding RDS Server ...');</value> <value>ShowProgressDialog('Adding RDS Server ...');</value>
</data> </data>
<data name="btnSave.Text" xml:space="preserve"> <data name="btnSave.Text" xml:space="preserve">
<value>Save</value> <value>Create</value>
</data> </data>
<data name="FormComments.Text" xml:space="preserve"> <data name="FormComments.Text" xml:space="preserve">
<value /> <value />

View file

@ -3,7 +3,7 @@
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 1.3 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
@ -14,16 +14,17 @@
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object] <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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] <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
@ -45,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
@ -58,7 +59,6 @@
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
@ -133,7 +133,7 @@
<value>Edit RDS Application</value> <value>Edit RDS Application</value>
</data> </data>
<data name="locCollectionName.Text" xml:space="preserve"> <data name="locCollectionName.Text" xml:space="preserve">
<value>Application Name:</value> <value>Collection Name:</value>
</data> </data>
<data name="gvRDSServerName.Header" xml:space="preserve"> <data name="gvRDSServerName.Header" xml:space="preserve">
<value>Server Name</value> <value>Server Name</value>
@ -141,4 +141,7 @@
<data name="gvRDSServers.Empty" xml:space="preserve"> <data name="gvRDSServers.Empty" xml:space="preserve">
<value>No RDS Servers have been added yet. To add a new RDS Servers click "Add RDS Server" button.</value> <value>No RDS Servers have been added yet. To add a new RDS Servers click "Add RDS Server" button.</value>
</data> </data>
<data name="locApplicationName.Text" xml:space="preserve">
<value>Application Name:</value>
</data>
</root> </root>

View file

@ -127,7 +127,7 @@
<value /> <value />
</data> </data>
<data name="Text.PageName" xml:space="preserve"> <data name="Text.PageName" xml:space="preserve">
<value>Edit RDS Collection</value> <value>RDS Apps</value>
</data> </data>
<data name="locTitle.Text" xml:space="preserve"> <data name="locTitle.Text" xml:space="preserve">
<value>Edit RDS Collection</value> <value>Edit RDS Collection</value>

View file

@ -23,7 +23,7 @@
<tr> <tr>
<td class="FormLabel150" style="width: 100px;"><asp:Localize ID="locCollectionName" runat="server" meta:resourcekey="locCollectionName" Text="Collection Name"></asp:Localize></td> <td class="FormLabel150" style="width: 100px;"><asp:Localize ID="locCollectionName" runat="server" meta:resourcekey="locCollectionName" Text="Collection Name"></asp:Localize></td>
<td> <td>
<asp:TextBox ID="txtCollectionName" runat="server" CssClass="NormalTextBox" /> <asp:TextBox ID="txtCollectionName" runat="server" CssClass="TextBox300" />
<asp:RequiredFieldValidator ID="valCollectionName" runat="server" ErrorMessage="*" ControlToValidate="txtCollectionName" ValidationGroup="SaveRDSCollection"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="valCollectionName" runat="server" ErrorMessage="*" ControlToValidate="txtCollectionName" ValidationGroup="SaveRDSCollection"></asp:RequiredFieldValidator>
</td> </td>
</tr> </tr>

View file

@ -63,8 +63,8 @@ namespace WebsitePanel.Portal.RDS
} }
RdsCollection collection = new RdsCollection{ Name = txtCollectionName.Text, DisplayName = txtCollectionName.Text, Servers = servers.GetServers(), Description = "" }; RdsCollection collection = new RdsCollection{ Name = txtCollectionName.Text, DisplayName = txtCollectionName.Text, Servers = servers.GetServers(), Description = "" };
ES.Services.RDS.AddRdsCollection(PanelRequest.ItemID, collection); int collectionId = ES.Services.RDS.AddRdsCollection(PanelRequest.ItemID, collection);
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "rds_collections", "SpaceID=" + PanelSecurity.PackageId)); Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_edit_collection", "CollectionId=" + collectionId, "ItemID=" + PanelRequest.ItemID));
} }
catch (Exception ex) catch (Exception ex)
{ {

View file

@ -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.

View file

@ -21,11 +21,17 @@
<table> <table>
<tr> <tr>
<td class="FormLabel150" style="width: 100px;"><asp:Localize ID="locApplicationName" runat="server" meta:resourcekey="locApplicationName" Text="Collection Name:"></asp:Localize></td> <td class="FormSimpleLabel" style="width: 120px;"><asp:Localize ID="locCollectionName" runat="server" meta:resourcekey="locCollectionName" Text="Collection Name:"></asp:Localize></td>
<td class="FormLabel150"> <td class="FormSimpleLabel">
<asp:Localize ID="locCName" runat="server" Text="" /> <asp:Localize ID="locCName" runat="server" Text="" />
</td> </td>
</tr> </tr>
<tr>
<td class="FormSimpleLabel" style="width: 120px;"><asp:Localize ID="locApplicationName" runat="server" meta:resourcekey="locApplicationName" Text="Collection Name:"></asp:Localize></td>
<td class="FormSimpleLabel">
<asp:Localize ID="locAppName" runat="server" Text="" />
</td>
</tr>
</table> </table>
<fieldset id="UsersPanel" runat="server"> <fieldset id="UsersPanel" runat="server">

View file

@ -49,6 +49,7 @@ namespace WebsitePanel.Portal.RDS
var applicationUsers = ES.Services.RDS.GetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp); var applicationUsers = ES.Services.RDS.GetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp);
locCName.Text = collection.Name; locCName.Text = collection.Name;
locAppName.Text = remoteApp.DisplayName;
users.SetUsers(collectionUsers.Where(x => applicationUsers.Contains(x.SamAccountName)).ToArray()); users.SetUsers(collectionUsers.Where(x => applicationUsers.Contains(x.SamAccountName)).ToArray());
} }

View file

@ -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.
@ -77,13 +49,13 @@ namespace WebsitePanel.Portal.RDS {
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary> /// <summary>
/// locApplicationName control. /// locCollectionName 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.Localize locApplicationName; protected global::System.Web.UI.WebControls.Localize locCollectionName;
/// <summary> /// <summary>
/// locCName control. /// locCName control.
@ -94,6 +66,24 @@ namespace WebsitePanel.Portal.RDS {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Localize locCName; protected global::System.Web.UI.WebControls.Localize locCName;
/// <summary>
/// locApplicationName 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.Localize locApplicationName;
/// <summary>
/// locAppName 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.Localize locAppName;
/// <summary> /// <summary>
/// UsersPanel control. /// UsersPanel control.
/// </summary> /// </summary>