diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 6813be439..27d996869 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.3.5 +current_version = 2.3.6 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(-(?P.*)-(?P\d+))? diff --git a/README.md b/README.md index 0eceb411d..36ce219cf 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

Incident Response Investigation System
- Current Version v2.3.5 + Current Version v2.3.6
Online Demonstration

@@ -52,7 +52,7 @@ git clone https://github.com/dfir-iris/iris-web.git cd iris-web # Checkout to the last tagged version -git checkout v2.3.5 +git checkout v2.3.6 # Copy the environment file cp .env.model .env diff --git a/docker-compose.yml b/docker-compose.yml index 43452f555..ad577143f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: build: context: docker/db container_name: iriswebapp_db - image: iriswebapp_db:v2.3.5 + image: iriswebapp_db:v2.3.6 restart: always # Used for debugging purposes, should be deleted for production ports: @@ -47,7 +47,7 @@ services: build: context: . dockerfile: docker/webApp/Dockerfile - image: iriswebapp_app:v2.3.5 + image: iriswebapp_app:v2.3.6 container_name: iriswebapp_app command: ['nohup', './iris-entrypoint.sh', 'iriswebapp'] volumes: @@ -85,7 +85,7 @@ services: build: context: . dockerfile: docker/webApp/Dockerfile - image: iriswebapp_app:v2.3.5 + image: iriswebapp_app:v2.3.6 container_name: iriswebapp_worker command: ['./wait-for-iriswebapp.sh', 'app:8000', './iris-entrypoint.sh', 'iris-worker'] volumes: @@ -121,7 +121,7 @@ services: args: NGINX_CONF_GID: 1234 NGINX_CONF_FILE: nginx.conf - image: iriswebapp_nginx:v2.3.5 + image: iriswebapp_nginx:v2.3.6 container_name: iriswebapp_nginx environment: - IRIS_UPSTREAM_SERVER diff --git a/source/app/blueprints/overview/templates/overview.html b/source/app/blueprints/overview/templates/overview.html index 03e3d4905..6d8014cac 100644 --- a/source/app/blueprints/overview/templates/overview.html +++ b/source/app/blueprints/overview/templates/overview.html @@ -51,6 +51,8 @@ cellspacing="0" id="overview_table"> + Outcome + Case ID Title Customer Classification @@ -60,10 +62,13 @@ Open date Tasks Owner + Severity + + Title Customer Classification @@ -73,6 +78,7 @@ Open date Tasks Owner + diff --git a/source/app/configuration.py b/source/app/configuration.py index cf063d090..92395a327 100644 --- a/source/app/configuration.py +++ b/source/app/configuration.py @@ -265,7 +265,7 @@ class CeleryConfig: # --------- APP --------- class Config: # Handled by bumpversion - IRIS_VERSION = "v2.3.5" + IRIS_VERSION = "v2.3.6" API_MIN_VERSION = "2.0.0" API_MAX_VERSION = "2.0.3" diff --git a/source/app/iris_engine/reporter/reporter.py b/source/app/iris_engine/reporter/reporter.py index 092549965..a4d551557 100644 --- a/source/app/iris_engine/reporter/reporter.py +++ b/source/app/iris_engine/reporter/reporter.py @@ -549,11 +549,13 @@ def generate_md_report(self, doc_type): _, report_format = os.path.splitext(report.internal_reference) + case_info['case']['for_customer'] = f"{case_info['case'].get('client').get('customer_name')} (legacy::use client.customer_name)" + # Prepare report name name = "{}".format(("{}" + str(report_format)).format(report.naming_format)) name = name.replace("%code_name%", case_info['doc_id']) name = name.replace( - '%customer%', case_info['case'].get('for_customer')) + '%customer%', case_info['case'].get('client').get('customer_name')) name = name.replace('%case_name%', case_info['case'].get('name')) name = name.replace('%date%', datetime.utcnow().strftime("%Y-%m-%d")) diff --git a/source/app/static/assets/css/atlantis.css b/source/app/static/assets/css/atlantis.css index 958910396..8fc4c5659 100644 --- a/source/app/static/assets/css/atlantis.css +++ b/source/app/static/assets/css/atlantis.css @@ -15895,4 +15895,5 @@ td.dt-nowrap { white-space: nowrap } .copy-icon-l { margin-left: 10px; -} \ No newline at end of file +} + diff --git a/source/app/static/assets/js/iris/overview.js b/source/app/static/assets/js/iris/overview.js index 09601324f..64f076688 100644 --- a/source/app/static/assets/js/iris/overview.js +++ b/source/app/static/assets/js/iris/overview.js @@ -4,7 +4,39 @@ $.each($.find("table"), function(index, element){ let OverviewTable = $("#overview_table").DataTable({ dom: '<"container-fluid"<"row"<"col"l><"col"f>>>rt<"container-fluid"<"row"<"col"i><"col"p>>>', aaData: [], + columnDefs: [ + { + targets: [0], // column index + visible: false, // set visibility + searchable: true, // set searchable + data: "status_name" // field in data + }, + { + targets: [1], // column index + visible: false, // set visibility + searchable: true, // set searchable + data: "case_id" // field in data + }, + { + targets: [11], // column index + visible: false, // set visibility + searchable: true, // set searchable + data: "severity" // field in data + } + ], aoColumns: [ + { + "data": "status_name", + "render": function (data, type, row, meta) { + return data; + } + }, + { + "data": "case_id", + "render": function (data, type, row, meta) { + return data; + } + }, { "data": "name", "render": function (data, type, row, meta) { @@ -151,7 +183,16 @@ let OverviewTable = $("#overview_table").DataTable({ } return data; } - } + }, + { + "data": "severity", + "render": function (data, type, row, meta) { + if (data != null && (type == 'filter' || type === 'sort' || type === 'display' || type === 'search')) { + return data.severity_name; + } + return data; + } + } ], filter: true, info: true, @@ -184,7 +225,7 @@ let OverviewTable = $("#overview_table").DataTable({ }, select: true, initComplete: function () { - tableFiltering(this.api(), 'overview_table', [0]); + tableFiltering(this.api(), 'overview_table'); }, drawCallback: function () { $('.btn-quick-view').off('click').on('click', function() { @@ -287,6 +328,10 @@ function show_case_view(row_index) { owner_dl1.append($('
').text(timeSinceLastUpdateStr)); owner_dl1.append($('
').text('Severity:')); owner_dl1.append($('
').text(case_data.severity.severity_name)); + owner_dl1.append($('
').text('Outcome:')); + let statusName = case_data.status_name.replace(/_/g, ' '); + statusName = statusName.replace(/\b\w/g, function(l){ return l.toUpperCase() }); + owner_dl1.append($('
').text(statusName)); owner_col1.append(owner_dl1);