def systems_add(request): if request.method == 'POST': form = SystemForm(request.POST) if form.is_valid(): system = form.save(commit=False) system.system_created_by_user_id = request.user system.system_modified_by_user_id = request.user system.system_modify_time = timezone.now() system.save() form.save_m2m() # get user string request_user = str(request.user) # extract lines from ip list lines = request.POST.get('iplist').splitlines() # call function to save ips ips_save(request, system, lines) # call logger system.logger(str(request.user), ' SYSTEM_ADD_EXECUTED') messages.success(request, 'System added') return redirect('/systems/' + str(system.system_id)) else: # show empty form with default values for convenience and speed reasons form = SystemForm(initial={ 'systemstatus': 2, 'analysisstatus': 1, }) # call logger debug_logger(str(request.user), " SYSTEM_ADD_ENTERED") return render(request, 'dfirtrack_main/system/systems_add.html', {'form': form})
def systems_edit(request, pk): system = get_object_or_404(System, pk=pk) if request.method == 'POST': form = SystemForm(request.POST, instance=system) if form.is_valid(): system = form.save(commit=False) system.system_modified_by_user_id = request.user system.system_modify_time = timezone.now() system.save() form.save_m2m() system.ip.clear() # get user string request_user = str(request.user) # extract lines from ip list lines = request.POST.get('iplist').splitlines() # call function to save ips ips_save(request, system, lines) # call logger system.logger(str(request.user), ' SYSTEM_EDIT_EXECUTED') messages.success(request, 'System edited') return redirect('/systems/' + str(system.system_id)) else: system = System.objects.get(system_id=pk) """ get all existing ip addresses """ # get objects ips = system.ip.all() # count objects iplen = len(ips) # set counter i = 0 # set default string if there is no object at all ipstring = '' for ip in ips: # add ip to string ipstring = ipstring + str(ip.ip_ip) # increment counter i += 1 # add newline but not for last occurence if i < iplen: ipstring = ipstring + '\n' # show form for system with all ip addresses form = SystemForm( instance=system, initial={ 'iplist': ipstring, }, ) # call logger system.logger(str(request.user), " SYSTEM_EDIT_ENTERED") return render(request, 'dfirtrack_main/system/systems_edit.html', {'form': form})