Api: fix attachments

This commit is contained in:
pavelbannov 2020-11-03 18:16:23 +03:00
parent 790d2fc934
commit 8cfbf8cc7f
2 changed files with 17 additions and 21 deletions

View File

@ -945,7 +945,7 @@ namespace ASC.Api.Settings
///<visible>false</visible>
[Create("whitelabel/savefromfiles")]
public bool SaveWhiteLabelSettingsFromFiles([FromForm]WhiteLabelModel1 model, [FromQuery]WhiteLabelQuery query)
public bool SaveWhiteLabelSettingsFromFiles([FromQuery] WhiteLabelQuery query)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@ -954,7 +954,7 @@ namespace ASC.Api.Settings
throw new BillingException(Resource.ErrorNotAllowedOption, "WhiteLabel");
}
if (model.Attachments == null || !model.Attachments.Any())
if (HttpContext.Request.Form?.Files == null || !HttpContext.Request.Form.Files.Any())
{
throw new InvalidOperationException("No input files");
}
@ -962,33 +962,33 @@ namespace ASC.Api.Settings
if (query.IsDefault)
{
DemandRebrandingPermission();
SaveWhiteLabelSettingsFromFilesForDefaultTenant(model);
SaveWhiteLabelSettingsFromFilesForDefaultTenant();
}
else
{
SaveWhiteLabelSettingsFromFilesForCurrentTenant(model);
SaveWhiteLabelSettingsFromFilesForCurrentTenant();
}
return true;
}
private void SaveWhiteLabelSettingsFromFilesForCurrentTenant(WhiteLabelModel1 model)
private void SaveWhiteLabelSettingsFromFilesForCurrentTenant()
{
var settings = SettingsManager.Load<TenantWhiteLabelSettings>();
SaveWhiteLabelSettingsFromFilesForTenant(settings, null, Tenant.TenantId, model);
SaveWhiteLabelSettingsFromFilesForTenant(settings, null, Tenant.TenantId);
}
private void SaveWhiteLabelSettingsFromFilesForDefaultTenant(WhiteLabelModel1 model)
private void SaveWhiteLabelSettingsFromFilesForDefaultTenant()
{
var settings = SettingsManager.LoadForDefaultTenant<TenantWhiteLabelSettings>();
var storage = StorageFactory.GetStorage(string.Empty, "static_partnerdata");
SaveWhiteLabelSettingsFromFilesForTenant(settings, storage, Tenant.DEFAULT_TENANT, model);
SaveWhiteLabelSettingsFromFilesForTenant(settings, storage, Tenant.DEFAULT_TENANT);
}
private void SaveWhiteLabelSettingsFromFilesForTenant(TenantWhiteLabelSettings settings, IDataStore storage, int tenantId, WhiteLabelModel1 model)
private void SaveWhiteLabelSettingsFromFilesForTenant(TenantWhiteLabelSettings settings, IDataStore storage, int tenantId)
{
foreach (var f in model.Attachments)
foreach (var f in HttpContext.Request.Form.Files)
{
var parts = f.FileName.Split('.');
var logoType = (WhiteLabelLogoTypeEnum)(Convert.ToInt32(parts[0]));

View File

@ -8,14 +8,10 @@ namespace ASC.Web.Api.Models
{
public class WhiteLabelModel
{
public IEnumerable<IFormFile> Attachments { get; set; }
public string LogoText { get; set; }
public IEnumerable<ItemKeyValuePair<string, string>> Logo { get; set; }
}
public class WhiteLabelModel1
{
public IEnumerable<IFormFile> Attachments { get; set; }
}
public class WhiteLabelQuery
{
public bool IsDefault { get; set; }