fixed webdav root path
This commit is contained in:
parent
eed185b894
commit
2f5e8cdc7d
5 changed files with 43 additions and 29 deletions
|
@ -448,12 +448,19 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
StringDictionary esSesstings = ServerController.GetServiceSettings(esId);
|
||||
|
||||
es.CreateFolder(org.OrganizationId, folderName);
|
||||
var setting = ObjectUtils.CreateListFromDataReader<WebDavSetting>(
|
||||
DataProvider.GetEnterpriseFolders(itemId)).LastOrDefault(x => !x.IsEmpty())
|
||||
?? new WebDavSetting(esSesstings["LocationDrive"], esSesstings["UsersHome"], esSesstings["UsersDomain"]);
|
||||
|
||||
SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota, quotaType);
|
||||
|
||||
DataProvider.AddEntepriseFolder(itemId, folderName, quota, esSesstings["LocationDrive"],
|
||||
esSesstings["UsersHome"], esSesstings["UsersDomain"]);
|
||||
es.CreateFolder(org.OrganizationId, folderName, setting);
|
||||
|
||||
DataProvider.AddEntepriseFolder(itemId, folderName, quota,
|
||||
setting.LocationDrive, setting.HomeFolder, setting.Domain);
|
||||
|
||||
SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota, quotaType, setting);
|
||||
|
||||
DataProvider.UpdateEnterpriseFolder(itemId, folderName, folderName, quota);
|
||||
|
||||
if (addDefaultGroup)
|
||||
{
|
||||
|
@ -522,14 +529,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return;
|
||||
}
|
||||
|
||||
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
|
||||
|
||||
es.CreateFolder(org.OrganizationId, folderName);
|
||||
|
||||
// check if it's not root folder
|
||||
if (!string.IsNullOrEmpty(folderName))
|
||||
{
|
||||
SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota, quotaType);
|
||||
var webDavSetting = ObjectUtils.FillObjectFromDataReader<WebDavSetting>(
|
||||
DataProvider.GetEnterpriseFolder(itemId, folderName));
|
||||
|
||||
SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota, quotaType, webDavSetting);
|
||||
|
||||
DataProvider.UpdateEnterpriseFolder(itemId, folderName, folderName, quota);
|
||||
}
|
||||
|
@ -963,7 +969,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
}
|
||||
|
||||
private static void SetFolderQuota(int packageId, string orgId, string folderName, int quotaSize, QuotaType quotaType)
|
||||
private static void SetFolderQuota(int packageId, string orgId, string folderName, int quotaSize, QuotaType quotaType, WebDavSetting setting)
|
||||
{
|
||||
if (quotaSize == 0)
|
||||
return;
|
||||
|
@ -979,14 +985,17 @@ namespace WebsitePanel.EnterpriseServer
|
|||
int esServiceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.EnterpriseStorage);
|
||||
|
||||
if (esServiceId != 0)
|
||||
{
|
||||
var curSetting = setting;
|
||||
|
||||
if (curSetting == null || curSetting.IsEmpty())
|
||||
{
|
||||
StringDictionary esSesstings = ServerController.GetServiceSettings(esServiceId);
|
||||
|
||||
string usersHome = esSesstings["UsersHome"];
|
||||
string usersDomain = esSesstings["UsersDomain"];
|
||||
string locationDrive = esSesstings["LocationDrive"];
|
||||
curSetting = new WebDavSetting(esSesstings["LocationDrive"], esSesstings["UsersHome"], esSesstings["UsersDomain"]);
|
||||
}
|
||||
|
||||
var orgFolder = Path.Combine(usersHome, orgId, folderName);
|
||||
var orgFolder = Path.Combine(curSetting.HomeFolder, orgId, folderName);
|
||||
|
||||
var os = GetOS(packageId);
|
||||
|
||||
|
@ -1011,7 +1020,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
#endregion
|
||||
|
||||
os.SetQuotaLimitOnFolder(orgFolder, locationDrive, quotaType, quotaSize.ToString() + unit, 0, String.Empty, String.Empty);
|
||||
os.SetQuotaLimitOnFolder(orgFolder, curSetting.LocationDrive, quotaType, quotaSize.ToString() + unit, 0, String.Empty, String.Empty);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
{
|
||||
SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings);
|
||||
SystemFile GetFolder(string organizationId, string folderName, WebDavSetting setting);
|
||||
void CreateFolder(string organizationId, string folder);
|
||||
void CreateFolder(string organizationId, string folder, WebDavSetting setting);
|
||||
SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder, WebDavSetting setting);
|
||||
void DeleteFolder(string organizationId, string folder, WebDavSetting setting);
|
||||
bool SetFolderWebDavRules(string organizationId, string folder, WebDavSetting setting, WebDavFolderRule[] rules);
|
||||
|
|
|
@ -152,9 +152,11 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
return folder;
|
||||
}
|
||||
|
||||
public void CreateFolder(string organizationId, string folder)
|
||||
public void CreateFolder(string organizationId, string folder, WebDavSetting setting)
|
||||
{
|
||||
FileUtils.CreateDirectory(string.Format("{0}:\\{1}\\{2}\\{3}", LocationDrive, UsersHome, organizationId, folder));
|
||||
var webDavSetting = GetWebDavSetting(setting);
|
||||
|
||||
FileUtils.CreateDirectory(string.Format("{0}:\\{1}\\{2}\\{3}", webDavSetting.LocationDrive, webDavSetting.HomeFolder, organizationId, folder));
|
||||
}
|
||||
|
||||
public SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder, WebDavSetting setting)
|
||||
|
|
|
@ -221,19 +221,21 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateFolder", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void CreateFolder(string organizationId, string folder)
|
||||
public void CreateFolder(string organizationId, string folder, WebDavSetting setting)
|
||||
{
|
||||
this.Invoke("CreateFolder", new object[] {
|
||||
organizationId,
|
||||
folder});
|
||||
folder,
|
||||
setting});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCreateFolder(string organizationId, string folder, System.AsyncCallback callback, object asyncState)
|
||||
public System.IAsyncResult BeginCreateFolder(string organizationId, string folder, WebDavSetting setting, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("CreateFolder", new object[] {
|
||||
organizationId,
|
||||
folder}, callback, asyncState);
|
||||
folder,
|
||||
setting}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -243,13 +245,13 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateFolderAsync(string organizationId, string folder)
|
||||
public void CreateFolderAsync(string organizationId, string folder, WebDavSetting setting)
|
||||
{
|
||||
this.CreateFolderAsync(organizationId, folder, null);
|
||||
this.CreateFolderAsync(organizationId, folder, setting, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateFolderAsync(string organizationId, string folder, object userState)
|
||||
public void CreateFolderAsync(string organizationId, string folder, WebDavSetting setting, object userState)
|
||||
{
|
||||
if ((this.CreateFolderOperationCompleted == null))
|
||||
{
|
||||
|
@ -257,7 +259,8 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
}
|
||||
this.InvokeAsync("CreateFolder", new object[] {
|
||||
organizationId,
|
||||
folder}, this.CreateFolderOperationCompleted, userState);
|
||||
folder,
|
||||
setting}, this.CreateFolderOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnCreateFolderOperationCompleted(object arg)
|
||||
|
|
|
@ -93,12 +93,12 @@ namespace WebsitePanel.Server
|
|||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void CreateFolder(string organizationId, string folder)
|
||||
public void CreateFolder(string organizationId, string folder, WebDavSetting setting)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.WriteStart("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
||||
EnterpriseStorageProvider.CreateFolder(organizationId, folder);
|
||||
EnterpriseStorageProvider.CreateFolder(organizationId, folder, setting);
|
||||
Log.WriteEnd("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue