From 5a903a4399c7d42075e13d8f1adf4d6c1b2a81bd Mon Sep 17 00:00:00 2001 From: sherif-olaboye <123654949+sherif-olaboye@users.noreply.github.com> Date: Thu, 30 Jul 2026 15:51:41 +0100 Subject: [PATCH] TD-7482 include Certificate to self-assessment certificate download --- .../LearningPortalController/SelfAssessment.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs b/DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs index 9a6ff1c2bc..9e5adc0dbb 100644 --- a/DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs +++ b/DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs @@ -1741,13 +1741,22 @@ public async Task DownloadCertificate(int candidateAssessmentId) var pdfReportFile = await pdfService.GetPdfReportFile(pdfReportResponse); if (pdfReportFile != null) { + const int MaxFileNameLength = 150; + const string extension = ".pdf"; var nameTextLength = string.IsNullOrEmpty(model.CompetencySelfAssessmentCertificates.LearnerName) ? 0 : model.CompetencySelfAssessmentCertificates.LearnerName.Length; var isPrnExist = !string.IsNullOrEmpty(model.CompetencySelfAssessmentCertificates.LearnerPRN); var selfAssessmentName = model.CompetencySelfAssessmentCertificates.SelfAssessment ?? string.Empty; var shortSelfAssessment = selfAssessmentName[..Math.Min(50, selfAssessmentName.Length)]; var learnerName = model.CompetencySelfAssessmentCertificates.LearnerName ?? string.Empty; var shortLearnerName = learnerName[..Math.Min(15, learnerName.Length)]; - var fileName = $"{shortSelfAssessment} - {shortLearnerName}" + (isPrnExist ? $" - {model.CompetencySelfAssessmentCertificates.LearnerPRN}.pdf" : ".pdf"); + var fileName = $"Certificate - {shortSelfAssessment} - {shortLearnerName}" + (isPrnExist ? $" - {model.CompetencySelfAssessmentCertificates.LearnerPRN}" : ""); + if (fileName.Length > MaxFileNameLength) + { + fileName = fileName[..MaxFileNameLength]; + fileName = fileName + extension; + return File(pdfReportFile, FileHelper.GetContentTypeFromFileName(fileName), fileName); + } + fileName = fileName + extension; return File(pdfReportFile, FileHelper.GetContentTypeFromFileName(fileName), fileName); } }