|  | 
| 1 | 1 | @using DigitalLearningSolutions.Data.Models.Supervisor; | 
| 2 | 2 | @using DigitalLearningSolutions.Data.Utilities | 
| 3 |  | -@model IEnumerable<DelegateSelfAssessment>; | 
|  | 3 | +@using DigitalLearningSolutions.Web.ViewModels.Supervisor | 
|  | 4 | +@model DelegateSelfAssessmentsViewModel; | 
| 4 | 5 | @inject IClockUtility ClockUtility | 
| 5 | 6 | 
 | 
| 6 | 7 | <table role="table" class="nhsuk-table-responsive"> | 
| 7 |  | -  <caption class="nhsuk-table__caption"><h2>Self assessments</h2></caption> | 
| 8 |  | -  <thead role="rowgroup" class="nhsuk-table__head"> | 
| 9 |  | -    <tr role="row"> | 
| 10 |  | -      <th role="columnheader" class="" scope="col"> | 
| 11 |  | -        Self Assessment | 
| 12 |  | -      </th> | 
| 13 |  | -      <th role="columnheader" class="" scope="col"> | 
| 14 |  | -        Role links | 
| 15 |  | -      </th> | 
| 16 |  | -      <th role="columnheader" class="" scope="col"> | 
| 17 |  | -        Last activity | 
| 18 |  | -      </th> | 
| 19 |  | -      <th role="columnheader" class="" scope="col"> | 
| 20 |  | -        Status | 
| 21 |  | -      </th> | 
| 22 |  | -      <th role="columnheader" class="" scope="col"> | 
| 23 |  | -        Actions | 
| 24 |  | -      </th> | 
| 25 |  | -    </tr> | 
| 26 |  | -  </thead> | 
| 27 |  | -  <tbody class="nhsuk-table__body"> | 
| 28 |  | -    @foreach (var delegateSelfAssessment in Model) | 
| 29 |  | -    { | 
| 30 |  | -      <tr role="row" class="nhsuk-table__row"> | 
| 31 |  | -        <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
| 32 |  | -          <span class="nhsuk-table-responsive__heading">Self Assessment </span>@delegateSelfAssessment.RoleName | 
| 33 |  | -        </td> | 
| 34 |  | -        <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
| 35 |  | -          <span class="nhsuk-table-responsive__heading">Role links </span>@(delegateSelfAssessment.ProfessionalGroup != null ? delegateSelfAssessment.ProfessionalGroup : "None/Generic") | 
| 36 |  | -          @(delegateSelfAssessment.SubGroup != null ? " / " + delegateSelfAssessment.SubGroup : "") | 
| 37 |  | -          @(delegateSelfAssessment.RoleProfile != null ? " / " + delegateSelfAssessment.RoleProfile : "") | 
| 38 |  | -        </td> | 
| 39 |  | -        <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
| 40 |  | -          <span class="nhsuk-table-responsive__heading">Last activity </span>@delegateSelfAssessment.LastAccessed.ToShortDateString()<br /> (@delegateSelfAssessment.LaunchCount launches) | 
| 41 |  | -        </td> | 
| 42 |  | -        <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
| 43 |  | -          <span class="nhsuk-table-responsive__heading">Status </span> <partial name="Shared/_ProfileAssessmentStatusTag" model="delegateSelfAssessment" /> | 
| 44 |  | -        </td> | 
| 45 |  | -        <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
| 46 |  | -          <span class="nhsuk-table-responsive__heading">Actions </span> | 
| 47 |  | -                    @if (delegateSelfAssessment.IsAssignedToSupervisor) | 
| 48 |  | -                    { | 
| 49 |  | -                        @if (delegateSelfAssessment.SignOffRequested == 0 && delegateSelfAssessment.LastAccessed < ClockUtility.UtcNow.AddDays(-7)) | 
|  | 8 | +    <caption class="nhsuk-table__caption"><h2>Self assessments</h2></caption> | 
|  | 9 | +    <thead role="rowgroup" class="nhsuk-table__head"> | 
|  | 10 | +        <tr role="row"> | 
|  | 11 | +            <th role="columnheader" class="" scope="col"> | 
|  | 12 | +                Self Assessment | 
|  | 13 | +            </th> | 
|  | 14 | +            <th role="columnheader" class="" scope="col"> | 
|  | 15 | +                Role links | 
|  | 16 | +            </th> | 
|  | 17 | +            <th role="columnheader" class="" scope="col"> | 
|  | 18 | +                Last activity | 
|  | 19 | +            </th> | 
|  | 20 | +            <th role="columnheader" class="" scope="col"> | 
|  | 21 | +                Status | 
|  | 22 | +            </th> | 
|  | 23 | +            @if (!Model.IsNominatedSupervisor || (Model.IsNominatedSupervisor && Model.DelegateSelfAssessments.Where(x => x.IsAssignedToSupervisor).Any())) | 
|  | 24 | +            { | 
|  | 25 | +                <th role="columnheader" class="" scope="col"> | 
|  | 26 | +                    Actions | 
|  | 27 | +                </th> | 
|  | 28 | +            } | 
|  | 29 | +        </tr> | 
|  | 30 | +    </thead> | 
|  | 31 | +    <tbody class="nhsuk-table__body"> | 
|  | 32 | +        @foreach (var delegateSelfAssessment in Model.DelegateSelfAssessments) | 
|  | 33 | +        { | 
|  | 34 | +            <tr role="row" class="nhsuk-table__row"> | 
|  | 35 | +                <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 36 | +                    <span class="nhsuk-table-responsive__heading">Self Assessment </span>@delegateSelfAssessment.RoleName | 
|  | 37 | +                </td> | 
|  | 38 | +                <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 39 | +                    <span class="nhsuk-table-responsive__heading">Role links </span>@(delegateSelfAssessment.ProfessionalGroup != null ? delegateSelfAssessment.ProfessionalGroup : "None/Generic") | 
|  | 40 | +                    @(delegateSelfAssessment.SubGroup != null ? " / " + delegateSelfAssessment.SubGroup : "") | 
|  | 41 | +                    @(delegateSelfAssessment.RoleProfile != null ? " / " + delegateSelfAssessment.RoleProfile : "") | 
|  | 42 | +                </td> | 
|  | 43 | +                <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 44 | +                    <span class="nhsuk-table-responsive__heading">Last activity </span>@delegateSelfAssessment.LastAccessed.ToShortDateString()<br /> (@delegateSelfAssessment.LaunchCount launches) | 
|  | 45 | +                </td> | 
|  | 46 | +                <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 47 | +                    <span class="nhsuk-table-responsive__heading">Status </span> <partial name="Shared/_ProfileAssessmentStatusTag" model="delegateSelfAssessment" /> | 
|  | 48 | +                </td> | 
|  | 49 | +                @if (Model.IsNominatedSupervisor && Model.DelegateSelfAssessments.Where(x => x.IsAssignedToSupervisor).Any()) | 
|  | 50 | +                { | 
|  | 51 | +                    <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 52 | +                        <span class="nhsuk-table-responsive__heading">Actions </span> | 
|  | 53 | +                        @if (delegateSelfAssessment.IsAssignedToSupervisor) | 
| 50 | 54 |                         { | 
| 51 |  | -                            <a class="status-tag" asp-action="SendReminderDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Send reminder</a> | 
|  | 55 | +                            @if (delegateSelfAssessment.LaunchCount > 0) | 
|  | 56 | +                            { | 
|  | 57 | +                                <a asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">@(delegateSelfAssessment.ResultsVerificationRequests > 0 ? "Review" : "View")</a> | 
|  | 58 | +                            } | 
| 52 | 59 |                         } | 
| 53 |  | -                        @if (delegateSelfAssessment.LaunchCount > 0) | 
|  | 60 | +                    </td> | 
|  | 61 | +                } | 
|  | 62 | +                else | 
|  | 63 | +                { | 
|  | 64 | +                    <td role="cell" class="nhsuk-table__cell nhsuk-u-font-size-16"> | 
|  | 65 | +                        <span class="nhsuk-table-responsive__heading">Actions </span> | 
|  | 66 | +                        @if (delegateSelfAssessment.IsAssignedToSupervisor) | 
| 54 | 67 |                         { | 
| 55 |  | -                            <a asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">@(delegateSelfAssessment.SignOffRequested > 0 | delegateSelfAssessment.ResultsVerificationRequests > 0 ? "Review" : "View")</a> | 
| 56 |  | -                        } | 
| 57 |  | -                        @if (delegateSelfAssessment.CompletedDate != null | delegateSelfAssessment.LaunchCount == 0) | 
| 58 |  | -                        { | 
| 59 |  | -                            <a asp-action="RemoveDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Remove</a> | 
|  | 68 | +                            @if (delegateSelfAssessment.SignOffRequested == 0 && delegateSelfAssessment.LastAccessed < ClockUtility.UtcNow.AddDays(-7)) | 
|  | 69 | +                            { | 
|  | 70 | +                                <a class="status-tag" asp-action="SendReminderDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Send reminder</a> | 
|  | 71 | +                            } | 
|  | 72 | +                            @if (delegateSelfAssessment.LaunchCount > 0) | 
|  | 73 | +                            { | 
|  | 74 | +                                <a asp-action="ReviewDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">@(delegateSelfAssessment.SignOffRequested > 0 | delegateSelfAssessment.ResultsVerificationRequests > 0 ? "Review" : "View")</a> | 
|  | 75 | +                            } | 
|  | 76 | +                            @if (delegateSelfAssessment.CompletedDate != null | delegateSelfAssessment.LaunchCount == 0) | 
|  | 77 | +                            { | 
|  | 78 | +                                <a asp-action="RemoveDelegateSelfAssessment" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Remove</a> | 
|  | 79 | +                            } | 
|  | 80 | +                            @if (delegateSelfAssessment.CompletedDate == null && delegateSelfAssessment.LaunchCount != 0 && delegateSelfAssessment.SupervisorRoleTitle == "Educator/Manager") | 
|  | 81 | +                            { | 
|  | 82 | +                                <a asp-action="RemoveDelegateSelfAssessmentsupervisor" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Stop supervising</a> | 
|  | 83 | + | 
|  | 84 | +                            } | 
| 60 | 85 |                         } | 
| 61 |  | -                        @if (delegateSelfAssessment.CompletedDate == null && delegateSelfAssessment.LaunchCount != 0 && delegateSelfAssessment.SupervisorRoleTitle == "Educator/Manager") | 
|  | 86 | +                        else | 
| 62 | 87 |                         { | 
| 63 |  | -                            <a asp-action="RemoveDelegateSelfAssessmentsupervisor" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-candidateAssessmentId="@delegateSelfAssessment.ID">Stop supervising</a> | 
| 64 |  | - | 
|  | 88 | +                            <a asp-action="QuickAddSupervisor" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-delegateUserId="@delegateSelfAssessment.DelegateUserID" asp-route-selfAssessmentId="@delegateSelfAssessment.SelfAssessmentID">Supervise</a> | 
| 65 | 89 |                         } | 
| 66 |  | -                    } | 
| 67 |  | -                    else | 
| 68 |  | -                    { | 
| 69 |  | -                        <a asp-action="QuickAddSupervisor" asp-route-supervisorDelegateId="@ViewContext.RouteData.Values["supervisorDelegateId"]" asp-route-delegateUserId="@delegateSelfAssessment.DelegateUserID" asp-route-selfAssessmentId="@delegateSelfAssessment.SelfAssessmentID">Supervise</a> | 
| 70 |  | -                    } | 
| 71 |  | -        </td> | 
| 72 |  | -      </tr> | 
| 73 |  | -    } | 
| 74 |  | -  </tbody> | 
|  | 90 | +                    </td> | 
|  | 91 | +                } | 
|  | 92 | +            </tr> | 
|  | 93 | +        } | 
|  | 94 | +    </tbody> | 
| 75 | 95 | </table> | 
0 commit comments