Skip to content

Commit

Permalink
Merge pull request #2875 from TechnologyEnhancedLearning/Develop/Fixe…
Browse files Browse the repository at this point in the history
…s/TD-4702-Downloadself-assessmentcertificatelinkURLcanbemanipulatedandabletodownloadotheruservalidcertificates

TD-4702 fixing error due to early refactoring of the certificate
  • Loading branch information
rshrirohit authored Oct 8, 2024
2 parents 33e3a3b + 0fe7c6b commit d78d8dd
Showing 1 changed file with 4 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1432,42 +1432,13 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId)
var competencyFlags = frameworkService.GetSelectedCompetencyFlagsByCompetecyIds(competencyIds);
var competencies = CompetencyFilterHelper.FilterCompetencies(recentResults, competencyFlags, null);
var supervisorSignOffs = selfAssessmentService.GetSupervisorSignOffsForCandidateAssessment(competencymaindata.SelfAssessmentID, delegateUserId);
if (!CertificateHelper.CanViewCertificate(recentResults, supervisorSignOffs))
var competencySummaries = CertificateHelper.CanViewCertificate(recentResults, supervisorSignOffs);
if (!competencySummaries.CanViewCertificate)
{
return RedirectToAction("StatusCode", "LearningSolutions", new { code = 401 });
}
foreach (var competency in competencies)
{
competency.QuestionLabel = assessment.QuestionLabel;
foreach (var assessmentQuestion in competency.AssessmentQuestions)
{
if (assessmentQuestion.AssessmentQuestionInputTypeID != 2)
{
assessmentQuestion.LevelDescriptors = selfAssessmentService
.GetLevelDescriptorsForAssessmentQuestion(
assessmentQuestion.Id,
assessmentQuestion.MinValue,
assessmentQuestion.MaxValue,
assessmentQuestion.MinValue == 0
).ToList();
}
}
}

var CompetencyGroups = competencies.GroupBy(competency => competency.CompetencyGroup);
var competencySummaries = from g in CompetencyGroups
let questions = g.SelectMany(c => c.AssessmentQuestions).Where(q => q.Required)
let selfAssessedCount = questions.Count(q => q.Result.HasValue)
let verifiedCount = questions.Count(q => !((q.Result == null || q.Verified == null || q.SignedOff != true) && q.Required))
select new
{
SelfAssessedCount = selfAssessedCount,
VerifiedCount = verifiedCount,
Questions = questions.Count()
};

int sumVerifiedCount = competencySummaries.Sum(item => item.VerifiedCount);
int sumQuestions = competencySummaries.Sum(item => item.Questions);
int sumVerifiedCount = competencySummaries.VerifiedCount;
int sumQuestions = competencySummaries.QuestionsCount;
var model = new ViewModels.LearningPortal.SelfAssessments.CompetencySelfAssessmentCertificateViewModel(competencymaindata, competencycount, "Proficiencies", accessors, activitySummaryCompetencySelfAssesment, sumQuestions, sumVerifiedCount, null);
var renderedViewHTML = RenderRazorViewToString(this, "SelfAssessments/DownloadCompetencySelfAssessmentCertificate", model);

Expand Down

0 comments on commit d78d8dd

Please sign in to comment.