Skip to content

Commit 053bfb3

Browse files
authored
Merge branch 'main' into NDT-1170-Change-Log-shows-Due-Date-deleted-when-File-deleted-in-multiple-accordions
2 parents 8efb544 + d46befd commit 053bfb3

File tree

10 files changed

+619
-578
lines changed

10 files changed

+619
-578
lines changed

.github/workflows/test-containers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
- name: Checkout
8383
uses: actions/checkout@v6
8484
- name: Self-hosted Renovate
85-
uses: renovatebot/github-action@v44.2.6
85+
uses: renovatebot/github-action@v46.0.1
8686
with:
8787
configurationFile: ./.github/renovate.json
8888
token: ${{ secrets.RENOVATE_GITHUB_TOKEN }}

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
## [1.290.6](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.290.5...v1.290.6) (2026-02-03)
2+
3+
## [1.290.5](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.290.2...v1.290.5) (2026-02-03)
4+
5+
### Bug Fixes
6+
7+
- fallback for sow upload values from formData for changelog ([cbd5629](https://github.com/bcgov/CONN-CCBC-portal/commit/cbd56295379b21a67f996026ca96fa66a2a04fad))
8+
- leaflet controls above header ([0410d65](https://github.com/bcgov/CONN-CCBC-portal/commit/0410d65fa2d29952f638ad29d869b579a173bc72))
9+
10+
## [1.290.4](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.290.2...v1.290.4) (2026-02-03)
11+
12+
### Bug Fixes
13+
14+
- leaflet controls above header ([0410d65](https://github.com/bcgov/CONN-CCBC-portal/commit/0410d65fa2d29952f638ad29d869b579a173bc72))
15+
16+
## [1.290.3](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.290.2...v1.290.3) (2026-01-30)
17+
18+
### Bug Fixes
19+
20+
- leaflet controls above header ([d6a5db7](https://github.com/bcgov/CONN-CCBC-portal/commit/d6a5db7ec6962ec4ab9e2d664ca616adae1b0527))
21+
122
## [1.290.2](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.290.0...v1.290.2) (2026-01-30)
223

324
### Bug Fixes

app/backend/lib/reporting/util.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ export const convertStatus = (status: string): string => {
1414
return 'Reporting Complete';
1515
case 'merged':
1616
return 'Merged';
17+
case 'withdrawn':
18+
return 'Withdrawn';
1719
default:
1820
return status;
1921
}
@@ -126,6 +128,10 @@ export const compareAndMarkArrays = (array1: any, array2: any) => {
126128
'Notes',
127129
];
128130

131+
// Columns that should be compared case-insensitively
132+
// add more column names here as needed
133+
const CASE_INSENSITIVE_COLUMNS = new Set(['status']);
134+
129135
const normalizeHeaderName = (name) =>
130136
name ? String(name).replace(/\s+/g, '').toLowerCase() : '';
131137

@@ -215,6 +221,9 @@ export const compareAndMarkArrays = (array1: any, array2: any) => {
215221
return String(parsed / 100);
216222
}
217223
}
224+
if (CASE_INSENSITIVE_COLUMNS.has(normalizedHeaderName)) {
225+
return trimmed.toLowerCase();
226+
}
218227
return trimmed;
219228
}
220229
return val;

app/components/Analyst/CcbcStatusInformation.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,21 @@ const CcbcStatusInformation = () => {
140140
edited until the intake closes.
141141
</td>
142142
</tr>
143+
<tr>
144+
<td>
145+
<Chip
146+
label="Merged"
147+
sx={{
148+
bgcolor: '#8250DF',
149+
color: '#FFFF',
150+
fontFamily: 'BCSans, Verdana, Arial, sans-serif',
151+
}}
152+
/>
153+
</td>
154+
<td>
155+
<span>Application was combined with another project during negotiations and is now part of that &apos;Agreement Signed&apos; project</span>
156+
</td>
157+
</tr>
143158
</tbody>
144159
</StyledTable>
145160
</div>

app/components/Analyst/Map/SummaryMap.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ const StyledMapContainer = styled(MapContainer)<SummaryMapProps>`
3939
height: ${(props) => (!props?.expanded ? props.height : '100%')} !important;
4040
width: ${(props) => (!props?.expanded ? props.width : '100%')} !important;
4141
}
42+
.leaflet-top,
43+
.leaflet-bottom,
44+
.leaflet-control {
45+
z-index: 400;
46+
}
4247
.leaflet-control-layers {
4348
visibility: ${(props) => (props.expanded ? 'visible' : 'hidden')};
4449
}

app/components/AnalystDashboard/ProjectChangeLog.tsx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,34 @@ const ProjectChangeLog: React.FC<Props> = () => {
346346
if (!allData?.allCbcs || !allData?.allApplications) {
347347
return { tableData: [] };
348348
}
349+
350+
// Original values taken from formData for SOW changes
351+
// Mirrors history page behaviour
352+
const sowOriginalValues = new Map<
353+
string,
354+
{ projectTitle?: string; organizationName?: string }
355+
>();
356+
357+
allData.allApplications.forEach((historyItem) => {
358+
if (historyItem.tableName !== 'form_data') return;
359+
360+
const key = String(historyItem.applicationId);
361+
if (!key) return;
362+
363+
const projectTitle =
364+
historyItem.record?.json_data?.projectInformation?.projectTitle;
365+
const organizationName =
366+
historyItem.record?.json_data?.organizationProfile?.organizationName;
367+
368+
if (projectTitle == null && organizationName == null) return;
369+
if (!sowOriginalValues.has(key)) {
370+
sowOriginalValues.set(key, {
371+
projectTitle,
372+
organizationName,
373+
});
374+
}
375+
});
376+
349377
const mergeChildrenByRecordId = buildMergeChildrenMap(
350378
allData.allApplications
351379
);
@@ -973,6 +1001,20 @@ const ProjectChangeLog: React.FC<Props> = () => {
9731001
prevJson = oldRecord?.json_data || {};
9741002
}
9751003

1004+
// For SOW uploads, oldRecord can be missing; use form_data as fallback
1005+
// so old project title/organization name do not show as N/A.
1006+
if (tableName === 'application_sow_data') {
1007+
const fallbackKey = String(applicationId);
1008+
const fallback = sowOriginalValues.get(fallbackKey);
1009+
if (fallback) {
1010+
prevJson = {
1011+
projectTitle: fallback.projectTitle,
1012+
organizationName: fallback.organizationName,
1013+
...prevJson,
1014+
};
1015+
}
1016+
}
1017+
9761018
// Exclude form_data entries when prevJson is empty
9771019
if (
9781020
tableName === 'form_data' &&

app/package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
"format": "prettier --write './**/*.tsx' --config ../.prettierrc"
2525
},
2626
"dependencies": {
27-
"@aws-sdk/client-s3": "^3.978.0",
28-
"@aws-sdk/client-sns": "^3.978.0",
29-
"@aws-sdk/credential-providers": "^3.978.0",
30-
"@aws-sdk/lib-storage": "^3.978.0",
27+
"@aws-sdk/client-s3": "^3.981.0",
28+
"@aws-sdk/client-sns": "^3.981.0",
29+
"@aws-sdk/credential-providers": "^3.981.0",
30+
"@aws-sdk/lib-storage": "^3.981.0",
3131
"@aws-sdk/middleware-apply-body-checksum": "^3.374.0",
3232
"@aws-sdk/node-http-handler": "^3.374.0",
33-
"@aws-sdk/s3-request-presigner": "^3.978.0",
33+
"@aws-sdk/s3-request-presigner": "^3.981.0",
3434
"@bcgov-cas/sso-express": "^3.2.0",
3535
"@bcgov-cas/sso-react": "^2.0.0",
3636
"@bcgov-ccbc/ccbc-node-sp-auth": "^1.0.0",
@@ -52,7 +52,7 @@
5252
"@rjsf/core": "5.24.13",
5353
"@rjsf/utils": "5.24.13",
5454
"@rjsf/validator-ajv8": "5.24.13",
55-
"@smithy/node-http-handler": "^4.0.5",
55+
"@smithy/node-http-handler": "^4.4.9",
5656
"@snowplow/browser-tracker": "^4.6.8",
5757
"@tmcw/togeojson": "^7.1.2",
5858
"@types/eslint": "^8.44.2",
@@ -80,7 +80,7 @@
8080
"graphql": "15.6.1",
8181
"graphql-upload": "^15.0.2",
8282
"helmet": "^8.1.0",
83-
"html-react-parser": "^5.2.14",
83+
"html-react-parser": "^5.2.16",
8484
"iframe-resizer-react": "^1.1.0",
8585
"js-cookie": "^3.0.5",
8686
"json-diff": "^1.0.6",
@@ -101,7 +101,7 @@
101101
"passport": "^0.7.0",
102102
"patch-package": "^8.0.1",
103103
"path-to-regexp": "^6.3.0",
104-
"pg": "^8.17.2",
104+
"pg": "^8.18.0",
105105
"pluralize": "^7.0.0",
106106
"postgraphile": "^4.14.1",
107107
"postgraphile-plugin-connection-filter": "^2.3.0",
@@ -126,8 +126,8 @@
126126
"xlsx": "https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz"
127127
},
128128
"devDependencies": {
129-
"@aws-sdk/client-s3": "^3.978.0",
130-
"@babel/preset-env": "^7.28.6",
129+
"@aws-sdk/client-s3": "^3.981.0",
130+
"@babel/preset-env": "^7.29.0",
131131
"@microsoft/eslint-formatter-sarif": "^3.1.0",
132132
"@testing-library/cypress": "^10.1.0",
133133
"@testing-library/dom": "^10.4.1",
@@ -166,7 +166,7 @@
166166
"eslint-config-next": "15.5.9",
167167
"eslint-config-prettier": "^10.1.8",
168168
"eslint-plugin-cypress": "^3.6.0",
169-
"eslint-plugin-jest": "^29.12.1",
169+
"eslint-plugin-jest": "^29.12.2",
170170
"eslint-plugin-react-hooks": "^4.6.2",
171171
"eslint-plugin-relay": "^1.8.3",
172172
"fetch-mock": "9.11.0",

app/tests/backend/lib/reporting/util.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ describe('Dashboard util functions', () => {
3434
expect(convertStatus('complete')).toBe('Reporting Complete');
3535
});
3636

37+
it('should return "Withdrawn" for "withdrawn"', () => {
38+
expect(convertStatus('withdrawn')).toBe('Withdrawn');
39+
});
40+
3741
describe('compareAndMarkArrays percentage normalization', () => {
3842
const headerRow = [
3943
{ value: 'Col0' },

0 commit comments

Comments
 (0)