-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #196 from mantiumai/AlexN/fix-policy-version-bug
Fix bug related to scan version and policy version
- Loading branch information
Showing
12 changed files
with
164 additions
and
132 deletions.
There are no files selected for viewing
126 changes: 1 addition & 125 deletions
126
chirps/policy/templates/policy/dashboard_policy_list.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,127 +1,3 @@ | ||
{% load policy_filter %} | ||
{% for policy in policy_list %} | ||
<div class="accordion-item policy-row" , id="chirps-policy-{{policy.id}}" hx-target="closest .policy-row" | ||
hx-swap="outerHTML"> | ||
<div class="accordion-header"> | ||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" | ||
data-bs-target="#collapse-{{policy.id}}" aria-expanded="false" aria-controls="collapse-{{policy.id}}"> | ||
<div class="d-flex"> | ||
<h5 class="ml-0 mr-3 my-auto">{{policy.name}}</h5> | ||
<small class="ml-0 mr-auto my-auto">{{policy.description}}</small> | ||
</div> | ||
</button> | ||
|
||
|
||
</div> | ||
<div id="collapse-{{policy.id}}" class="accordion-collapse collapse"> | ||
<div class="accordion-body"> | ||
{% with grouped_rules=policy.current_version.rules.all|group_by_rule_type %} | ||
{% for rule_type, rules in grouped_rules.items %} | ||
{% if rule_type == 'regex' and rules %} | ||
<h5>Regex Rules</h5> | ||
<table class="table"> | ||
<thead> | ||
<tr> | ||
<th scope="col">Name</th> | ||
<th scope="col">Query</th> | ||
<th scope="col">Test</th> | ||
<th scope="col">Severity</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for rule in rules %} | ||
<tr> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.name}}"> | ||
{{rule.name|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" | ||
title="{{rule.query_string}}"> | ||
{{rule.query_string|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.regex_test}}"> | ||
{{rule.regex_test|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.severity}}"> | ||
{{rule.severity|truncatechars:50}} | ||
</span> | ||
</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
|
||
{% elif rule_type == 'multiquery' and rules %} | ||
<h5>MultiQuery Rules</h5> | ||
<table class="table"> | ||
<thead> | ||
<tr> | ||
<th scope="col">Name</th> | ||
<th scope="col">Description</th> | ||
<th scope="col">Success Outcome</th> | ||
<th scope="col">Severity</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for rule in rules %} | ||
<tr> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" | ||
title="{{rule.name}}"> | ||
{{rule.name|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" | ||
title="{{rule.task_description}}"> | ||
{{rule.task_description|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" | ||
title="{{rule.success_outcome}}"> | ||
{{rule.success_outcome|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" | ||
title="{{rule.severity}}"> | ||
{{rule.severity|truncatechars:50}} | ||
</span> | ||
</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% endif %} | ||
{% endfor %} | ||
{% endwith %} | ||
</div> | ||
|
||
{% if edit_mode %} | ||
{% if policy.is_template == False %} | ||
<div class="row"> | ||
<div class="col"> | ||
<a class="btn btn-outline-primary m-3" href="{% url 'policy_edit' policy.id %}"><i | ||
class="fa-solid fa-pen-to-square"></i> Edit</a> | ||
<a href="{% url 'policy_archive' policy.id %}" class="btn btn-outline-danger m-3"><i | ||
class="fa-solid fa-trash"></i> Archive</a> | ||
</div> | ||
<div class="col align-self-end"> | ||
<p class="text-right m-3">version: {{policy.current_version.number}}</p> | ||
</div> | ||
</div> | ||
{% else %} | ||
<a class="btn btn-outline-primary m-3" href="{% url 'policy_clone' policy.id %}"><i | ||
class="fa-solid fa-clone"></i> Clone</a> | ||
{% endif %} | ||
{% endif %} | ||
</div> | ||
</div> | ||
{% include 'policy/policy_list_item.html' with policy=policy policy_rules=policy.current_version.rules.all edit_mode=edit_mode %} | ||
{% endfor %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% load policy_filter %} | ||
<div class="accordion-item policy-row" id="chirps-policy-{{policy.id}}" hx-target="closest .policy-row" hx-swap="outerHTML"> | ||
<div class="accordion-header"> | ||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" | ||
data-bs-target="#collapse-{{policy.id}}" aria-expanded="false" aria-controls="collapse-{{policy.id}}"> | ||
<div class="d-flex"> | ||
<h5 class="ml-0 mr-3 my-auto">{{policy.name}}</h5> | ||
<small class="ml-0 mr-auto my-auto">{{policy.description}}</small> | ||
</div> | ||
</button> | ||
</div> | ||
<div id="collapse-{{policy.id}}" class="accordion-collapse collapse"> | ||
<div class="accordion-body"> | ||
{% include 'policy/policy_rules_grouped.html' with policy_rules=policy_rules %} | ||
</div> | ||
{% if edit_mode %} | ||
{% if policy.is_template == False %} | ||
<div class="row"> | ||
<div class="col"> | ||
<a class="btn btn-outline-primary m-3" href="{% url 'policy_edit' policy.id %}"><i | ||
class="fa-solid fa-pen-to-square"></i> Edit</a> | ||
<a href="{% url 'policy_archive' policy.id %}" class="btn btn-outline-danger m-3"><i | ||
class="fa-solid fa-trash"></i> Archive</a> | ||
</div> | ||
<div class="col align-self-end"> | ||
<p class="text-right m-3">version: {{policy.current_version.number}}</p> | ||
</div> | ||
</div> | ||
{% else %} | ||
<a class="btn btn-outline-primary m-3" href="{% url 'policy_clone' policy.id %}"><i | ||
class="fa-solid fa-clone"></i> Clone</a> | ||
{% endif %} | ||
{% endif %} | ||
</div> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
{% load policy_filter %} | ||
{% with grouped_rules=policy_rules|group_by_rule_type %} | ||
{% for rule_type, rules in grouped_rules.items %} | ||
{% if rule_type == 'regex' and rules %} | ||
<h5>Regex Rules</h5> | ||
<table class="table"> | ||
<thead> | ||
<tr> | ||
<th scope="col">Name</th> | ||
<th scope="col">Query</th> | ||
<th scope="col">Test</th> | ||
<th scope="col">Severity</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for rule in rules %} | ||
<tr> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.name}}"> | ||
{{rule.name|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.query_string}}"> | ||
{{rule.query_string|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.regex_test}}"> | ||
{{rule.regex_test|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.severity}}"> | ||
{{rule.severity|truncatechars:50}} | ||
</span> | ||
</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
|
||
{% elif rule_type == 'multiquery' and rules %} | ||
<h5>MultiQuery Rules</h5> | ||
<table class="table"> | ||
<thead> | ||
<tr> | ||
<th scope="col">Name</th> | ||
<th scope="col">Description</th> | ||
<th scope="col">Success Outcome</th> | ||
<th scope="col">Severity</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for rule in rules %} | ||
<tr> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.name}}"> | ||
{{rule.name|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.task_description}}"> | ||
{{rule.task_description|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.success_outcome}}"> | ||
{{rule.success_outcome|truncatechars:50}} | ||
</span> | ||
</td> | ||
<td> | ||
<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="{{rule.severity}}"> | ||
{{rule.severity|truncatechars:50}} | ||
</span> | ||
</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% endif %} | ||
{% endfor %} | ||
{% endwith %} |
18 changes: 18 additions & 0 deletions
18
chirps/scan/migrations/0012_scanversion_policy_versions.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Generated by Django 4.2.3 on 2023-09-06 18:24 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
dependencies = [ | ||
('policy', '0009_multiqueryrule_attack_count'), | ||
('scan', '0011_merge_20230828_1433'), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name='scanversion', | ||
name='policy_versions', | ||
field=models.ManyToManyField(to='policy.policyversion'), | ||
), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{% for policy in policy_list %} | ||
{% include 'policy/policy_list_item.html' with policy=policy policy_rules=policy.rules.all edit_mode=edit_mode %} | ||
{% endfor %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters