Added new sharepoint service item
This commit is contained in:
parent
2e1f2dfaa4
commit
8a868a4ea8
42 changed files with 1354 additions and 93 deletions
|
@ -8859,3 +8859,113 @@ AND SI.ItemName = @ItemName
|
|||
AND ((@GroupName IS NULL) OR (@GroupName IS NOT NULL AND RG.GroupName = @GroupName))
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'CC' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'CC', N'support@HostingCompany.com')
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'From' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'From', N'support@HostingCompany.com')
|
||||
END
|
||||
GO
|
||||
|
||||
DECLARE @RDSSetupLetterHtmlBody nvarchar(2500)
|
||||
|
||||
Set @RDSSetupLetterHtmlBody = N'<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>RDS Setup Information</title>
|
||||
<style type="text/css">
|
||||
.Summary { background-color: ##ffffff; padding: 5px; }
|
||||
.Summary .Header { padding: 10px 0px 10px 10px; font-size: 16pt; background-color: ##E5F2FF; color: ##1F4978; border-bottom: solid 2px ##86B9F7; }
|
||||
.Summary A { color: ##0153A4; }
|
||||
.Summary { font-family: Tahoma; font-size: 9pt; }
|
||||
.Summary H1 { font-size: 1.7em; color: ##1F4978; border-bottom: dotted 3px ##efefef; }
|
||||
.Summary H2 { font-size: 1.3em; color: ##1F4978; }
|
||||
.Summary TABLE { border: solid 1px ##e5e5e5; }
|
||||
.Summary TH,
|
||||
.Summary TD.Label { padding: 5px; font-size: 8pt; font-weight: bold; background-color: ##f5f5f5; }
|
||||
.Summary TD { padding: 8px; font-size: 9pt; }
|
||||
.Summary UL LI { font-size: 1.1em; font-weight: bold; }
|
||||
.Summary UL UL LI { font-size: 0.9em; font-weight: normal; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="Summary">
|
||||
|
||||
<a name="top"></a>
|
||||
<div class="Header">
|
||||
RDS Setup Information
|
||||
</div>
|
||||
</div>
|
||||
</body>';
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'HtmlBody' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'HtmlBody', @RDSSetupLetterHtmlBody)
|
||||
END
|
||||
ELSE
|
||||
UPDATE [dbo].[UserSettings] SET [PropertyValue] = @RDSSetupLetterHtmlBody WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'HtmlBody'
|
||||
GO
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'Priority' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'Priority', N'Normal')
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'Subject' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'Subject', N'RDS setup')
|
||||
END
|
||||
GO
|
||||
|
||||
DECLARE @RDSSetupLetterTextBody nvarchar(2500)
|
||||
|
||||
Set @RDSSetupLetterTextBody = N'=================================
|
||||
RDS Setup Information
|
||||
=================================
|
||||
<ad:if test="#user#">
|
||||
Hello #user.FirstName#,
|
||||
</ad:if>
|
||||
|
||||
Please, find below RDS setup instructions.
|
||||
|
||||
If you have any questions, feel free to contact our support department at any time.
|
||||
|
||||
Best regards'
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'TextBody' )
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'TextBody', @RDSSetupLetterTextBody)
|
||||
END
|
||||
ELSE
|
||||
UPDATE [dbo].[UserSettings] SET [PropertyValue] = @RDSSetupLetterTextBody WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'TextBody'
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Foundation Server')
|
||||
BEGIN
|
||||
DECLARE @group_order AS INT
|
||||
DECLARE @group_controller AS NVARCHAR(1000)
|
||||
DECLARE @group_id AS INT
|
||||
DECLARE @provider_id AS INT
|
||||
|
||||
UPDATE [dbo].[ResourceGroups] SET GroupName = 'Sharepoint Foundation Server' WHERE GroupName = 'Hosted Sharepoint'
|
||||
SELECT @group_order = GroupOrder, @group_controller = GroupController FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Foundation Server'
|
||||
SELECT TOP 1 @group_id = GroupId + 1 From [dbo].[ResourceGroups] ORDER BY GroupID DESC
|
||||
SELECT TOP 1 @provider_id = ProviderId + 1 From [dbo].[Providers] ORDER BY ProviderID DESC
|
||||
UPDATE [dbo].[ResourceGroups] SET GroupOrder = GroupOrder + 1 WHERE GroupOrder > @group_order
|
||||
INSERT INTO [dbo].[ResourceGroups] (GroupID, GroupName, GroupOrder, GroupController, ShowGroup) VALUES (@group_id, 'Sharepoint Server', @group_order + 1, @group_controller, 1)
|
||||
INSERT INTO [dbo].[Providers] (ProviderID, GroupID, ProviderName, DisplayName, ProviderType, EditorControl, DisableAutoDiscovery)
|
||||
(SELECT @provider_id, @group_id, ProviderName, DisplayName, ProviderType, EditorControl, DisableAutoDiscovery FROM [dbo].[Providers] WHERE ProviderName = 'HostedSharePoint2013')
|
||||
|
||||
INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
|
||||
VALUES (550, @group_id, 1, 'HostedSharePointServer.Sites', 'SharePoint Site Collections', 2, 0)
|
||||
INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
|
||||
VALUES (551, @group_id, 2, 'HostedSharePointServer.MaxStorage', 'Max site storage, MB', 3, 0)
|
||||
INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
|
||||
VALUES (552, @group_id, 3, 'HostedSharePointServer.UseSharedSSL', 'Use shared SSL Root', 1, 0)
|
||||
END
|
|
@ -44,7 +44,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
public const string Dns = "DNS";
|
||||
public const string Statistics = "Statistics";
|
||||
public const string SharePoint = "SharePoint";
|
||||
public const string HostedSharePoint = "Hosted SharePoint";
|
||||
public const string SharepointFoundationServer = "Sharepoint Foundation Server";
|
||||
public const string SharepointServer = "Sharepoint Server";
|
||||
public const string Exchange = "Exchange";
|
||||
public const string HostedOrganizations = "Hosted Organizations";
|
||||
public const string HostedCRM = "Hosted CRM";
|
||||
|
|
|
@ -63,6 +63,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public const string DEFAULT_MAILBOXPLANS = "DefaultMailboxPlans";
|
||||
public const string DEFAULT_LYNCUSERPLANS = "DefaultLyncUserPlans";
|
||||
public const string RDS_SETUP_LETTER = "RDSSetupLetter";
|
||||
|
||||
public int UserId;
|
||||
public string SettingsName;
|
||||
|
|
|
@ -128,6 +128,10 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetRdsServicesOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetRdsSetupLetterOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SendRdsSetupLetterOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public esRemoteDesktopServices() {
|
||||
this.Url = "http://localhost:9002/esRemoteDesktopServices.asmx";
|
||||
|
@ -280,6 +284,12 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
/// <remarks/>
|
||||
public event GetRdsServicesCompletedEventHandler GetRdsServicesCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetRdsSetupLetterCompletedEventHandler GetRdsSetupLetterCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SendRdsSetupLetterCompletedEventHandler SendRdsSetupLetterCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRdsCollection", 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 RdsCollection GetRdsCollection(int collectionId) {
|
||||
|
@ -2465,6 +2475,100 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRdsSetupLetter", 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 GetRdsSetupLetter(int itemId, [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] System.Nullable<int> accountId) {
|
||||
object[] results = this.Invoke("GetRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId});
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetRdsSetupLetter(int itemId, System.Nullable<int> accountId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndGetRdsSetupLetter(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetRdsSetupLetterAsync(int itemId, System.Nullable<int> accountId) {
|
||||
this.GetRdsSetupLetterAsync(itemId, accountId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetRdsSetupLetterAsync(int itemId, System.Nullable<int> accountId, object userState) {
|
||||
if ((this.GetRdsSetupLetterOperationCompleted == null)) {
|
||||
this.GetRdsSetupLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRdsSetupLetterOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId}, this.GetRdsSetupLetterOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetRdsSetupLetterOperationCompleted(object arg) {
|
||||
if ((this.GetRdsSetupLetterCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetRdsSetupLetterCompleted(this, new GetRdsSetupLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SendRdsSetupLetter", 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 SendRdsSetupLetter(int itemId, [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] System.Nullable<int> accountId, string to, string cc) {
|
||||
object[] results = this.Invoke("SendRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
to,
|
||||
cc});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSendRdsSetupLetter(int itemId, System.Nullable<int> accountId, string to, string cc, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SendRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
to,
|
||||
cc}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int EndSendRdsSetupLetter(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SendRdsSetupLetterAsync(int itemId, System.Nullable<int> accountId, string to, string cc) {
|
||||
this.SendRdsSetupLetterAsync(itemId, accountId, to, cc, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SendRdsSetupLetterAsync(int itemId, System.Nullable<int> accountId, string to, string cc, object userState) {
|
||||
if ((this.SendRdsSetupLetterOperationCompleted == null)) {
|
||||
this.SendRdsSetupLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendRdsSetupLetterOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SendRdsSetupLetter", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
to,
|
||||
cc}, this.SendRdsSetupLetterOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSendRdsSetupLetterOperationCompleted(object arg) {
|
||||
if ((this.SendRdsSetupLetterCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SendRdsSetupLetterCompleted(this, new SendRdsSetupLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
|
@ -3744,4 +3848,56 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetRdsSetupLetterCompletedEventHandler(object sender, GetRdsSetupLetterCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetRdsSetupLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetRdsSetupLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SendRdsSetupLetterCompletedEventHandler(object sender, SendRdsSetupLetterCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class SendRdsSetupLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal SendRdsSetupLetterCompletedEventArgs(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]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -963,7 +963,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
PackageContext cntxTmp = PackageController.GetPackageContext(org.PackageId);
|
||||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
SharePointSiteCollectionListPaged sharePointStats = HostedSharePointServerController.GetSiteCollectionsPaged(org.PackageId, org.Id, string.Empty, string.Empty, string.Empty, 0, 0);
|
||||
stats.CreatedSharePointSiteCollections = sharePointStats.TotalRowCount;
|
||||
|
@ -1044,7 +1044,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
PackageContext cntxTmp = PackageController.GetPackageContext(org.PackageId);
|
||||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
SharePointSiteCollectionListPaged sharePointStats = HostedSharePointServerController.GetSiteCollectionsPaged(org.PackageId, o.Id, string.Empty, string.Empty, string.Empty, 0, 0);
|
||||
stats.CreatedSharePointSiteCollections += sharePointStats.TotalRowCount;
|
||||
|
@ -1112,7 +1112,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
stats.AllocatedDomains = cntx.Quotas[Quotas.ORGANIZATION_DOMAINS].QuotaAllocatedValue;
|
||||
stats.AllocatedGroups = cntx.Quotas[Quotas.ORGANIZATION_SECURITYGROUPS].QuotaAllocatedValue;
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
stats.AllocatedSharePointSiteCollections = cntx.Quotas[Quotas.HOSTED_SHAREPOINT_SITES].QuotaAllocatedValue;
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
|
|||
|
||||
private static int GetHostedSharePointServiceId(int packageId)
|
||||
{
|
||||
return PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint);
|
||||
return PackageController.GetPackageServiceId(packageId, ResourceGroups.SharepointFoundationServer);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ using WebsitePanel.Providers.HostedSolution;
|
|||
using WebsitePanel.Providers.OS;
|
||||
using WebsitePanel.Providers.RemoteDesktopServices;
|
||||
using WebsitePanel.Providers.Web;
|
||||
using System.Net.Mail;
|
||||
using System.Collections;
|
||||
|
||||
namespace WebsitePanel.EnterpriseServer
|
||||
{
|
||||
|
@ -308,6 +310,91 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return ObjectUtils.CreateListFromDataSet<ServiceInfo>(DataProvider.GetServicesByGroupName(SecurityContext.User.UserId, ResourceGroups.RDS));
|
||||
}
|
||||
|
||||
public static string GetRdsSetupLetter(int itemId, int? accountId)
|
||||
{
|
||||
return GetRdsSetupLetterInternal(itemId, accountId);
|
||||
}
|
||||
|
||||
public static int SendRdsSetupLetter(int itemId, int? accountId, string to, string cc)
|
||||
{
|
||||
return SendRdsSetupLetterInternal(itemId, accountId, to, cc);
|
||||
}
|
||||
|
||||
private static string GetRdsSetupLetterInternal(int itemId, int? accountId)
|
||||
{
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
|
||||
if (org == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
UserInfo user = PackageController.GetPackageOwner(org.PackageId);
|
||||
UserSettings settings = UserController.GetUserSettings(user.UserId, UserSettings.RDS_SETUP_LETTER);
|
||||
string settingName = user.HtmlMail ? "HtmlBody" : "TextBody";
|
||||
string body = settings[settingName];
|
||||
|
||||
if (String.IsNullOrEmpty(body))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
string result = EvaluateMailboxTemplate(body, org, accountId, itemId);
|
||||
|
||||
return user.HtmlMail ? result : result.Replace("\n", "<br/>");
|
||||
}
|
||||
|
||||
private static int SendRdsSetupLetterInternal(int itemId, int? accountId, string to, string cc)
|
||||
{
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo);
|
||||
|
||||
if (accountCheck < 0)
|
||||
{
|
||||
return accountCheck;
|
||||
}
|
||||
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
|
||||
if (org == null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
UserInfo user = PackageController.GetPackageOwner(org.PackageId);
|
||||
UserSettings settings = UserController.GetUserSettings(user.UserId, UserSettings.RDS_SETUP_LETTER);
|
||||
string from = settings["From"];
|
||||
|
||||
if (cc == null)
|
||||
{
|
||||
cc = settings["CC"];
|
||||
}
|
||||
|
||||
string subject = settings["Subject"];
|
||||
string body = user.HtmlMail ? settings["HtmlBody"] : settings["TextBody"];
|
||||
bool isHtml = user.HtmlMail;
|
||||
MailPriority priority = MailPriority.Normal;
|
||||
|
||||
if (!String.IsNullOrEmpty(settings["Priority"]))
|
||||
{
|
||||
priority = (MailPriority)Enum.Parse(typeof(MailPriority), settings["Priority"], true);
|
||||
}
|
||||
|
||||
if (String.IsNullOrEmpty(body))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (to == null)
|
||||
{
|
||||
to = user.Email;
|
||||
}
|
||||
|
||||
subject = EvaluateMailboxTemplate(subject, org, accountId, itemId);
|
||||
body = EvaluateMailboxTemplate(body, org, accountId, itemId);
|
||||
|
||||
return MailHelper.SendMessage(from, to, cc, subject, body, priority, isHtml);
|
||||
}
|
||||
|
||||
private static ResultObject InstallSessionHostsCertificateInternal(RdsServer rdsServer)
|
||||
{
|
||||
var result = TaskManager.StartResultTask<ResultObject>("REMOTE_DESKTOP_SERVICES", "INSTALL_CERTIFICATE");
|
||||
|
@ -1842,5 +1929,25 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return string.Format("{0}-{1}", organizationId, displayName.Replace(" ", "_"));
|
||||
}
|
||||
|
||||
private static string EvaluateMailboxTemplate(string template, Organization org, int? accountId, int itemId)
|
||||
{
|
||||
OrganizationUser user = null;
|
||||
|
||||
if (accountId.HasValue)
|
||||
{
|
||||
user = OrganizationController.GetAccount(itemId, accountId.Value);
|
||||
}
|
||||
|
||||
Hashtable items = new Hashtable();
|
||||
items["Organization"] = org;
|
||||
|
||||
if (user != null)
|
||||
{
|
||||
items["account"] = user;
|
||||
}
|
||||
|
||||
return PackageController.EvaluateTemplate(template, items);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -167,7 +167,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
PackageContext cntx = PackageController.GetPackageContext(org.PackageId);
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
SharePointSiteDiskSpace[] sharePointSiteDiskSpaces =
|
||||
HostedSharePointServerController.CalculateSharePointSitesDiskSpace(org.Id, out res);
|
||||
|
|
|
@ -122,7 +122,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
|
|||
// Log operation.
|
||||
TaskManager.StartTask("HOSTEDSHAREPOINT", "GET_LANGUAGES");
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint);
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.SharepointFoundationServer);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
return new int[] { };
|
||||
|
@ -236,7 +236,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
|
|||
}
|
||||
|
||||
// Check if stats resource is available
|
||||
int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.HostedSharePoint);
|
||||
int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.SharepointFoundationServer);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
return BusinessErrorCodes.ERROR_SHAREPOINT_RESOURCE_UNAVAILABLE;
|
||||
|
@ -790,7 +790,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
|
|||
|
||||
private static int GetHostedSharePointServiceId(int packageId)
|
||||
{
|
||||
return PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint);
|
||||
return PackageController.GetPackageServiceId(packageId, ResourceGroups.SharepointFoundationServer);
|
||||
}
|
||||
|
||||
private static List<SharePointSiteCollection> GetOrganizationSharePointSiteCollections(int orgId)
|
||||
|
|
|
@ -355,5 +355,17 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return RemoteDesktopServicesController.GetRdsServices();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public string GetRdsSetupLetter(int itemId, int? accountId)
|
||||
{
|
||||
return RemoteDesktopServicesController.GetRdsSetupLetter(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SendRdsSetupLetter(int itemId, int? accountId, string to, string cc)
|
||||
{
|
||||
return RemoteDesktopServicesController.SendRdsSetupLetter(itemId, accountId, to, cc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,6 +77,8 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
|||
private const string RDSHelpDeskGroup = "WSP-HelpDeskAdministrators";
|
||||
private const string RDSHelpDeskGroupDescription = "WSP Help Desk Administrators";
|
||||
private const string LocalAdministratorsGroupName = "Administrators";
|
||||
private const string RDSHelpDeskRdRapPolicyName = "RDS-HelpDesk-RDRAP";
|
||||
private const string RDSHelpDeskRdCapPolicyName = "RDS-HelpDesk-RDCAP";
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -325,6 +327,9 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
|||
|
||||
foreach (var gateway in Gateways)
|
||||
{
|
||||
CreateHelpDeskRdCapForce(runSpace, gateway);
|
||||
CreateHelpDeskRdRapForce(runSpace, gateway);
|
||||
|
||||
if (!CentralNps)
|
||||
{
|
||||
CreateRdCapForce(runSpace, gateway, capPolicyName, collection.Name, new List<string> { GetUsersGroupName(collection.Name) });
|
||||
|
@ -572,6 +577,13 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
|||
ExecuteShellCommand(runSpace, cmd, false);
|
||||
|
||||
CheckOrCreateHelpDeskComputerGroup();
|
||||
|
||||
foreach(var gateway in Gateways)
|
||||
{
|
||||
CreateHelpDeskRdCapForce(runSpace, gateway);
|
||||
CreateHelpDeskRdRapForce(runSpace, gateway);
|
||||
}
|
||||
|
||||
string helpDeskGroupSamAccountName = CheckOrCreateAdGroup(GetHelpDeskGroupPath(RDSHelpDeskGroup), GetRootOUPath(), RDSHelpDeskGroup, RDSHelpDeskGroupDescription);
|
||||
string groupName = GetLocalAdminsGroupName(collectionName);
|
||||
string groupPath = GetGroupPath(organizationId, collectionName, groupName);
|
||||
|
@ -920,6 +932,59 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
|||
ExecuteRemoteShellCommand(runSpace, gatewayHost, rdCapCommand, RdsModuleName);
|
||||
}
|
||||
|
||||
private void CreateHelpDeskRdCapForce(Runspace runSpace, string gatewayHost)
|
||||
{
|
||||
if (ItemExistsRemote(runSpace, gatewayHost, Path.Combine(CapPath, RDSHelpDeskRdCapPolicyName)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var userGroupParameter = string.Format("@({0})", string.Format("\"{0}@{1}\"", RDSHelpDeskGroup, RootDomain));
|
||||
|
||||
Command rdCapCommand = new Command("New-Item");
|
||||
rdCapCommand.Parameters.Add("Path", string.Format("\"{0}\"", CapPath));
|
||||
rdCapCommand.Parameters.Add("Name", string.Format("\"{0}\"", RDSHelpDeskRdCapPolicyName));
|
||||
rdCapCommand.Parameters.Add("UserGroups", userGroupParameter);
|
||||
rdCapCommand.Parameters.Add("AuthMethod", 1);
|
||||
|
||||
ExecuteRemoteShellCommand(runSpace, gatewayHost, rdCapCommand, RdsModuleName);
|
||||
}
|
||||
|
||||
private void CreateHelpDeskRdRapForce(Runspace runSpace, string gatewayHost)
|
||||
{
|
||||
if (ItemExistsRemote(runSpace, gatewayHost, Path.Combine(RapPath, RDSHelpDeskRdRapPolicyName)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var userGroupParameter = string.Format("@({0})", string.Format("\"{0}@{1}\"", RDSHelpDeskGroup, RootDomain));
|
||||
var computerGroupParameter = string.Format("\"{0}@{1}\"", RDSHelpDeskComputerGroup, RootDomain);
|
||||
|
||||
Command rdRapCommand = new Command("New-Item");
|
||||
rdRapCommand.Parameters.Add("Path", string.Format("\"{0}\"", RapPath));
|
||||
rdRapCommand.Parameters.Add("Name", string.Format("\"{0}\"", RDSHelpDeskRdRapPolicyName));
|
||||
rdRapCommand.Parameters.Add("UserGroups", userGroupParameter);
|
||||
rdRapCommand.Parameters.Add("ComputerGroupType", 1);
|
||||
rdRapCommand.Parameters.Add("ComputerGroup", computerGroupParameter);
|
||||
|
||||
object[] errors;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
ExecuteRemoteShellCommand(runSpace, gatewayHost, rdRapCommand, out errors, RdsModuleName);
|
||||
|
||||
if (errors == null || !errors.Any())
|
||||
{
|
||||
Log.WriteWarning("RD RAP Added Successfully");
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.WriteWarning(string.Join("\r\n", errors.Select(e => e.ToString()).ToArray()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal void RemoveRdCap(Runspace runSpace, string gatewayHost, string name)
|
||||
{
|
||||
RemoveItemRemote(runSpace, gatewayHost, string.Format(@"{0}\{1}", CapPath, name), RdsModuleName);
|
||||
|
|
|
@ -152,4 +152,5 @@
|
|||
<Control key="rds_edit_collection_settings" general_key="rds_collections" />
|
||||
<Control key="rds_collection_user_sessions" general_key="rds_collections" />
|
||||
<Control key="rds_collection_local_admins" general_key="rds_collections" />
|
||||
<Control key="rds_setup_letter" general_key="rds_collections" />
|
||||
</Controls>
|
||||
|
|
|
@ -580,6 +580,7 @@
|
|||
<Control key="deleted_user_memberof" src="WebsitePanel/ExchangeServer/OrganizationDeletedUserMemberOf.ascx" title="DeletedUserMemberOf" type="View" />
|
||||
<Control key="rds_application_edit_users" src="WebsitePanel/RDS/RDSEditApplicationUsers.ascx" title="RDSEditApplicationUsers" type="View" />
|
||||
<Control key="rds_collection_local_admins" src="WebsitePanel/RDS/RDSLocalAdmins.ascx" title="RDSLocalAdmins" type="View" />
|
||||
<Control key="rds_setup_letter" src="WebsitePanel/RDS/RDSSetupLetter.ascx" title="RDSSetupLetter" type="View" />
|
||||
<Control key="rds_edit_collection" src="WebsitePanel/RDS/RDSEditCollection.ascx" title="RDSEditCollection" type="View" />
|
||||
<Control key="rds_edit_collection_settings" src="WebsitePanel/RDS/RDSEditCollectionSettings.ascx" title="RDSEditCollectionSettings" type="View" />
|
||||
<Control key="rds_collection_user_sessions" src="WebsitePanel/RDS/RDSUserSessions.ascx" title="RDSUserSessions" type="View" />
|
||||
|
|
|
@ -3301,6 +3301,12 @@
|
|||
<data name="Success.ORGANIZATION_LETTER_SEND" xml:space="preserve">
|
||||
<value>Organization user setup instructions have been sent</value>
|
||||
</data>
|
||||
<data name="Error.RDS_SETUP_LETTER_SEND" xml:space="preserve">
|
||||
<value>Error sending setup instructions</value>
|
||||
</data>
|
||||
<data name="Success.RDS_SETUP_LETTER_SEND" xml:space="preserve">
|
||||
<value>Setup instructions have been sent</value>
|
||||
</data>
|
||||
<data name="Quota.MsSQL2005.MaxLogSize" xml:space="preserve">
|
||||
<value>Max Log Size, MB</value>
|
||||
</data>
|
||||
|
@ -3367,6 +3373,12 @@
|
|||
<data name="ResourceGroup.Hosted SharePoint" xml:space="preserve">
|
||||
<value>Hosted SharePoint</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.SharePoint Foundation Server" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.SharePoint Server" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.OCS" xml:space="preserve">
|
||||
<value>Office Communications Server</value>
|
||||
</data>
|
||||
|
@ -3379,6 +3391,12 @@
|
|||
<data name="Quota.HostedSharePoint.MaxStorage" xml:space="preserve">
|
||||
<value>Max site storage, MB</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointServer.Sites" xml:space="preserve">
|
||||
<value>SharePoint Site Collections per Organization</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointServer.MaxStorage" xml:space="preserve">
|
||||
<value>Max site storage, MB</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM.Users" xml:space="preserve">
|
||||
<value>Full licenses per organization</value>
|
||||
</data>
|
||||
|
@ -5155,6 +5173,9 @@
|
|||
<data name="Quota.HostedSharePoint.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointServer.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.IsConsumer" xml:space="preserve">
|
||||
<value>Consumer Organization Support</value>
|
||||
</data>
|
||||
|
|
|
@ -201,8 +201,11 @@
|
|||
<data name="Text.Setup" xml:space="preserve">
|
||||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointGroup" xml:space="preserve">
|
||||
<value>SharePoint</value>
|
||||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="Text.SiteCollections" xml:space="preserve">
|
||||
<value>Site Collections</value>
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
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">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<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="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ddlPriorityItem.High" xml:space="preserve">
|
||||
<value>High</value>
|
||||
</data>
|
||||
<data name="ddlPriorityItem.Low" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
</data>
|
||||
<data name="ddlPriorityItem.Normal" xml:space="preserve">
|
||||
<value>Normal</value>
|
||||
</data>
|
||||
<data name="lblCC.Text" xml:space="preserve">
|
||||
<value>CC:</value>
|
||||
</data>
|
||||
<data name="lblFrom.Text" xml:space="preserve">
|
||||
<value>From:</value>
|
||||
</data>
|
||||
<data name="lblHtmlBody.Text" xml:space="preserve">
|
||||
<value>HTML Body:</value>
|
||||
</data>
|
||||
<data name="lblNoChangesHtmlBody" xml:space="preserve">
|
||||
<value>No Changes HTML Body:</value>
|
||||
</data>
|
||||
<data name="lblNoChangesTextBody.Text" xml:space="preserve">
|
||||
<value>No Changes Text Body:</value>
|
||||
</data>
|
||||
<data name="lblPriority.Text" xml:space="preserve">
|
||||
<value>Priority:</value>
|
||||
</data>
|
||||
<data name="lblSubject.Text" xml:space="preserve">
|
||||
<value>Subject:</value>
|
||||
</data>
|
||||
<data name="lblTextBody.Text" xml:space="preserve">
|
||||
<value>Text Body:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -147,4 +147,7 @@
|
|||
<data name="lnkDomainLookupLetter.Text" xml:space="preserve">
|
||||
<value>Domain MX and NS Letter</value>
|
||||
</data>
|
||||
<data name="lnkRdsSetupLetter.Text" xml:space="preserve">
|
||||
<value>RDS Setup Letter</value>
|
||||
</data>
|
||||
</root>
|
|
@ -234,8 +234,11 @@
|
|||
<data name="Text.Setup" xml:space="preserve">
|
||||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - SharePoint</value>
|
||||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - SharePoint Server</value>
|
||||
</data>
|
||||
<data name="Text.SiteCollections" xml:space="preserve">
|
||||
<value>Sharepoint Sites</value>
|
||||
|
|
|
@ -236,7 +236,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
|
||||
//Show SharePoint statistics
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
sharePointStatsPanel.Visible = true;
|
||||
|
||||
|
|
|
@ -165,8 +165,11 @@
|
|||
<data name="Text.Setup" xml:space="preserve">
|
||||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointGroup" xml:space="preserve">
|
||||
<value>SharePoint</value>
|
||||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="Text.OCSGroup" xml:space="preserve">
|
||||
<value>OCS</value>
|
||||
|
|
|
@ -240,10 +240,10 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
|
||||
}
|
||||
|
||||
private void PrepareSharePointMenu(PackageContext cntx, List<MenuGroup> groups, string imagePath)
|
||||
private void PrepareSharePointMenu(PackageContext cntx, List<MenuGroup> groups, string imagePath, string menuItemText)
|
||||
{
|
||||
MenuGroup sharepointGroup =
|
||||
new MenuGroup(GetLocalizedString("Text.SharePointGroup"), imagePath + "sharepoint24.png");
|
||||
new MenuGroup(menuItemText, imagePath + "sharepoint24.png");
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections"));
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("StorageUsage", "sharepoint_storage_usage"));
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("StorageLimits", "sharepoint_storage_settings"));
|
||||
|
@ -314,9 +314,14 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
PrepareBlackBerryMenu(cntx, groups, imagePath);
|
||||
|
||||
//SharePoint menu group;
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
{
|
||||
PrepareSharePointMenu(cntx, groups, imagePath);
|
||||
PrepareSharePointMenu(cntx, groups, imagePath, GetLocalizedString("Text.SharePointFoundationServerGroup"));
|
||||
}
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointServer))
|
||||
{
|
||||
PrepareSharePointMenu(cntx, groups, imagePath, GetLocalizedString("Text.SharePointServerGroup"));
|
||||
}
|
||||
|
||||
//CRM Menu
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
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">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<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="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSend.Text" xml:space="preserve">
|
||||
<value>Send</value>
|
||||
</data>
|
||||
<data name="lblCC.Text" xml:space="preserve">
|
||||
<value>CC:</value>
|
||||
</data>
|
||||
<data name="lblTo.Text" xml:space="preserve">
|
||||
<value>To:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Setup Instructions</value>
|
||||
</data>
|
||||
<data name="secEmail.Text" xml:space="preserve">
|
||||
<value>Send via E-Mail</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit RDS Collection</value>
|
||||
</data>
|
||||
<data name="valRequireEmail.Text" xml:space="preserve">
|
||||
<value>* Enter E-Mail</value>
|
||||
</data>
|
||||
</root>
|
|
@ -40,6 +40,8 @@ namespace WebsitePanel.Portal.RDS
|
|||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
users.Module = Module;
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
|
||||
|
|
|
@ -41,6 +41,8 @@ namespace WebsitePanel.Portal.RDS
|
|||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
users.Module = Module;
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindQuota();
|
||||
|
|
|
@ -13,6 +13,8 @@ namespace WebsitePanel.Portal.RDS
|
|||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
users.Module = Module;
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
var collectionLocalAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RDSSetupLetter.ascx.cs" Inherits="WebsitePanel.Portal.RDS.RDSSeupLetter" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/RDSCollectionTabs.ascx" TagName="CollectionTabs" TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="imgEditRDSCollection" SkinID="EnterpriseStorageSpace48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Setup Instructions"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_setup_letter" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secEmail" runat="server" IsCollapsed="true"
|
||||
TargetControlID="EmailPanel" meta:resourcekey="secEmail" Text="Send via E-Mail">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="EmailPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table id="tblEmail" runat="server" cellpadding="2">
|
||||
<tr>
|
||||
<td class="SubHead" width="30" nowrap>
|
||||
<asp:Label ID="lblTo" runat="server" meta:resourcekey="lblTo" Text="To:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtTo" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireEmail" runat="server" ControlToValidate="txtTo" Display="Dynamic"
|
||||
ErrorMessage="Enter e-mail" ValidationGroup="SendEmail" meta:resourcekey="valRequireEmail"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblCC" runat="server" meta:resourcekey="lblCC" Text="CC:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtCC" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<asp:Button ID="btnSend" runat="server" CssClass="Button2" meta:resourcekey="btnSend" Text="Send" OnClick="btnSend_Click" ValidationGroup="SendEmail" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
<div class="PreviewArea">
|
||||
<asp:Literal ID="litContent" runat="server"></asp:Literal>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
namespace WebsitePanel.Portal.RDS
|
||||
{
|
||||
public partial class RDSSeupLetter : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindInstructions();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindInstructions()
|
||||
{
|
||||
int accountId = PanelRequest.AccountID > 0 ? PanelRequest.AccountID : 0;
|
||||
litContent.Text = ES.Services.RDS.GetRdsSetupLetter(PanelRequest.ItemID, accountId);
|
||||
PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
|
||||
|
||||
if (package == null)
|
||||
{
|
||||
RedirectSpaceHomePage();
|
||||
}
|
||||
|
||||
OrganizationUser account = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID, accountId);
|
||||
|
||||
if (account != null)
|
||||
{
|
||||
txtTo.Text = account.ExternalEmail;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
int accountId = PanelRequest.AccountID > 0 ? PanelRequest.AccountID : 0;
|
||||
int result = ES.Services.RDS.SendRdsSetupLetter(PanelRequest.ItemID, accountId, txtTo.Text.Trim(), txtCC.Text.Trim());
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
messageBox.ShowSuccessMessage("RDS_SETUP_LETTER_SEND");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("RDS_SETUP_LETTER_SEND", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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.RDS {
|
||||
|
||||
|
||||
public partial class RDSSeupLetter {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// imgEditRDSCollection 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.Image imgEditRDSCollection;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle 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 locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// tabs control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.RDS.UserControls.RdsServerTabs tabs;
|
||||
|
||||
/// <summary>
|
||||
/// secEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secEmail;
|
||||
|
||||
/// <summary>
|
||||
/// EmailPanel 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 EmailPanel;
|
||||
|
||||
/// <summary>
|
||||
/// tblEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable tblEmail;
|
||||
|
||||
/// <summary>
|
||||
/// lblTo 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.Label lblTo;
|
||||
|
||||
/// <summary>
|
||||
/// txtTo 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 txtTo;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireEmail 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.RequiredFieldValidator valRequireEmail;
|
||||
|
||||
/// <summary>
|
||||
/// lblCC 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.Label lblCC;
|
||||
|
||||
/// <summary>
|
||||
/// txtCC 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 txtCC;
|
||||
|
||||
/// <summary>
|
||||
/// btnSend 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.Button btnSend;
|
||||
|
||||
/// <summary>
|
||||
/// litContent 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.Literal litContent;
|
||||
}
|
||||
}
|
|
@ -135,4 +135,7 @@
|
|||
<data name="Tab.LocalAdmins" xml:space="preserve">
|
||||
<value>Local Administrators</value>
|
||||
</data>
|
||||
<data name="Tab.RdsSetupLetter" xml:space="preserve">
|
||||
<value>Setup Instructions</value>
|
||||
</data>
|
||||
</root>
|
|
@ -26,6 +26,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
tabsList.Add(CreateTab("rds_collection_edit_users", "Tab.RdsUsers"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_sessions", "Tab.UserSessions"));
|
||||
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
||||
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
||||
|
||||
int idx = 0;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<asp:Button ID="btnDelete" runat="server" Text="Delete" CssClass="Button1" OnClick="btnDelete_Click" meta:resourcekey="btnDelete"/>
|
||||
</div>
|
||||
<asp:GridView ID="gvUsers" runat="server" meta:resourcekey="gvUsers" AutoGenerateColumns="False"
|
||||
Width="600px" CssSelectorClass="NormalGridView"
|
||||
Width="600px" CssSelectorClass="NormalGridView" OnRowCommand="gvUsers_RowCommand"
|
||||
DataKeyNames="AccountName">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
|
@ -21,7 +21,7 @@
|
|||
<ItemStyle Width="10px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvUsersAccount" HeaderText="gvUsersAccount">
|
||||
<ItemStyle Width="96%" Wrap="false" HorizontalAlign="Left">
|
||||
<ItemStyle Width="80%" Wrap="false" HorizontalAlign="Left">
|
||||
</ItemStyle>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litAccount" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
|
||||
|
@ -29,6 +29,13 @@
|
|||
<asp:HiddenField ID="hdnSamAccountName" runat="server" Value='<%# Eval("SamAccountName") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvSetupInstructions">
|
||||
<ItemStyle Width="20%" HorizontalAlign="right"></ItemStyle>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbSetupInstructions" CommandName="SetupInstructions" CommandArgument='<%# Eval("AccountId")%>' runat="server"
|
||||
Text="Setup Instructions" OnClientClick="ShowProgressDialog('Loading ...');return true;"/>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<br />
|
||||
|
|
|
@ -264,5 +264,13 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
{
|
||||
return string.Compare(user1.DisplayName, user2.DisplayName);
|
||||
}
|
||||
|
||||
protected void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "SetupInstructions")
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_setup_letter", "CollectionID=" + PanelRequest.CollectionID, "ItemID=" + PanelRequest.ItemID, "AccountID=" + e.CommandArgument.ToString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<tr>
|
||||
<td class="SubHead" style="height: 34px"><asp:Label ID="lblServiceName" runat="server" meta:resourcekey="lblServiceName" Text="Service name:"></asp:Label></td>
|
||||
<td class="NormalBold" style="height: 34px">
|
||||
<asp:TextBox id="serviceName" runat="server" CssClass="Huge"></asp:TextBox>
|
||||
<asp:TextBox id="serviceName" runat="server" CssClass="Huge" style="width: 300px;"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator id="serviceNameValidator" meta:resourcekey="serviceNameValidator" runat="server" ErrorMessage="Please specify service name" ControlToValidate="serviceName"
|
||||
Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
|
|
|
@ -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>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
|
|
@ -160,7 +160,8 @@ namespace WebsitePanel.Portal
|
|||
(resourceGroup.GroupName == ResourceGroups.HostedCRM)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Os)|
|
||||
(resourceGroup.GroupName == ResourceGroups.HostedOrganizations) |
|
||||
(resourceGroup.GroupName == ResourceGroups.HostedSharePoint) |
|
||||
(resourceGroup.GroupName == ResourceGroups.SharepointFoundationServer) |
|
||||
(resourceGroup.GroupName == ResourceGroups.SharepointServer) |
|
||||
(resourceGroup.GroupName == ResourceGroups.Mail)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Lync)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Exchange)|
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsRdsSetupLetter.ascx.cs" Inherits="WebsitePanel.Portal.SettingsRdsSetupLetter" %>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="SubHead" width="150" nowrap><asp:Label ID="lblFrom" runat="server" meta:resourcekey="lblFrom" Text="From:"></asp:Label></td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox ID="txtFrom" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead"><asp:Label ID="lblCC" runat="server" meta:resourcekey="lblCC" Text="CC:"></asp:Label></td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtCC" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead"><asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label></td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtSubject" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead"><asp:Label ID="lblPriority" runat="server" meta:resourcekey="lblPriority" Text="Priority"></asp:Label></td>
|
||||
<td class="Normal">
|
||||
<asp:DropDownList ID="ddlPriority" runat="server" CssClass="NormalTextBox" resourcekey="ddlPriority">
|
||||
<asp:ListItem Value="High">High</asp:ListItem>
|
||||
<asp:ListItem Value="Normal">Normal</asp:ListItem>
|
||||
<asp:ListItem Value="Low">Low</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" colspan="2"><br /><br /><asp:Label ID="lblHtmlBody" runat="server" meta:resourcekey="lblHtmlBody" Text="HTML Body:"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal" colspan="2">
|
||||
<asp:TextBox ID="txtHtmlBody" runat="server" Rows="15" TextMode="MultiLine" Width="680px" CssClass="NormalTextBox" Wrap="false"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" colspan="2"><br /><br /><asp:Label ID="lblTextBody" runat="server" meta:resourcekey="lblTextBody" Text="Text Body:"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal" colspan="2">
|
||||
<asp:TextBox ID="txtTextBody" runat="server" Rows="15" TextMode="MultiLine" Width="680px" CssClass="NormalTextBox" Wrap="false"></asp:TextBox></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
|
@ -0,0 +1,33 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class SettingsRdsSetupLetter : WebsitePanelControlBase, IUserSettingsEditorControl
|
||||
{
|
||||
public void BindSettings(UserSettings settings)
|
||||
{
|
||||
txtFrom.Text = settings["From"];
|
||||
txtCC.Text = settings["CC"];
|
||||
txtSubject.Text = settings["Subject"];
|
||||
Utils.SelectListItem(ddlPriority, settings["Priority"]);
|
||||
txtHtmlBody.Text = settings["HtmlBody"];
|
||||
txtTextBody.Text = settings["TextBody"];
|
||||
}
|
||||
|
||||
public void SaveSettings(UserSettings settings)
|
||||
{
|
||||
settings["From"] = txtFrom.Text;
|
||||
settings["CC"] = txtCC.Text;
|
||||
settings["Subject"] = txtSubject.Text;
|
||||
settings["Priority"] = ddlPriority.SelectedValue;
|
||||
settings["HtmlBody"] = txtHtmlBody.Text;
|
||||
settings["TextBody"] = txtTextBody.Text;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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 SettingsRdsSetupLetter {
|
||||
|
||||
/// <summary>
|
||||
/// lblFrom 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.Label lblFrom;
|
||||
|
||||
/// <summary>
|
||||
/// txtFrom 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 txtFrom;
|
||||
|
||||
/// <summary>
|
||||
/// lblCC 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.Label lblCC;
|
||||
|
||||
/// <summary>
|
||||
/// txtCC 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 txtCC;
|
||||
|
||||
/// <summary>
|
||||
/// lblSubject 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.Label lblSubject;
|
||||
|
||||
/// <summary>
|
||||
/// txtSubject 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 txtSubject;
|
||||
|
||||
/// <summary>
|
||||
/// lblPriority 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.Label lblPriority;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPriority 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 ddlPriority;
|
||||
|
||||
/// <summary>
|
||||
/// lblHtmlBody 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.Label lblHtmlBody;
|
||||
|
||||
/// <summary>
|
||||
/// txtHtmlBody 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 txtHtmlBody;
|
||||
|
||||
/// <summary>
|
||||
/// lblTextBody 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.Label lblTextBody;
|
||||
|
||||
/// <summary>
|
||||
/// txtTextBody 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 txtTextBody;
|
||||
}
|
||||
}
|
|
@ -38,6 +38,10 @@
|
|||
<asp:HyperLink ID="lnkDomainLookupLetter" runat="server" meta:resourcekey="lnkDomainLookupLetter"
|
||||
Text="Domain MX and NS Letter" NavigateUrl='<%# GetSettingsLink("DomainLookupLetter", "SettingsDomainLookupLetter") %>'></asp:HyperLink>
|
||||
</li>
|
||||
<li>
|
||||
<asp:HyperLink ID="lnkRdsSetupLetter" runat="server" meta:resourcekey="lnkRdsSetupLetter"
|
||||
Text="RDS Setup Letter" NavigateUrl='<%# GetSettingsLink("RdsSetupLetter", "SettingsRdsSetupLetter") %>'></asp:HyperLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="FormFooter">
|
||||
|
|
|
@ -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>
|
||||
// This code was generated by a tool.
|
||||
|
@ -121,6 +93,15 @@ namespace WebsitePanel.Portal {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkDomainLookupLetter;
|
||||
|
||||
/// <summary>
|
||||
/// lnkRdsSetupLetter 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.HyperLink lnkRdsSetupLetter;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
|
|
|
@ -95,8 +95,11 @@ namespace WebsitePanel.Portal.UserControls
|
|||
PrepareBlackBerryMenuRoot(items);
|
||||
|
||||
//SharePoint menu group;
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint))
|
||||
PrepareSharePointMenuRoot(items);
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointFoundationServerGroup"));
|
||||
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.SharepointServer))
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointServerGroup"));
|
||||
|
||||
//CRM Menu
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
|
@ -359,7 +362,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users", @"Icons/blackberry_users_48.png"));
|
||||
}
|
||||
|
||||
private void PrepareSharePointMenuRoot(MenuItemCollection items)
|
||||
private void PrepareSharePointMenuRoot(MenuItemCollection items, string menuItemText)
|
||||
{
|
||||
if (ShortMenu)
|
||||
{
|
||||
|
@ -367,7 +370,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
}
|
||||
else
|
||||
{
|
||||
MenuItem item = new MenuItem(GetLocalizedString("Text.SharePointGroup"), "", "", null);
|
||||
MenuItem item = new MenuItem(menuItemText, "", "", null);
|
||||
|
||||
item.Selectable = false;
|
||||
|
||||
|
|
|
@ -400,6 +400,13 @@
|
|||
<Compile Include="RDS\RDSLocalAdmins.ascx.designer.cs">
|
||||
<DependentUpon>RDSLocalAdmins.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSSetupLetter.ascx.cs">
|
||||
<DependentUpon>RDSSetupLetter.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSSetupLetter.ascx.designer.cs">
|
||||
<DependentUpon>RDSSetupLetter.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSUserSessions.ascx.cs">
|
||||
<DependentUpon>RDSUserSessions.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -475,6 +482,13 @@
|
|||
<Compile Include="SettingsDomainLookupLetter.ascx.designer.cs">
|
||||
<DependentUpon>SettingsDomainLookupLetter.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsRdsSetupLetter.ascx.cs">
|
||||
<DependentUpon>SettingsRdsSetupLetter.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingsRdsSetupLetter.ascx.designer.cs">
|
||||
<DependentUpon>SettingsRdsSetupLetter.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsServiceLevels.ascx.cs">
|
||||
<DependentUpon>SettingsServiceLevels.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -4499,6 +4513,7 @@
|
|||
<Content Include="ProviderControls\App_LocalResources\SmarterMail100_EditList.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="App_LocalResources\SettingsRdsSetupLetter.ascx.resx" />
|
||||
<EmbeddedResource Include="RDS\App_LocalResources\RDSEditCollectionSettings.ascx.resx" />
|
||||
<Content Include="RDS\AssignedRDSServers.ascx" />
|
||||
<Content Include="RDS\AddRDSServer.ascx" />
|
||||
|
@ -4510,6 +4525,7 @@
|
|||
<Content Include="RDS\RDSCreateCollection.ascx" />
|
||||
<Content Include="RDS\RDSCollections.ascx" />
|
||||
<Content Include="RDS\RDSLocalAdmins.ascx" />
|
||||
<Content Include="RDS\RDSSetupLetter.ascx" />
|
||||
<Content Include="RDS\RDSUserSessions.ascx" />
|
||||
<Content Include="RDS\UserControls\RDSCollectionApps.ascx" />
|
||||
<Content Include="RDS\UserControls\RDSCollectionServers.ascx" />
|
||||
|
@ -4534,6 +4550,7 @@
|
|||
</Content>
|
||||
<Content Include="RDS\App_LocalResources\RDSUserSessions.ascx.resx" />
|
||||
<Content Include="RDS\App_LocalResources\RDSLocalAdmins.ascx.resx" />
|
||||
<Content Include="RDS\App_LocalResources\RDSSetupLetter.ascx.resx" />
|
||||
<EmbeddedResource Include="ScheduleTaskControls\App_LocalResources\DomainLookupView.ascx.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>DomainLookupView.ascx.Designer.cs</LastGenOutput>
|
||||
|
@ -4542,6 +4559,7 @@
|
|||
<Content Include="ScheduleTaskControls\DomainLookupView.ascx" />
|
||||
<Content Include="SettingsDomainExpirationLetter.ascx" />
|
||||
<Content Include="SettingsDomainLookupLetter.ascx" />
|
||||
<Content Include="SettingsRdsSetupLetter.ascx" />
|
||||
<Content Include="SettingsServiceLevels.ascx" />
|
||||
<Content Include="CRM\CRMStorageSettings.ascx" />
|
||||
<Content Include="ExchangeServer\EnterpriseStorageCreateDriveMap.ascx" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue