From 1a278c34fe4772ad3c87db8ba683f15d0fa8686e Mon Sep 17 00:00:00 2001 From: robvde Date: Fri, 29 Nov 2013 14:35:10 +0400 Subject: [PATCH] Standard or organization user id generation was not consistent. Fixed to ensure consistency. --- .../ExchangeServerController.cs | 12 ++++++------ .../HostedSolution/OrganizationController.cs | 19 ++++++++++++++----- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs index e533a752..2070d35c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs @@ -1235,7 +1235,7 @@ namespace WebsitePanel.EnterpriseServer DataProvider.DeleteExchangeAccount(itemId, accountId); } - +/* private static string BuildAccountName(string orgId, string name) { string accountName = name = name.Replace(" ", ""); @@ -1271,7 +1271,7 @@ namespace WebsitePanel.EnterpriseServer } } - +*/ #endregion @@ -3041,7 +3041,7 @@ namespace WebsitePanel.EnterpriseServer if (idx > -1) name = email.Substring(0, idx); - string accountName = BuildAccountName(org.OrganizationId, name); + string accountName = OrganizationController.BuildAccountNameEx(org, name); // add contact int exchangeServiceId = GetExchangeServiceID(org.PackageId); @@ -3375,7 +3375,7 @@ namespace WebsitePanel.EnterpriseServer int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); if (packageCheck < 0) return packageCheck; - string accountName = OrganizationController.BuildAccountNameWithOrgId(org.OrganizationId, name, org.ServiceId); + string accountName = OrganizationController.BuildAccountNameEx(org, name); // add account // add contact @@ -4179,7 +4179,7 @@ namespace WebsitePanel.EnterpriseServer if (String.IsNullOrEmpty(name)) name = Utils.CleanIdentifier(folderName); - string accountName = BuildAccountName(org.OrganizationId, name); + string accountName = OrganizationController.BuildAccountNameEx(org, name); // add mailbox int exchangeServiceId = GetExchangeServiceID(org.PackageId); @@ -4324,7 +4324,7 @@ namespace WebsitePanel.EnterpriseServer if (EmailAddressExists(email)) return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; - string accountName = BuildAccountName(org.OrganizationId, name); + string accountName = OrganizationController.BuildAccountNameEx(org, name); int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs index 0099c991..42f97417 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs @@ -397,7 +397,7 @@ namespace WebsitePanel.EnterpriseServer { foreach (AdditionalGroup additionalGroup in GetAdditionalGroups(settings.UserId)) { - string additionalGroupName = BuildAccountNameWithOrgId(org.OrganizationId, additionalGroup.GroupName.Replace(" ", ""), org.ServiceId); + string additionalGroupName = BuildAccountNameEx(org, additionalGroup.GroupName.Replace(" ", "")); if (orgProxy.CreateSecurityGroup(org.OrganizationId, additionalGroupName) == 0) { @@ -1372,7 +1372,7 @@ namespace WebsitePanel.EnterpriseServer return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; // load organization - Organization org = GetOrganization(itemId); + WebsitePanel.Providers.HostedSolution.Organization org = GetOrganization(itemId); if (org == null) { @@ -1397,7 +1397,7 @@ namespace WebsitePanel.EnterpriseServer Organizations orgProxy = GetOrganizationProxy(org.ServiceId); string upn = string.Format("{0}@{1}", name, domain); - string sAMAccountName = AppendOrgId(serviceSettings) ? BuildAccountNameWithOrgId(org.OrganizationId, name, org.ServiceId) : BuildAccountName(org.OrganizationId, name, org.ServiceId); + string sAMAccountName = BuildAccountNameEx(org, name); TaskManager.Write("accountName :" + sAMAccountName); TaskManager.Write("upn :" + upn); @@ -1435,6 +1435,15 @@ namespace WebsitePanel.EnterpriseServer return userId; } + + public static string BuildAccountNameEx(Organization org, string name) + { + StringDictionary serviceSettings = ServerController.GetServiceSettings(org.ServiceId); + + return AppendOrgId(serviceSettings) ? BuildAccountNameWithOrgId(org.OrganizationId, name, org.ServiceId) : BuildAccountName(org.OrganizationId, name, org.ServiceId); + } + + /// Checks should or not user name include organization id. /// The service settings. /// True - if organization id should be appended. @@ -2359,8 +2368,8 @@ namespace WebsitePanel.EnterpriseServer Organizations orgProxy = GetOrganizationProxy(org.ServiceId); - string groupName = BuildAccountNameWithOrgId(org.OrganizationId, displayName.Replace(" ", ""), org.ServiceId); - + string groupName = BuildAccountNameEx(org, displayName.Replace(" ", "")); + TaskManager.Write("accountName :" + groupName); if (orgProxy.CreateSecurityGroup(org.OrganizationId, groupName) == 0)