This commit is contained in:
2022-06-09 15:05:54 +01:00
parent 833798c9f8
commit 5fc6389af2
47 changed files with 422 additions and 159 deletions
@@ -19,7 +19,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
//-------------------------------------------------------------------
// Data members.
public static String ParamName_OrganisationLogoEncrypted { get; } = "ole";
public static String ParamName_ArticleImageEncrypted { get; } = "aie";
public static String ParamName_ItemImageEncrypted { get; } = "iie";
public static String ParamName_OrganisationId { get; } = "ori";
public static String ParamName_ItemImageId { get; } = "iii";
@@ -175,26 +175,26 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
}
//-------------------------------------------------------------------
// Article image.
// Item image.
//-------------------------------------------------------------------
/// <summary>
/// Get the specified Article Image.
/// <para>Method parameter name (aie) must match name of encrypted parameter.</para>
/// Get the specified Item Image.
/// <para>Method parameter name (iie) must match name of encrypted parameter.</para>
/// <para>Encrypted parameters:</para>
/// <para>- iii: Item Image Id.</para>
/// </summary>
[HttpGet]
[Route("Image/Article")]
public IActionResult GetArticleImage(String aie)
[Route("Image/Item")]
public IActionResult GetItemImage(String iie)
{
String fn = GetType().Name + ".GetArticleImage";
String fn = GetType().Name + ".GetItemImage";
// Validate session and referrer.
if (!ValidReferer || !ValidUserSession) return Forbid();
ItemId userItemId = new ItemId((short)Sax.DataItemType.UserAccount, UserAccountId);
// Extract encrypted parameters.
NameValueCollection parameters = ExtractSessionParams(aie);
NameValueCollection parameters = ExtractSessionParams(iie);
if (parameters.Count < 1) return Forbid();
// Item Image.
@@ -80,7 +80,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
// Organisation Logo image url.
if (ItemDataMgr.ItemHasActiveImage(organisation.GetItemId(), Sax.ImageType.OrganisationLogo))
data.LogoImageUrl = GetOrganisationLogoUrl(organisation.Id, false);
data.LogoImageUrl = GetOrganisationLogoLink(organisation.Id, false);
}
private void PopulateOrganisationResponseItemData(SaxOrganisation organisation, SaxItemAddress address, OrganisationItemData data)
{
@@ -220,7 +220,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
};
// Logo image.
if (StringUtil.ToLong(values.GetString(colLogoCount.DataName)) > 0)
organisationData.LogoImageUrl = GetOrganisationLogoUrl(organisationId, false);
organisationData.LogoImageUrl = GetOrganisationLogoLink(organisationId, false);
// Primary region.
organisationData.RegionPrimary.Id = SysId.ToString(new SysId(values.GetLong(colRegionId.DataName)), null);
organisationData.RegionPrimary.Name = StringUtil.OnEmpty(values.GetString(colRegionName.DataName), null);
@@ -206,7 +206,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
}
// Return image url with response.
responseData.ImageUrl = GetOrganisationLogoUrl(organisation.Id, true);
responseData.ImageUrl = GetOrganisationLogoLink(organisation.Id, true);
}
// Complete response.
@@ -121,13 +121,13 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
}
//-------------------------------------------------------------------
// Organisation utilities.
// IMage utilities.
//-------------------------------------------------------------------
/// <summary>
/// Construct URL to display Organisation logo.
/// <para>- Option to allow for 'Upload' image if active.</para>
/// </summary>
protected String GetOrganisationLogoUrl(SysId organisationId, bool uploadImage)
protected String GetOrganisationLogoLink(SysId organisationId, bool uploadImage)
{
String imageLink = "Image/Organisation/Logo" + (uploadImage ? "/Upload" : "") + "?";
NameValueCollection parameters = new NameValueCollection();