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 @@ -24,10 +24,12 @@ public IActionResult Index()
var signOffRequests = supervisorService.GetSupervisorDashboardToDoItemsForRequestedSignOffs(adminId);
var reviewRequests = supervisorService.GetSupervisorDashboardToDoItemsForRequestedReviews(adminId);
var supervisorDashboardToDoItems = Enumerable.Concat(signOffRequests, reviewRequests);
var bannerText = GetBannerText();
var model = new SupervisorDashboardViewModel()
{
DashboardData = dashboardData,
SupervisorDashboardToDoItems = supervisorDashboardToDoItems
SupervisorDashboardToDoItems = supervisorDashboardToDoItems,
BannerText = bannerText
};
return View(model);
}
Expand Down Expand Up @@ -168,7 +170,7 @@ public IActionResult ConfirmSupervise(int supervisorDelegateId)
public IActionResult RemoveSupervisorDelegateConfirm(int supervisorDelegateId, ReturnPageQuery returnPageQuery)
{
var superviseDelegate = supervisorService.GetSupervisorDelegateDetailsById(supervisorDelegateId, GetAdminID(), 0);
if(superviseDelegate == null)
if (superviseDelegate == null)
{
return RedirectToAction("MyStaffList");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public partial class SupervisorController : Controller
private readonly ISearchSortFilterPaginateService searchSortFilterPaginateService;
private readonly IMultiPageFormService multiPageFormService;
private readonly IRegistrationService registrationService;

private readonly ICentresDataService centresDataService;
public SupervisorController(
ISupervisorService supervisorService,
ICommonService commonService,
Expand All @@ -39,7 +39,8 @@ public SupervisorController(
IConfiguration config,
ISearchSortFilterPaginateService searchSortFilterPaginateService,
IMultiPageFormService multiPageFormService,
IRegistrationService registrationService
IRegistrationService registrationService,
ICentresDataService centresDataService
)
{
this.supervisorService = supervisorService;
Expand All @@ -55,6 +56,7 @@ IRegistrationService registrationService
this.searchSortFilterPaginateService = searchSortFilterPaginateService;
this.multiPageFormService = multiPageFormService;
this.registrationService = registrationService;
this.centresDataService = centresDataService;
}

private int GetCentreId()
Expand All @@ -79,5 +81,12 @@ private string GetUserEmail()
return userEmail;
}
}

private string? GetBannerText()
{
var centreId = User.GetCentreId();
var bannerText = centresDataService.GetBannerText(centreId);
return bannerText;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

public class SupervisorDashboardViewModel
{
public string? BannerText;
public DashboardData DashboardData { get; set; }
public IEnumerable<SupervisorDashboardToDoItem> SupervisorDashboardToDoItems { get; set; }
}
Expand Down
98 changes: 51 additions & 47 deletions DigitalLearningSolutions.Web/Views/Supervisor/Index.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -20,75 +20,79 @@
</nav>
}
<h1>Supervisor Dashboard</h1>
@if (Model.BannerText != null)
{
<h2 class="page-subheading word-break">@Model.BannerText</h2>
}
<ul class="nhsuk-grid-row nhsuk-card-group">

<feature name="@(FeatureFlags.SupervisorProfileAssessmentInterface)">
<li class="nhsuk-grid-column-one-half nhsuk-card-group__item">
<li class="nhsuk-grid-column-one-half nhsuk-card-group__item">
</feature>
<feature name="@(FeatureFlags.SupervisorProfileAssessmentInterface)" negate="true">
<li class="nhsuk-grid-column-full nhsuk-card-group__item">
</feature>
<div class="nhsuk-card">
<div class="nhsuk-card__content">
<p class="nhsuk-heading-xl nhsuk-u-font-size-32 nhsuk-u-margin-bottom-3">
@Model.DashboardData.StaffCount Staff @if (Model.DashboardData.StaffUnregisteredCount > 0)
{
<span class="nhsuk-u-secondary-text-color nhsuk-u-font-weight-normal">
(@Model.DashboardData.StaffUnregisteredCount not registered)
</span>
}
</p>
<ul class="nhsuk-contents-list__list">

<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="MyStaffList">View My Staff List</a></li>
</ul>
</div>
</div>
</li>
<feature name="@(FeatureFlags.SupervisorProfileAssessmentInterface)">
<li class="nhsuk-grid-column-one-half nhsuk-card-group__item">
<div class="nhsuk-card">
<div class="nhsuk-card__content">
<p class="nhsuk-heading-xl nhsuk-u-font-size-32 nhsuk-u-margin-bottom-3">
@Model.DashboardData.StaffCount Staff @if (Model.DashboardData.StaffUnregisteredCount > 0)
{
<span class="nhsuk-u-secondary-text-color nhsuk-u-font-weight-normal">
(@Model.DashboardData.StaffUnregisteredCount not registered)
</span>
}
@Model.DashboardData.ProfileCount Role Profiles
</p>
<ul class="nhsuk-contents-list__list">

<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="MyStaffList">View My Staff List</a></li>
@if (Model.DashboardData.AwaitingReviewCount > 0)
{
<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="RoleProfileReviewRequests" asp-route-tabname="Mine">Profile Assessment Sign-off Requests (@Model.DashboardData.AwaitingReviewCount)</a></li>
}
<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="ViewRoleProfileAssessments" asp-route-tabname="All">View Profile Assessments (@Model.DashboardData.ProfileSelfAssessmentCount)</a></li>
</ul>
</div>
</div>
</li>
<feature name="@(FeatureFlags.SupervisorProfileAssessmentInterface)">
<li class="nhsuk-grid-column-one-half nhsuk-card-group__item">
<div class="nhsuk-card">
<div class="nhsuk-card__content">
<p class="nhsuk-heading-xl nhsuk-u-font-size-32 nhsuk-u-margin-bottom-3">
@Model.DashboardData.ProfileCount Role Profiles
</p>
<ul class="nhsuk-contents-list__list">
@if (Model.DashboardData.AwaitingReviewCount > 0)
{
<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="RoleProfileReviewRequests" asp-route-tabname="Mine">Profile Assessment Sign-off Requests (@Model.DashboardData.AwaitingReviewCount)</a></li>
}
<li class="nhsuk-contents-list__item"><a asp-controller="Supervisor" class="nhsuk-contents-list__link nhsuk-link--no-visited-state" asp-action="ViewRoleProfileAssessments" asp-route-tabname="All">View Profile Assessments (@Model.DashboardData.ProfileSelfAssessmentCount)</a></li>
</ul>
</div>
</div>
</li>
</feature>
</feature>
</ul>
<h2>Your to do list</h2>
@if (Model.SupervisorDashboardToDoItems.Count() > 0)
{
<ul class="nhsuk-contents-list__list">
@foreach (var toDoItem in Model.SupervisorDashboardToDoItems)
{

if (toDoItem.SignOffRequest)
<ul class="nhsuk-contents-list__list">
@foreach (var toDoItem in Model.SupervisorDashboardToDoItems)
{
<li class="nhsuk-contents-list__item">
<a class="nhsuk-link--no-visited-state" asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@toDoItem.SupervisorDelegateId" asp-route-candidateAssessmentId="@toDoItem.ID">
Review and sign-off @toDoItem.DelegateName's @toDoItem.ProfileName
</a>. Requested @toDoItem.Requested.ToShortDateString()
</li>
}
else if(toDoItem.ResultsReviewRequest)
{
<li class="nhsuk-contents-list__item">
<a class="nhsuk-link--no-visited-state" asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@toDoItem.SupervisorDelegateId" asp-route-candidateAssessmentId="@toDoItem.ID">
Confirm self-assessment results for @toDoItem.DelegateName's @toDoItem.ProfileName
</a>. Requested @toDoItem.Requested.ToShortDateString()
</li>

if (toDoItem.SignOffRequest)
{
<li class="nhsuk-contents-list__item">
<a class="nhsuk-link--no-visited-state" asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@toDoItem.SupervisorDelegateId" asp-route-candidateAssessmentId="@toDoItem.ID">
Review and sign-off @toDoItem.DelegateName's @toDoItem.ProfileName
</a>. Requested @toDoItem.Requested.ToShortDateString()
</li>
}
else if (toDoItem.ResultsReviewRequest)
{
<li class="nhsuk-contents-list__item">
<a class="nhsuk-link--no-visited-state" asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@toDoItem.SupervisorDelegateId" asp-route-candidateAssessmentId="@toDoItem.ID">
Confirm self-assessment results for @toDoItem.DelegateName's @toDoItem.ProfileName
</a>. Requested @toDoItem.Requested.ToShortDateString()
</li>
}
}
}
</ul>
</ul>
}
else
{
Expand Down