force file downloads if attachment is not a link instead of opening everything in new tab.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD 2025-09-15 14:13:15 -06:00
parent 6aad531099
commit 5859a020bd
3 changed files with 16 additions and 3 deletions

View File

@ -748,10 +748,23 @@ namespace CarCareTracker.Helper
return string.IsNullOrWhiteSpace(decorations) ? input.ToString("C2") : $"{input.ToString("C2")}{decorations}";
}
}
public static bool GetAttachmentIsLink(string fileLocation)
{
return (!fileLocation.StartsWith("/documents") && !fileLocation.StartsWith("documents") && !fileLocation.StartsWith("/temp") && !fileLocation.StartsWith("temp"));
}
public static string GetAttachmentOriginalName(string fileLocation, string originalName)
{
var fileExt = Path.GetExtension(fileLocation);
if (originalName.EndsWith(fileExt))
{
return originalName;
}
return $"{originalName}{fileExt}";
}
public static string GetIconByFileExtension(string fileLocation)
{
var fileExt = Path.GetExtension(fileLocation);
if (!fileLocation.StartsWith("/documents") && !fileLocation.StartsWith("documents") && !fileLocation.StartsWith("/temp") && !fileLocation.StartsWith("temp"))
if (GetAttachmentIsLink(fileLocation))
{
return "bi-link-45deg";
}

View File

@ -12,7 +12,7 @@
{
<li class="list-group-item">
<div class="d-flex justify-content-between">
<a class="uploadedFileName d-flex align-items-center text-truncate" href="@filesUploaded.Location" title="@filesUploaded.Name" target="_blank">
<a class="uploadedFileName d-flex align-items-center text-truncate" href="@filesUploaded.Location" title="@filesUploaded.Name" @(StaticHelper.GetAttachmentIsLink(filesUploaded.Location) ? "target=_blank" : $"download={StaticHelper.GetAttachmentOriginalName(filesUploaded.Location, filesUploaded.Name)}")>
<span class="lead me-2"><i class="bi @StaticHelper.GetIconByFileExtension(filesUploaded.Location)"></i></span><span class="text-link">@filesUploaded.Name</span>
</a>
<div class="d-flex align-items-center">

View File

@ -14,7 +14,7 @@
{
<li class="list-group-item">
<div class="d-flex justify-content-between align-items-center">
<a class="uploadedFileName d-flex align-items-center text-truncate" href="@filesUploaded.Location" title="@filesUploaded.Name" target="_blank">
<a class="uploadedFileName d-flex align-items-center text-truncate" href="@filesUploaded.Location" title="@filesUploaded.Name" @(StaticHelper.GetAttachmentIsLink(filesUploaded.Location) ? "target=_blank" : $"download={StaticHelper.GetAttachmentOriginalName(filesUploaded.Location, filesUploaded.Name)}")>
<span class="lead me-2"><i class="bi @StaticHelper.GetIconByFileExtension(filesUploaded.Location)"></i></span><span class="text-link">@filesUploaded.Name</span>
</a>
<div class="d-flex align-items-center">