From f7f271c7dc0adb323881ed9b377df551bfb56983 Mon Sep 17 00:00:00 2001 From: Alex Zorkin Date: Tue, 25 Feb 2025 17:58:06 -0800 Subject: [PATCH] fix: fixed masked report logic on backend cr, temp hard code of 2024 new reports in dropdown, test fix --- .../web/api/compliance_report/services.py | 51 +++++++++---------- .../components/NewComplianceReportButton.jsx | 14 +++-- .../views/Users/AddEditUser/AddEditUser.jsx | 2 +- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/backend/lcfs/web/api/compliance_report/services.py b/backend/lcfs/web/api/compliance_report/services.py index 461ce5727..cd0779665 100644 --- a/backend/lcfs/web/api/compliance_report/services.py +++ b/backend/lcfs/web/api/compliance_report/services.py @@ -207,34 +207,31 @@ async def get_compliance_reports_paginated( ) def _mask_report_status(self, reports: List) -> List: - recommended_statuses = { - ComplianceReportStatusEnum.Recommended_by_analyst.underscore_value(), - ComplianceReportStatusEnum.Recommended_by_manager.underscore_value(), - } - - masked_reports = [] for report in reports: - if ( - isinstance(report, ComplianceReportViewSchema) - and report.report_status in recommended_statuses - ): - report.report_status = ComplianceReportStatusEnum.Submitted.value - report.report_status_id = None - masked_reports.append(report) - elif ( - isinstance(report, ComplianceReportBaseSchema) - and report.current_status.status in recommended_statuses - ): - report.current_status.status = ( - ComplianceReportStatusEnum.Submitted.value - ) - report.current_status.compliance_report_status_id = None - - masked_reports.append(report) - else: - masked_reports.append(report) - - return masked_reports + if isinstance(report, ComplianceReportViewSchema): + statuses = { + ComplianceReportStatusEnum.Recommended_by_analyst.underscore_value(), + ComplianceReportStatusEnum.Recommended_by_manager.underscore_value(), + } + if report.report_status in statuses: + report.report_status, report.report_status_id = ( + ComplianceReportStatusEnum.Submitted.value, + None, + ) + elif isinstance(report, ComplianceReportBaseSchema): + statuses = { + ComplianceReportStatusEnum.Recommended_by_analyst.value, + ComplianceReportStatusEnum.Recommended_by_manager.value, + } + if report.current_status.status in statuses: + ( + report.current_status.status, + report.current_status.compliance_report_status_id, + ) = ( + ComplianceReportStatusEnum.Submitted.value, + None, + ) + return reports @service_handler async def get_compliance_report_by_id( diff --git a/frontend/src/views/ComplianceReports/components/NewComplianceReportButton.jsx b/frontend/src/views/ComplianceReports/components/NewComplianceReportButton.jsx index 69d05a9f4..1139516a1 100644 --- a/frontend/src/views/ComplianceReports/components/NewComplianceReportButton.jsx +++ b/frontend/src/views/ComplianceReports/components/NewComplianceReportButton.jsx @@ -40,12 +40,20 @@ export const NewComplianceReportButton = forwardRef((props, ref) => { const isMenuOpen = Boolean(anchorEl) + // Temporarily disable future year compliance reports + // const filteredDates = () => { + // const currentYear = new Date().getFullYear() + // const yearAhead = currentYear + 1 + // return periods?.data.filter((item) => { + // const effectiveYear = new Date(item.effectiveDate).getFullYear() + // return effectiveYear <= yearAhead && effectiveYear >= 2024 + // }) + // } + const filteredDates = () => { - const currentYear = new Date().getFullYear() - const yearAhead = currentYear + 1 return periods?.data.filter((item) => { const effectiveYear = new Date(item.effectiveDate).getFullYear() - return effectiveYear <= yearAhead && effectiveYear >= 2024 + return effectiveYear === 2024 }) } diff --git a/frontend/src/views/Users/AddEditUser/AddEditUser.jsx b/frontend/src/views/Users/AddEditUser/AddEditUser.jsx index 9754fc6ad..bbe31db4f 100644 --- a/frontend/src/views/Users/AddEditUser/AddEditUser.jsx +++ b/frontend/src/views/Users/AddEditUser/AddEditUser.jsx @@ -72,7 +72,7 @@ export const AddEditUser = ({ userType }) => { hasRoles(roles.supplier) || orgName || userType === 'bceid' ? bceidTextFields(t) : idirTextFields(t), - [hasRoles, orgName, t] + [hasRoles, orgName, t, userType] ) const status = watch('status') const readOnly = watch('readOnly')