diff --git a/minion/frontend/static/css/minion.css b/minion/frontend/static/css/minion.css
index fd8fb76..cbda9b5 100644
--- a/minion/frontend/static/css/minion.css
+++ b/minion/frontend/static/css/minion.css
@@ -130,3 +130,19 @@ body {
text-shadow: 2px 2px 2px #021124;
}
+#issue-search input {
+ width: 30%;
+}
+
+#issue-search select {
+ width: 40%;
+}
+
+.issues > h3 {
+ display: inline-block;
+}
+
+.issues > span{
+ display: inline-block;
+ text-align: right;
+}
diff --git a/minion/frontend/static/js/minion-main.js b/minion/frontend/static/js/minion-main.js
index 46d7f50..bc18db3 100644
--- a/minion/frontend/static/js/minion-main.js
+++ b/minion/frontend/static/js/minion-main.js
@@ -525,20 +525,24 @@ app.controller("ScanController", function($scope, $routeParams, $http, $location
var issueCounts = {high: 0, medium: 0, low: 0, info: 0, error: 0};
_.each(scan.sessions, function (session) {
_.each(session.issues, function (issue) {
- issue.session = session;
+ issue.plugin = session.plugin;
issues.push(issue);
switch (issue.Severity) {
case "High":
+ issue.position = 4;
issueCounts.high++;
break;
case "Medium":
+ issue.position = 3;
issueCounts.medium++;
break;
case "Low":
+ issue.position = 2;
issueCounts.low++;
break;
case "Informational":
case "Info":
+ issue.position = 1;
issueCounts.info++;
break;
case "Error":
@@ -636,6 +640,18 @@ app.filter('scan_datetime_fromnow', function () {
};
});
+app.filter('site_label', function () {
+ return function(input, list, index) {
+ if (index != 0 && (list[index-1].target == list[index].target)){
+ input = '-';
+ }
+ else{
+ input = list[index].target;
+ }
+ return input;
+ };
+});
+
app.filter('moment_duration', function () {
return function(input, timenow) {
var start, end;
diff --git a/minion/frontend/static/partials/home.html b/minion/frontend/static/partials/home.html
index 5ca5963..1bee6d7 100644
--- a/minion/frontend/static/partials/home.html
+++ b/minion/frontend/static/partials/home.html
@@ -30,8 +30,29 @@
Sites & Scans
+
+ Search: Sort by:
+
+
-
+
| Site |
@@ -45,8 +66,8 @@ Sites & Scans
|
-
- | {{r.label}} |
+
+ | {{r.label | site_label:orderedReport:$index}} |
{{r.plan}} |
{{(r.scan.created | scan_datetime) || "-" }} |
{{r.scan.state || "-"}} |
diff --git a/minion/frontend/static/partials/scan.html b/minion/frontend/static/partials/scan.html
index a6866b0..6a62e15 100644
--- a/minion/frontend/static/partials/scan.html
+++ b/minion/frontend/static/partials/scan.html
@@ -73,22 +73,33 @@ Issue Counts
This scan was aborted: {{scan.failure.message}}
- Found Issues
-
-
-
-
- | Severity |
- Plugin |
- Risk Summary |
-
-
-
- | {{issue.Severity}} |
- {{issue.session.plugin.name}} (v{{issue.session.plugin.version}}) |
- {{issue.Summary}} |
-
-
+
+
+
Found Issues
+
+ Search: Sort by:
+
+
+
+
+
+
+ | Severity |
+ Plugin |
+ Risk Summary |
+
+
+
+ | {{issue.Severity}} |
+ {{issue.plugin.name}} (v{{issue.plugin.version}}) |
+ {{issue.Summary}} |
+
+
Workflow