diff options
Diffstat (limited to 'lib/srtgui/views.py')
-rw-r--r-- | lib/srtgui/views.py | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/lib/srtgui/views.py b/lib/srtgui/views.py index 072d81af..122d9133 100644 --- a/lib/srtgui/views.py +++ b/lib/srtgui/views.py @@ -20,28 +20,23 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os -import sys import traceback import subprocess from datetime import timedelta, datetime from decimal import Decimal -from os.path import dirname import mimetypes import json import re -from srtgui.templatetags.projecttags import json as jsonfilter - -from django.db.models import F, Q, Sum -from django.db import IntegrityError -from django.shortcuts import render, redirect, get_object_or_404 +from django.db.models import Q +from django.shortcuts import render, redirect from django.db.models.functions import Lower -from orm.models import Cve, CveLocal, CveSource, CveDetail, CveHistory +from orm.models import Cve, CveLocal, CveSource, CveHistory from orm.models import Vulnerability, VulnerabilityHistory, CveToVulnerablility, VulnerabilityToInvestigation, VulnerabilityNotification, VulnerabilityAccess, VulnerabilityComments, VulnerabilityUploads from orm.models import Investigation, InvestigationHistory, InvestigationToDefect, InvestigationComments, InvestigationNotification, InvestigationAccess, InvestigationUploads -from orm.models import SrtSetting, CweTable, Product -from orm.models import Package, PackageToCve -from orm.models import Investigation, DataSource +from orm.models import SrtSetting, Product +from orm.models import Package +from orm.models import DataSource from orm.models import Defect, PublishPending from orm.models import Notify, NotifyAccess, NotifyCategories @@ -51,12 +46,9 @@ from srtgui.reports import ReportManager from srtgui.api import readCveDetails, writeCveDetails, summaryCveDetails, execute_process from django.urls import reverse, resolve -from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.core.files.uploadedfile import UploadedFile -from django.http import HttpResponse, HttpResponseNotFound, JsonResponse, HttpResponseRedirect +from django.core.paginator import EmptyPage, PageNotAnInteger +from django.http import HttpResponse from django.utils import timezone -from django import forms import logging @@ -197,10 +189,7 @@ def _verify_parameters(g, mandatory_parameters): return None def _redirect_parameters(view, g, mandatory_parameters, *args, **kwargs): - try: - from urllib import unquote, urlencode - except ImportError: - from urllib.parse import unquote, urlencode + from urllib.parse import unquote, urlencode url = reverse(view, kwargs=kwargs) params = {} for i in g: @@ -232,8 +221,8 @@ def __get_q_for_val(name, value): if "OR" in value or "AND" in value: result = None for x in value.split("OR"): - x = __get_q_for_val(name, x) - result = result | x if result else x + x = __get_q_for_val(name, x) + result = result | x if result else x return result if "AND" in value: result = None @@ -310,7 +299,7 @@ def _validate_input(field_input, model): if True in [field.startswith(x) for x in valid_fields]: break else: - return None, (field, valid_fields) + return None, (field, valid_fields) return field_input, invalid @@ -383,7 +372,6 @@ def _get_parameters_values(request, default_count, default_order): # set cookies for parameters. this is usefull in case parameters are set # manually from the GET values of the link def _set_parameters_values(pagesize, orderby, request): - from django.urls import resolve current_url = resolve(request.path_info).url_name request.session['%s_count' % current_url] = pagesize request.session['%s_orderby' % current_url] =orderby @@ -411,8 +399,8 @@ def _modify_date_range_filter(filter_string): if 0 > filter_string.find('_daterange'): return filter_string,'' # normalize GUI dates to database format - filter_string = filter_string.replace('_daterange','').replace(':','!'); - filter_list = filter_string.split('!'); + filter_string = filter_string.replace('_daterange','').replace(':','!') + filter_list = filter_string.split('!') if 4 != len(filter_list): return filter_string today = timezone.localtime(timezone.now()) @@ -499,8 +487,6 @@ def management(request): } return render(request, 'management.html', context) - -import copy def cve(request, cve_pk, active_tab="1"): if request.method == "GET": template = "cve.html" @@ -619,7 +605,7 @@ def cve_edit(request, cve_pk): else: cve_object = Cve.objects.get(name=cve_pk) cve_pk = cve_object.pk - except Exception as e: + except Exception: return redirect(landing) # Create the local CVE edit record if not already present cve_local_object,created = CveLocal.objects.get_or_create(name=cve_object.name) @@ -1040,7 +1026,6 @@ def _create_defect(investigation,defect_reason,components): return d.name def xhr_triage_commit(request): - global defect_count _log("xhr_triage_commit(%s)" % request.POST) if not 'action' in request.POST: return HttpResponse(json.dumps({"error":"missing action\n"}), content_type = "application/json") @@ -1156,7 +1141,7 @@ def xhr_triage_commit(request): # map vulnerability to CVE cv = CveToVulnerablility.objects.create(vulnerability=v,cve=cve) - cv.save(); + cv.save() # add audit comment vc = VulnerabilityHistory.objects.create(vulnerability=v) vc.date = today |