Skip to content

Commit

Permalink
Merge pull request #22 from mpast/delete-scan
Browse files Browse the repository at this point in the history
Delete scan
  • Loading branch information
mpast committed Mar 13, 2021
2 parents 6497c77 + 5e0ab30 commit c564d39
Show file tree
Hide file tree
Showing 11 changed files with 227 additions and 8 deletions.
1 change: 1 addition & 0 deletions app/config/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
path('file/<int:id>', views.view_file, name='view_file'),
path('scan/create', views.create_scan, name='create_scan'),
path('scan/create/<int:app_id>', views.create_scan, name='create_scan'),
path('scan/delete/<int:scan_id>', views.delete_scan, name='delete_scan'),
path('patterns/', views.patterns, name="patterns"),
path('permissions/', views.permissions, name="permissions"),
path('malware/', views.malware, name="malware"),
Expand Down
41 changes: 41 additions & 0 deletions app/templates/app.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
{% extends 'base.html' %} {% load fontawesome_5 %} {% block content %}
<h4>App</h4>
{% if app %}
<ul class="messages">
{% for message in messages %}
<div class="alert alert-success">
<strong>{{ message | escape }}</strong>
</div>
{% endfor %}
</ul>
<table class="table table-striped table-bordered">
<tr>
<th>App name</th>
Expand Down Expand Up @@ -32,6 +39,9 @@ <h5>Scans</h5>
{% endif %}
<th style="width: 10%;">Findings</th>
<th style="width: 30%;">By Severity</th>
{% if user.is_authenticated %}
<th style="width: 6%;">Delete</th>
{% endif %}
</tr>
</thead>
<tbody>
Expand Down Expand Up @@ -70,9 +80,40 @@ <h5>Scans</h5>
{% endfor %}
</table>
</td>
<td>
<form action="{% url 'delete_scan' scan.id %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<button type="submit" class="delete-scan btn btn-danger">{% fa5_icon 'trash-alt' color='white' %}</button>
</form>
</td>
{% endif %} {% endfor %}
</tr>
{% endfor %}
</tbody>
</table>

<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
$(document).ready(function() {
$('.delete-scan').on('click', function(e) {
if (!confirm('Do you really want to delete the scan?')) {
e.preventDefault();
}
});

});
</script>
{% endif %} {% endif %} {% endblock %}
19 changes: 18 additions & 1 deletion app/templates/create_app.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,21 @@
</div>
{% endfor %}
</ul>
{% endif %} {% endblock %}
<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
</script>
{% endif %}
{% endblock %}
21 changes: 20 additions & 1 deletion app/templates/create_finding.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,23 @@
{% endif %} {% if finding %}
<a class="btn btn-sm btn-outline-warning" href="{% url 'finding' id=finding %}">See finding {% fa5_icon 'chevron-right' %}</a>{% if scan %}
<a class="btn btn-sm btn-outline-info" href="{% url 'create_finding' scan_id=scan %}">Create other finding {% fa5_icon 'redo-alt' %}</a> {% else %}
<a class="btn btn-sm btn-outline-info" href="{% url 'create_finding' %}">Create other finding {% fa5_icon 'redo-alt' %}</a> {% endif %} {% endif %} {% endblock %}
<a class="btn btn-sm btn-outline-info" href="{% url 'create_finding' %}">Create other finding {% fa5_icon 'redo-alt' %}</a> {% endif %} {% endif %}

<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
</script>

{% endblock %}
19 changes: 18 additions & 1 deletion app/templates/create_scan.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,21 @@
</div>
{% endfor %}
</ul>
{% endif %} {% endblock %}
{% endif %}
<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
</script>
{% endblock %}
19 changes: 18 additions & 1 deletion app/templates/edit_finding.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,21 @@
{% endfor %}
</ul>
{% endif %} {% if finding %}
<a class="btn btn-sm btn-outline-warning" href="{% url 'finding' id=finding %}">See finding {% fa5_icon 'chevron-right' %}</a> {% endif %} {% endblock %}
<a class="btn btn-sm btn-outline-warning" href="{% url 'finding' id=finding %}">See finding {% fa5_icon 'chevron-right' %}</a> {% endif %}
<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
</script>
{% endblock %}
14 changes: 14 additions & 0 deletions app/templates/findings.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,20 @@
<a class="btn btn-sm btn-outline-secondary" href="{% url 'scan' id=scan %}">{% fa5_icon 'chevron-left' %} Return to scan </a> {% endif %}

