Skip to content

Commit be8058b

Browse files
authored
COMP-724 add multiple sources and conditions to requirement grid (#657)
1 parent 4a74f5b commit be8058b

File tree

4 files changed

+14
-9
lines changed

4 files changed

+14
-9
lines changed

compliance-api/src/compliance_api/schemas/inspection_requirement_grid.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ class InspectionRequirementGridItemSchema(Schema):
5252
ir_number = fields.Str(
5353
metadata={"description": "The inspection requirement number"}
5454
)
55-
requirement_number = fields.Str(metadata={"description": "The requirement number"})
55+
requirement_number = fields.List(
56+
fields.Str(),
57+
metadata={"description": "The list of requirement numbers"}
58+
)
5659
requirement_source = fields.Nested(
5760
KeyValueSchema, metadata={"description": "The requirement source"}
5861
)

compliance-api/src/compliance_api/services/inspection_requirement.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,12 +1599,14 @@ def parse_requirement_sources(sources):
15991599
item["progress"] = progress
16001600
if requirement["requirement_source_details"]:
16011601
first_requirement_details = requirement["requirement_source_details"][0]
1602-
number_field = ServiceUtils.get_requirement_source_number_field(
1603-
first_requirement_details
1604-
)
1605-
item["requirement_number"] = (
1606-
number_field.split(" ")[1] if number_field else None
1607-
)
1602+
requirement_numbers = []
1603+
req_sources = []
1604+
for detail in requirement["requirement_source_details"]:
1605+
if detail.requirement_source not in req_sources:
1606+
req_sources.append(detail.requirement_source)
1607+
number_field = ServiceUtils.get_requirement_source_number_field(detail)
1608+
requirement_numbers.append(number_field.split(" ")[1] if number_field else [])
1609+
item["requirement_number"] = requirement_numbers
16081610
item["requirement_source"] = first_requirement_details.requirement_source
16091611
requirement_details.append(item)
16101612
return requirement_details

compliance-web/src/components/App/RequirementsGrid/RequirementsGridUtils.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ export const useRequirementsGridColumns = (
226226
size: 80,
227227
},
228228
{
229-
accessorFn: (row) => row.requirement_number,
229+
accessorFn: (row) => row.requirement_number.join(", "),
230230
id: "req_src_num",
231231
header: "Condition #",
232232
filterFn: "contains",

compliance-web/src/models/InspectionRequirementGrid.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export interface InspectionRequirementGrid {
1717
sort_order: number;
1818
date_issued: string;
1919
ir_number: string;
20-
requirement_number: string;
20+
requirement_number: string[];
2121
requirement_sources: RequirementSource[];
2222
approved_by: StaffUser;
2323
approved_by_id: number;

0 commit comments

Comments
 (0)