Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public interface ISupervisorDataService
{
//GET DATA
DashboardData? GetDashboardDataForAdminId(int adminId);
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId);
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId, int? adminIdCategoryID);
SupervisorDelegateDetail GetSupervisorDelegateDetailsById(int supervisorDelegateId, int adminId, int delegateUserId);
SupervisorDelegate GetSupervisorDelegate(int adminId, int delegateUserId);
int? ValidateDelegate(int centreId, string delegateEmail);
Expand Down Expand Up @@ -158,7 +158,7 @@ FROM CandidateAssessmentSupervisors AS cas INNER JOIN
).FirstOrDefault();
}

public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId)
public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId, int? adminIdCategoryID)
{
return connection.Query<SupervisorDelegateDetail>(
$@"SELECT sd.ID,
Expand All @@ -177,7 +177,9 @@ FROM CandidateAssessments AS ca LEFT JOIN
CandidateAssessmentSupervisors AS cas ON cas.CandidateAssessmentID = ca.ID AND cas.Removed IS NULL AND cas.SupervisorDelegateId = sd.ID INNER JOIN
SelfAssessments AS sa ON sa.ID = ca.SelfAssessmentID
WHERE (ca.RemovedDate IS NULL) AND (ca.DelegateUserID=sd.DelegateUserID) AND (cas.SupervisorDelegateId = sd.ID OR (cas.CandidateAssessmentID IS NULL)
AND ((sa.SupervisorSelfAssessmentReview = 1) OR (sa.SupervisorResultsReview = 1)))) AS CandidateAssessmentCount,
AND ((sa.SupervisorSelfAssessmentReview = 1) OR (sa.SupervisorResultsReview = 1)))
AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryID)
) AS CandidateAssessmentCount,
CAST(COALESCE (au2.IsNominatedSupervisor, 0) AS Bit) AS DelegateIsNominatedSupervisor,
CAST(COALESCE (au2.IsSupervisor, 0) AS Bit) AS DelegateIsSupervisor,
da.ID AS Expr1
Expand Down Expand Up @@ -210,7 +212,7 @@ LEFT OUTER JOIN AdminAccounts AS au2
WHERE (sd.SupervisorAdminID = @adminId) AND (sd.Removed IS NULL) AND
(u.ID = da.UserID OR sd.DelegateUserID IS NULL)
ORDER BY u.LastName, COALESCE (u.FirstName, sd.DelegateEmail)
", new { adminId }
", new { adminId, adminIdCategoryID }
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public IActionResult MyStaffList(
var supervisorEmail = GetUserEmail();
var loggedInAdminUser = userService.GetAdminUserById(adminId);
var centreRegistrationPrompts = centreRegistrationPromptsService.GetCentreRegistrationPromptsByCentreId(centreId);
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId);
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId, loggedInAdminUser.CategoryId);
var isSupervisor = User.GetCustomClaimAsBool(CustomClaimTypes.IsSupervisor) ?? false;
var allSupervisorDelegateDetailViewModels = supervisorDelegateDetails.Select(
supervisor =>
Expand Down Expand Up @@ -337,8 +337,9 @@ public IActionResult AllStaffList()
var adminId = GetAdminId();
var centreId = GetCentreId();
var loggedInUserId = User.GetUserId();
var loggedInAdminUser = userService.GetAdminUserById(adminId);
var centreCustomPrompts = centreRegistrationPromptsService.GetCentreRegistrationPromptsByCentreId(centreId);
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId)
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId,loggedInAdminUser.CategoryId)
.Select(supervisor =>
{
return supervisor;
Expand Down Expand Up @@ -1382,12 +1383,13 @@ public IActionResult CompetencySelfAssessmentCertificatesupervisor(int candidate
{
var adminId = User.GetAdminId();
User.GetUserIdKnownNotNull();
var loggedInAdminUser = userService.GetAdminUserById(adminId.Value);
var competencymaindata = selfAssessmentService.GetCompetencySelfAssessmentCertificate(candidateAssessmentId);
if ((competencymaindata == null) || (candidateAssessmentId == 0))
{
return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
}
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId.Value);
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId.Value,loggedInAdminUser.CategoryId);
var checkSupervisorDelegate = supervisorDelegateDetails.Where(x => x.DelegateUserID == competencymaindata.LearnerId).FirstOrDefault();
if ((checkSupervisorDelegate == null))
{
Expand Down Expand Up @@ -1418,14 +1420,17 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId)
PdfReportStatusResponse pdfReportStatusResponse = new PdfReportStatusResponse();
var delegateId = User.GetCandidateIdKnownNotNull();
var adminId = User.GetAdminId();
var loggedInAdminUser = userService.GetAdminUserById(adminId.Value);
var competencymaindata = selfAssessmentService.GetCompetencySelfAssessmentCertificate(candidateAssessmentId);
if (competencymaindata == null || candidateAssessmentId == 0 || adminId == 0)
{
return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
}
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId.Value);
var checkSupervisorDelegate = supervisorDelegateDetails.Where(x => x.DelegateUserID == competencymaindata.LearnerId).FirstOrDefault();
if (checkSupervisorDelegate == null) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });

var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId.Value, loggedInAdminUser.CategoryId);
var checkSupervisorDelegate = supervisorDelegateDetails.Where(x => x.DelegateUserID == competencymaindata.LearnerId).FirstOrDefault();
if (checkSupervisorDelegate == null) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });

var delegateUserId = competencymaindata.LearnerId;
var competencycount = selfAssessmentService.GetCompetencyCountSelfAssessmentCertificate(candidateAssessmentId);
var accessors = selfAssessmentService.GetAccessor(competencymaindata.SelfAssessmentID, competencymaindata.LearnerId);
Expand Down
6 changes: 3 additions & 3 deletions DigitalLearningSolutions.Web/Services/SupervisorService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public interface ISupervisorService
{
//GET DATA
DashboardData? GetDashboardDataForAdminId(int adminId);
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId);
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId, int? adminIdCategoryID);
SupervisorDelegateDetail GetSupervisorDelegateDetailsById(int supervisorDelegateId, int adminId, int delegateUserId);
SupervisorDelegate GetSupervisorDelegate(int adminId, int delegateUserId);
int? ValidateDelegate(int centreId, string delegateEmail);
Expand Down Expand Up @@ -167,9 +167,9 @@ public SupervisorDelegateDetail GetSupervisorDelegateDetailsById(int supervisorD
return supervisorDataService.GetSupervisorDelegateDetailsById(supervisorDelegateId, adminId, delegateUserId);
}

public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId)
public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminId(int adminId, int? adminIdCategoryID)
{
return supervisorDataService.GetSupervisorDelegateDetailsForAdminId(adminId);
return supervisorDataService.GetSupervisorDelegateDetailsForAdminId(adminId, adminIdCategoryID);
}

public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID)
Expand Down
Loading