<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
$(document).ready(function() {
$('#id_select_all').on('click', function() {
$('.finding').prop('checked', this.checked);
Expand Down
41 changes: 41 additions & 0 deletions app/templates/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ <h5>Apps</h5>
<p id="alert-account" class="alert alert-danger" style="display: none;">To create apps, you must have and account</p>
<a onclick="$('#alert-account').show()" class="btn btn-outline-primary">New App</a> {% endif %}
<br> {% if apps %}
<ul class="messages">
{% for message in messages %}
<div class="alert alert-success">
<strong>{{ message | escape }}</strong>
</div>
{% endfor %}
</ul>
<table class="table table-bordered">
<thead>
<tr>
Expand Down Expand Up @@ -41,6 +48,9 @@ <h5>Apps</h5>
{% endif %}
<th style="width: 10%;">Findings</th>
<th style="width: 30%;">By Severity</th>
{% if user.is_authenticated %}
<th style="width: 5%;">Delete</th>
{% endif %}
</tr>
</thead>
<tbody>
Expand Down Expand Up @@ -78,6 +88,14 @@ <h5>Apps</h5>
{% endfor %}
</table>
</td>
{% if user.is_authenticated %}
<td>
<form action="{% url 'delete_scan' scan.id %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<button type="submit" class="delete-scan btn btn-danger">{% fa5_icon 'trash-alt' color='white' %}</button>
</form>
</td>
{% endif %}
{% endif %} {% endfor %}
</tr>
{% endif %} {% endfor %}</tbody>
Expand All @@ -90,4 +108,27 @@ <h5>Apps</h5>
{% endfor %}
</tbody>
</table>
<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
$(document).ready(function() {
$('.delete-scan').on('click', function(e) {
if (!confirm('Do you really want to delete the scan?')) {
e.preventDefault();
}
});
});
</script>
{% endif %} {% endblock %}
16 changes: 16 additions & 0 deletions app/templates/login.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,20 @@
</ul>
{% endif %}
</form>
<script type="text/javascript">
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
</script>
{% endblock %}
32 changes: 29 additions & 3 deletions app/templates/scan.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,14 @@ <h4 class="card-title">Scan</h4>
{% endif %}
</div>
</div>
{% if scan.progress >= 40 %}
<br>
<a href="{% url 'export' id=scan.id %}" class="btn btn-outline-dark">Export {% fa5_icon 'download' %}</a> {% endif %}
<form action="{% url 'delete_scan' scan.id %}" method="post" enctype="multipart/form-data" style="display: inline-block;">
{% csrf_token %}
<button type="submit" class="delete-scan btn btn-danger">Delete {% fa5_icon 'trash-alt' color='white' %}</button>
</form>
{% if scan.progress >= 40 %}
<a href="{% url 'export' id=scan.id %}" class="btn btn-outline-dark">Export {% fa5_icon 'download' %}</a>
{% endif %}
</div>
</div>
<br>
Expand Down Expand Up @@ -932,7 +937,28 @@ <h5 class="card-title">Databases</h5>
}
var progressUrl = '{% url "scan_state" scan.id %}';
updateProgress(progressUrl);

});
function fade_alerts() {
alerts = document.getElementsByClassName("alert");
var i = alerts.length;
for (let elem of alerts) {
i--;
time = 3250+(1000*i);
setTimeout(function() {
$(elem).fadeOut("slow");
}, time);
}
}
window.addEventListener('DOMContentLoaded', (event) => {
fade_alerts();
});
$(document).ready(function() {
$('.delete-scan').on('click', function(e) {
if (!confirm('Do you really want to delete the scan?')) {
e.preventDefault();
}
});
});

</script>
{% endblock %}
12 changes: 11 additions & 1 deletion app/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,11 +195,21 @@ def create_scan(request, app_id = ''):
return render(request, 'create_scan.html', {
'form': form,
})
@login_required
def delete_scan(request, scan_id=''):
if request.method == 'POST':
scan = Scan.objects.get(pk=scan_id)
if (scan.user == request.user):
scan.delete()
messages.success(request, 'Removed successfully')
return redirect('home')
messages.warning(request, 'Removed successfully')
return redirect('home')

@login_required
def app(request, id):
app = Application.objects.get(pk=id)
scans = Scan.objects.filter(app=app.id)
scans = Scan.objects.filter(app=app.id).order_by('id')
scans_data = {}
for scan in scans:
scans_data[scan.id] = {
Expand Down

0 comments on commit c564d39

Please sign in to comment.