diff --git a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/SelfAssessmentReports/SelfAssessmentReportsController.cs b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/SelfAssessmentReports/SelfAssessmentReportsController.cs index 5a59a12086..483c75ef3a 100644 --- a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/SelfAssessmentReports/SelfAssessmentReportsController.cs +++ b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/SelfAssessmentReports/SelfAssessmentReportsController.cs @@ -16,8 +16,8 @@ using Microsoft.FeatureManagement; using Microsoft.FeatureManagement.Mvc; using System; + using System.Linq; using System.Threading.Tasks; - [FeatureGate(FeatureFlags.RefactoredTrackingSystem)] [Authorize(Policy = CustomPolicies.UserCentreAdmin)] [SetDlsSubApplication(nameof(DlsSubApplication.TrackingSystem))] @@ -33,6 +33,7 @@ public class SelfAssessmentReportsController : Controller private readonly string workbookName; private readonly string viewName; private readonly ISelfAssessmentService selfAssessmentService; + private readonly ICentreSelfAssessmentsService centreSelfAssessmentsService; private readonly IFeatureManager featureManager; public SelfAssessmentReportsController( ISelfAssessmentReportService selfAssessmentReportService, @@ -40,6 +41,7 @@ public SelfAssessmentReportsController( IClockUtility clockUtility, IConfiguration config, ISelfAssessmentService selfAssessmentService, + ICentreSelfAssessmentsService centreSelfAssessmentsService, IFeatureManager featureManager ) { @@ -51,6 +53,7 @@ IFeatureManager featureManager workbookName = config.GetTableauWorkbookName(); viewName = config.GetTableauViewName(); this.selfAssessmentService = selfAssessmentService; + this.centreSelfAssessmentsService = centreSelfAssessmentsService; this.featureManager = featureManager; } [Route("/TrackingSystem/Centre/Reports/SelfAssessments")] @@ -59,10 +62,12 @@ public async Task IndexAsync() var centreId = User.GetCentreId(); var adminCategoryId = User.GetAdminCategoryId(); var categoryId = this.selfAssessmentService.GetSelfAssessmentCategoryId(1); + var selfAssessments = centreSelfAssessmentsService.GetCentreSelfAssessments(centreId.Value); + var dSATreportIsPublish = selfAssessments.Any(x => x.SelfAssessmentId == 1); var tableauFlag = await featureManager.IsEnabledAsync(FeatureFlags.TableauSelfAssessmentDashboards); var tableauQueryOverride = string.Equals(Request.Query["tableaulink"], "true", StringComparison.OrdinalIgnoreCase); var showTableauLink = tableauFlag || tableauQueryOverride; - var model = new SelfAssessmentReportsViewModel(selfAssessmentReportService.GetSelfAssessmentsForReportList((int)centreId, adminCategoryId), adminCategoryId, categoryId, showTableauLink); + var model = new SelfAssessmentReportsViewModel(selfAssessmentReportService.GetSelfAssessmentsForReportList((int)centreId, adminCategoryId), adminCategoryId, categoryId, dSATreportIsPublish, showTableauLink); return View(model); } [HttpGet] diff --git a/DigitalLearningSolutions.Web/ViewModels/TrackingSystem/Centre/Reports/SelfAssessmentReportsViewModel.cs b/DigitalLearningSolutions.Web/ViewModels/TrackingSystem/Centre/Reports/SelfAssessmentReportsViewModel.cs index a1b67e6bf0..dc4da36717 100644 --- a/DigitalLearningSolutions.Web/ViewModels/TrackingSystem/Centre/Reports/SelfAssessmentReportsViewModel.cs +++ b/DigitalLearningSolutions.Web/ViewModels/TrackingSystem/Centre/Reports/SelfAssessmentReportsViewModel.cs @@ -6,17 +6,19 @@ public class SelfAssessmentReportsViewModel { public SelfAssessmentReportsViewModel( - IEnumerable selfAssessmentSelects, int? adminCategoryId, int categoryId, bool showTableauLink + IEnumerable selfAssessmentSelects, int? adminCategoryId, int categoryId, bool dSATreportIsPublish, bool showTableauLink ) { SelfAssessmentSelects = selfAssessmentSelects; AdminCategoryId = adminCategoryId; CategoryId = categoryId; + DSATreportIsPublish = dSATreportIsPublish; ShowTableauLink = showTableauLink; } public IEnumerable SelfAssessmentSelects { get; set; } public int? AdminCategoryId { get; set; } public int CategoryId { get; set; } + public bool DSATreportIsPublish { get; set; } public bool ShowTableauLink { get; set; } = false; } } diff --git a/DigitalLearningSolutions.Web/Views/TrackingSystem/Centre/SelfAssessmentReports/Index.cshtml b/DigitalLearningSolutions.Web/Views/TrackingSystem/Centre/SelfAssessmentReports/Index.cshtml index fa25c11a8a..a7c12bea6e 100644 --- a/DigitalLearningSolutions.Web/Views/TrackingSystem/Centre/SelfAssessmentReports/Index.cshtml +++ b/DigitalLearningSolutions.Web/Views/TrackingSystem/Centre/SelfAssessmentReports/Index.cshtml @@ -33,7 +33,7 @@

Excel learner activity reports

Download Excel competency self assessments activity reports for your centre.

    - @if ((Model.AdminCategoryId == null) || (Model.AdminCategoryId == Model.CategoryId)) + @if ((Model.DSATreportIsPublish) && ((Model.AdminCategoryId == null) || (Model.AdminCategoryId == Model.CategoryId))) {
  • Digital Skills Assessment Tool - Download report