Merge Commit

This commit is contained in:
robvde 2013-10-20 09:26:33 +04:00
commit 9247943323
24 changed files with 946 additions and 225 deletions

View file

@ -718,42 +718,28 @@ namespace WebsitePanel.Providers.HostedSolution
string server = GetServerName();
string securityGroupPath = AddADPrefix(securityGroup);
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
//Create mail enabled organization security group
EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId);
transaction.RegisterMailEnabledDistributionGroup(securityGroup);
UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer);
}
//Create mail enabled organization security group
EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId);
transaction.RegisterMailEnabledDistributionGroup(securityGroup);
UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer);
//create GAL
string galId = CreateGlobalAddressList(runSpace, organizationId);
transaction.RegisterNewGlobalAddressList(galId);
ExchangeLog.LogInfo(" Global Address List: {0}", galId);
if (enableDefaultGroup)
{
UpdateGlobalAddressList(runSpace, galId, securityGroupPath);
}
UpdateGlobalAddressList(runSpace, galId, securityGroupPath);
//create AL
string alId = CreateAddressList(runSpace, organizationId);
transaction.RegisterNewAddressList(alId);
ExchangeLog.LogInfo(" Address List: {0}", alId);
if (enableDefaultGroup)
{
UpdateAddressList(runSpace, alId, securityGroupPath);
}
UpdateAddressList(runSpace, alId, securityGroupPath);
//create RAL
string ralId = CreateRoomsAddressList(runSpace, organizationId);
transaction.RegisterNewRoomsAddressList(ralId);
ExchangeLog.LogInfo(" Rooms Address List: {0}", ralId);
if (enableDefaultGroup)
{
UpdateAddressList(runSpace, ralId, securityGroupPath);
}
UpdateAddressList(runSpace, ralId, securityGroupPath);
//create ActiveSync policy
string asId = CreateActiveSyncPolicy(runSpace, organizationId);
@ -855,13 +841,8 @@ namespace WebsitePanel.Providers.HostedSolution
string oabId = CreateOfflineAddressBook(runSpace, organizationId, server, oabVirtualDir);
transaction.RegisterNewOfflineAddressBook(oabId);
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
string securityGroupId = AddADPrefix(securityGroup);
UpdateOfflineAddressBook(runSpace, oabId, securityGroupId);
}
string securityGroupId = AddADPrefix(securityGroup);
UpdateOfflineAddressBook(runSpace, oabId, securityGroupId);
info.OfflineAddressBook = oabId;
}
@ -1016,12 +997,7 @@ namespace WebsitePanel.Providers.HostedSolution
//disable mail security distribution group
try
{
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
DisableMailSecurityDistributionGroup(runSpace, securityGroup);
}
DisableMailSecurityDistributionGroup(runSpace, securityGroup);
}
catch (Exception ex)
{
@ -4111,12 +4087,7 @@ namespace WebsitePanel.Providers.HostedSolution
string id = AddPublicFolder(runSpace, folderName, parentFolder);
transaction.RegisterNewPublicFolder(string.Empty, id);
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
SetPublicFolderPermissions(runSpace, id, securityGroup);
}
SetPublicFolderPermissions(runSpace, id, securityGroup);
if (mailEnabled)
{

View file

@ -92,42 +92,28 @@ namespace WebsitePanel.Providers.HostedSolution
string server = GetServerName();
string securityGroupPath = AddADPrefix(securityGroup);
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
//Create mail enabled organization security group
EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId);
transaction.RegisterMailEnabledDistributionGroup(securityGroup);
UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer);
}
//Create mail enabled organization security group
EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId);
transaction.RegisterMailEnabledDistributionGroup(securityGroup);
UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer);
//create GAL
string galId = CreateGlobalAddressList(runSpace, organizationId);
transaction.RegisterNewGlobalAddressList(galId);
ExchangeLog.LogInfo(" Global Address List: {0}", galId);
if (enableDefaultGroup)
{
UpdateGlobalAddressList(runSpace, galId, securityGroupPath);
}
UpdateGlobalAddressList(runSpace, galId, securityGroupPath);
//create AL
string alId = CreateAddressList(runSpace, organizationId);
transaction.RegisterNewAddressList(alId);
ExchangeLog.LogInfo(" Address List: {0}", alId);
if (enableDefaultGroup)
{
UpdateAddressList(runSpace, alId, securityGroupPath);
}
UpdateAddressList(runSpace, alId, securityGroupPath);
//create RAL
string ralId = CreateRoomsAddressList(runSpace, organizationId);
transaction.RegisterNewRoomsAddressList(ralId);
ExchangeLog.LogInfo(" Rooms Address List: {0}", ralId);
if (enableDefaultGroup)
{
UpdateAddressList(runSpace, ralId, securityGroupPath);
}
UpdateAddressList(runSpace, ralId, securityGroupPath);
//create ActiveSync policy
string asId = CreateActiveSyncPolicy(runSpace, organizationId);
@ -297,12 +283,7 @@ namespace WebsitePanel.Providers.HostedSolution
//disable mail security distribution group
try
{
bool enableDefaultGroup = !string.IsNullOrEmpty(securityGroup);
if (enableDefaultGroup)
{
DisableMailSecurityDistributionGroup(runSpace, securityGroup);
}
DisableMailSecurityDistributionGroup(runSpace, securityGroup);
}
catch (Exception ex)
{

View file

@ -206,12 +206,12 @@ namespace WebsitePanel.Providers.HostedSolution
return ActiveDirectoryUtils.AdObjectExists(orgPath);
}
public Organization CreateOrganization(string organizationId, bool enableDefaultGroup)
public Organization CreateOrganization(string organizationId)
{
return CreateOrganizationInternal(organizationId, enableDefaultGroup);
return CreateOrganizationInternal(organizationId);
}
internal Organization CreateOrganizationInternal(string organizationId, bool enableDefaultGroup)
internal Organization CreateOrganizationInternal(string organizationId)
{
HostedSolutionLog.LogStart("CreateOrganizationInternal");
HostedSolutionLog.DebugInfo("OrganizationId : {0}", organizationId);
@ -232,19 +232,14 @@ namespace WebsitePanel.Providers.HostedSolution
ActiveDirectoryUtils.CreateOrganizationalUnit(organizationId, parentPath);
ouCreated = true;
if (enableDefaultGroup)
{
//Create security group
ActiveDirectoryUtils.CreateGroup(orgPath, organizationId);
groupCreated = true;
}
//Create security group
ActiveDirectoryUtils.CreateGroup(orgPath, organizationId);
groupCreated = true;
org = new Organization();
org.OrganizationId = organizationId;
org.DistinguishedName = ActiveDirectoryUtils.RemoveADPrefix(orgPath);
org.SecurityGroup = enableDefaultGroup
? ActiveDirectoryUtils.RemoveADPrefix(GetGroupPath(organizationId))
: "";
org.SecurityGroup = ActiveDirectoryUtils.RemoveADPrefix(GetGroupPath(organizationId));
org.GroupName = organizationId;
}
@ -378,12 +373,12 @@ namespace WebsitePanel.Providers.HostedSolution
#region Users
public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled, bool enableDefaultGroup)
public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
{
return CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled, enableDefaultGroup);
return CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled);
}
internal int CreateUserInternal(string organizationId, string loginName, string displayName, string upn, string password, bool enabled, bool enableDefaultGroup)
internal int CreateUserInternal(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
{
HostedSolutionLog.LogStart("CreateUserInternal");
HostedSolutionLog.DebugInfo("organizationId : {0}", organizationId);
@ -421,14 +416,11 @@ namespace WebsitePanel.Providers.HostedSolution
return Errors.AD_OBJECT_ALREADY_EXISTS;
}
if (enableDefaultGroup)
{
string groupPath = GetGroupPath(organizationId);
HostedSolutionLog.DebugInfo("Group retrieved: {0}", groupPath);
string groupPath = GetGroupPath(organizationId);
HostedSolutionLog.DebugInfo("Group retrieved: {0}", groupPath);
ActiveDirectoryUtils.AddObjectToGroup(userPath, groupPath);
HostedSolutionLog.DebugInfo("Added to group: {0}", groupPath);
}
ActiveDirectoryUtils.AddObjectToGroup(userPath, groupPath);
HostedSolutionLog.DebugInfo("Added to group: {0}", groupPath);
}
catch (Exception e)
{