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);
|
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"],
|
es.CreateFolder(org.OrganizationId, folderName, setting);
|
||||||
esSesstings["UsersHome"], esSesstings["UsersDomain"]);
|
|
||||||
|
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)
|
if (addDefaultGroup)
|
||||||
{
|
{
|
||||||
|
@ -522,14 +529,13 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
|
|
||||||
|
|
||||||
es.CreateFolder(org.OrganizationId, folderName);
|
|
||||||
|
|
||||||
// check if it's not root folder
|
// check if it's not root folder
|
||||||
if (!string.IsNullOrEmpty(folderName))
|
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);
|
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)
|
if (quotaSize == 0)
|
||||||
return;
|
return;
|
||||||
|
@ -979,14 +985,17 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
int esServiceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.EnterpriseStorage);
|
int esServiceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.EnterpriseStorage);
|
||||||
|
|
||||||
if (esServiceId != 0)
|
if (esServiceId != 0)
|
||||||
|
{
|
||||||
|
var curSetting = setting;
|
||||||
|
|
||||||
|
if (curSetting == null || curSetting.IsEmpty())
|
||||||
{
|
{
|
||||||
StringDictionary esSesstings = ServerController.GetServiceSettings(esServiceId);
|
StringDictionary esSesstings = ServerController.GetServiceSettings(esServiceId);
|
||||||
|
|
||||||
string usersHome = esSesstings["UsersHome"];
|
curSetting = new WebDavSetting(esSesstings["LocationDrive"], esSesstings["UsersHome"], esSesstings["UsersDomain"]);
|
||||||
string usersDomain = esSesstings["UsersDomain"];
|
}
|
||||||
string locationDrive = esSesstings["LocationDrive"];
|
|
||||||
|
|
||||||
var orgFolder = Path.Combine(usersHome, orgId, folderName);
|
var orgFolder = Path.Combine(curSetting.HomeFolder, orgId, folderName);
|
||||||
|
|
||||||
var os = GetOS(packageId);
|
var os = GetOS(packageId);
|
||||||
|
|
||||||
|
@ -1011,7 +1020,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
#endregion
|
#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)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
||||||
{
|
{
|
||||||
SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings);
|
SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings);
|
||||||
SystemFile GetFolder(string organizationId, string folderName, WebDavSetting setting);
|
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);
|
SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder, WebDavSetting setting);
|
||||||
void DeleteFolder(string organizationId, string folder, WebDavSetting setting);
|
void DeleteFolder(string organizationId, string folder, WebDavSetting setting);
|
||||||
bool SetFolderWebDavRules(string organizationId, string folder, WebDavSetting setting, WebDavFolderRule[] rules);
|
bool SetFolderWebDavRules(string organizationId, string folder, WebDavSetting setting, WebDavFolderRule[] rules);
|
||||||
|
|
|
@ -152,9 +152,11 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
||||||
return folder;
|
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)
|
public SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder, WebDavSetting setting)
|
||||||
|
|
|
@ -221,19 +221,21 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[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)]
|
[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[] {
|
this.Invoke("CreateFolder", new object[] {
|
||||||
organizationId,
|
organizationId,
|
||||||
folder});
|
folder,
|
||||||
|
setting});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <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[] {
|
return this.BeginInvoke("CreateFolder", new object[] {
|
||||||
organizationId,
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder,
|
||||||
|
setting}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
|
@ -243,13 +245,13 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <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/>
|
/// <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))
|
if ((this.CreateFolderOperationCompleted == null))
|
||||||
{
|
{
|
||||||
|
@ -257,7 +259,8 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
||||||
}
|
}
|
||||||
this.InvokeAsync("CreateFolder", new object[] {
|
this.InvokeAsync("CreateFolder", new object[] {
|
||||||
organizationId,
|
organizationId,
|
||||||
folder}, this.CreateFolderOperationCompleted, userState);
|
folder,
|
||||||
|
setting}, this.CreateFolderOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCreateFolderOperationCompleted(object arg)
|
private void OnCreateFolderOperationCompleted(object arg)
|
||||||
|
|
|
@ -93,12 +93,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void CreateFolder(string organizationId, string folder)
|
public void CreateFolder(string organizationId, string folder, WebDavSetting setting)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Log.WriteStart("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
Log.WriteStart("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
||||||
EnterpriseStorageProvider.CreateFolder(organizationId, folder);
|
EnterpriseStorageProvider.CreateFolder(organizationId, folder, setting);
|
||||||
Log.WriteEnd("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
Log.WriteEnd("'{0}' CreateFolder", ProviderSettings.ProviderName);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue