Skip to content

Commit 6a06cd7

Browse files
committed
fix: set catalog ids on imports for comparison
1 parent 47dd71d commit 6a06cd7

File tree

6 files changed

+27
-6
lines changed

6 files changed

+27
-6
lines changed

src/riskmatrix/scripts/seantis_import_risk_excel.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def parse_args(argv: list[str]) -> argparse.Namespace:
6666
def get_or_create_asset(
6767
asset_name: str,
6868
organization: Organization,
69+
risk_catalog: RiskCatalog,
6970
session: 'Session'
7071
) -> Asset:
7172

@@ -77,8 +78,10 @@ def get_or_create_asset(
7778
if asset := session.scalars(q).one_or_none():
7879
return asset
7980

80-
asset = Asset(asset_name, organization)
81+
asset = Asset(asset_name, organization, meta={"catalogs": [risk_catalog.id]})
8182
asset.organization_id = organization.id
83+
asset.meta = {"catalogs": [risk_catalog.id]}
84+
8285
session.add(asset)
8386
return asset
8487

@@ -151,7 +154,7 @@ def populate_catalog(
151154

152155
for risk_details in risks:
153156
asset = get_or_create_asset(
154-
risk_details['asset_name'], catalog.organization, session
157+
risk_details['asset_name'], catalog.organization, catalog, session
155158
)
156159

157160
risk = get_or_create_risk(

src/riskmatrix/views/asset.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ def assets_view(
258258
data_table_id=table.id,
259259
)],
260260
'edit_form': AssetForm(context, request),
261+
"helper_text": Markup("Assets can be attached to multiple Risk catalogs, looking to manage your <a href=\"/risk_catalog\">risks</a>? Are you ready for your <a href=\"/assessment\">assessment</a>?")
261262
}
262263

263264

src/riskmatrix/views/risk_assessment.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ def compare_assessments_view(context: "Organization", request: "IRequest") -> "R
128128
risk.diff_impact = (risk.impact - comp_risk.impact)
129129
else:
130130
risk.diff_impact = None
131+
else:
132+
risk.diff_likelihood = None
133+
risk.diff_impact = None
131134

132135
comp_table = AssessmentComparisonTable(context, request, all_risks)
133136

@@ -159,7 +162,7 @@ def total_records(self) -> int:
159162
def query(self) -> "Query[RiskAssessment]":
160163
session = self.request.dbsession
161164
query = session.query(RiskAssessmentInfo)
162-
query = query.order_by(RiskAssessmentInfo.created.desc())
165+
query = query.order_by(RiskAssessmentInfo.created.asc())
163166
return query
164167

165168
def current_open_assessment(self) -> RiskAssessmentInfo | None:
@@ -184,7 +187,7 @@ def buttons(self, assessment: RiskAssessmentInfo | None = None) -> list[Button]:
184187
]
185188
class AssessmentBaseTable(AJAXDataTable[RiskAssessment]):
186189
default_options = {
187-
"length_menu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
190+
"length_menu": [[-1], ["All"]],
188191
"order": [[0, "asc"]], # corresponds to column name
189192
}
190193

@@ -606,6 +609,8 @@ def finish_risk_assessment_view(context: "Organization", request: "IRequest") ->
606609

607610
# add a riskassessment object per risk and asset to the new assessment info object
608611
for asset in context.assets:
612+
print("asset", asset.id)
613+
print("catalog_ids", asset.catalog_ids)
609614
for risk_catalog in [cat for cat in context.risk_catalogs if cat.id in asset.catalog_ids]:
610615
for risk in risk_catalog.risks:
611616
new_risk_assessment = RiskAssessment(

src/riskmatrix/views/risk_catalog.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,8 @@ def risk_catalog_view(
229229
data_table_id=table.id,
230230
)],
231231
'edit_form': RiskCatalogForm(None, request),
232-
'generate_form': RiskCatalogGenerationForm(None, request)
232+
'generate_form': RiskCatalogGenerationForm(None, request),
233+
'helper_text': Markup("Risk catalogs are collections of risks to be combined with multiple different assets, looking for <a href=\"/assets\">assets</a>?")
233234
}
234235

235236

src/riskmatrix/views/templates/compare.pt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
</div>
2121
</div>
2222
<div class="col col-6">
23-
<h5 style="margin-left:2px; color: #ADADAD; font-weight: 800; font-style: italic; font-family: serif; margin-bottom: 0px;">${comparison_assessment.name} (${comparison_assessment.finished_at})</h5>
23+
<h5 style="margin-left:2px; color: #ADADAD; font-weight: 800; font-style: italic; font-family: serif; margin-bottom: 0px;">
24+
${comparison_assessment.name} (${comparison_assessment.finished_at.strftime('%d.%m.%Y %H:%M')})
25+
</h5>
26+
2427
<br/>
2528
<div style="width: 100%">
2629
${right_plot}

src/riskmatrix/views/templates/table.pt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,15 @@
88
<tal:block metal:fill-slot="content">
99

1010
<h5 tal:condition="exists:supertitle" style="margin-left:2px; color: #ADADAD; font-weight: 800; font-style: italic; font-family: serif; margin-bottom: 0px;">${supertitle}</h5>
11+
1112
<h1>${title}</h1>
13+
<h6 tal:condition="exists:helper_text" style="margin-left:0px; color: #0d6efdBB; font-weight: 800; font-style: italic; font-family: serif; margin-bottom: 4px;margin-top:-16px">
14+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-info" viewBox="0 0 17 17">
15+
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/>
16+
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/>
17+
</svg>
18+
${helper_text}
19+
</h6>
1220

1321
<p tal:condition="exists:description" style="color: #5C5C5C;">${description}</p>
1422

0 commit comments

Comments
 (0)