|
155 | 155 | from vulnerabilities.triage.models import TriageAction |
156 | 156 | from vulnerabilities.triage.models import TriageRecord |
157 | 157 | from vulnerabilities.triage.models import TriageRuleset |
| 158 | +from vulnerabilities.triage.rules import RULE_REGISTRY as TRIAGE_RULE_REGISTRY |
158 | 159 |
|
159 | 160 | TRIAGE_ACTION_STYLES = { |
160 | 161 | "upgrade": ("bg-danger-subtle text-danger-emphasis", "fa-arrow-circle-up"), |
@@ -2173,6 +2174,22 @@ def manage_triage_rulesets_view(request, dataspace, name, version=""): |
2173 | 2174 | action_labels = dict(TriageAction.choices) |
2174 | 2175 | for ruleset in available_rulesets: |
2175 | 2176 | ruleset.action_label = action_labels.get(ruleset.action, ruleset.action) |
| 2177 | + action_badge_class, action_icon = TRIAGE_ACTION_STYLES.get( |
| 2178 | + ruleset.action, TRIAGE_ACTION_DEFAULT_STYLE |
| 2179 | + ) |
| 2180 | + ruleset.action_badge_class = action_badge_class |
| 2181 | + ruleset.action_icon = action_icon |
| 2182 | + active_rules = [] |
| 2183 | + for rule_type, config in ruleset.rules_config.items(): |
| 2184 | + if rule_type not in TRIAGE_RULE_REGISTRY or not config.get("is_active"): |
| 2185 | + continue |
| 2186 | + handler = TRIAGE_RULE_REGISTRY[rule_type] |
| 2187 | + params = {key: value for key, value in config.items() if key != "is_active"} |
| 2188 | + params_str = ", ".join( |
| 2189 | + f"{key.replace('_', ' ')}: {value}" for key, value in params.items() |
| 2190 | + ) |
| 2191 | + active_rules.append({"label": handler.label, "params_str": params_str}) |
| 2192 | + ruleset.active_rules = active_rules |
2176 | 2193 |
|
2177 | 2194 | return render( |
2178 | 2195 | request, |
|
0 commit comments