Exemplo n.º 1
0
def new(request, observation_id, authorization_target=None):
    if authorization_target is None:
        e = get_object_or_404(Finding.authorization.for_user(
            request.user, 'findings.handle_findings'),
                              pk=observation_id)
    else:
        e = authorization_target

    if request.method == "GET":
        nugget_form = NuggetForm()

    if request.method == 'POST':
        nugget_form = NuggetForm(request.POST)

        if nugget_form.is_valid():
            nugget = nugget_form.save(commit=False)
            nugget.finding = e
            nugget.found_by = request.user
            nugget.save()

            ret = {
                'status':
                'success',
                'row':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'row',
                    "user": request.user
                }),
                'raw':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'raw',
                    "user": request.user
                }),
                'nugget_id':
                nugget.id,
                'mode':
                'new',
            }

            e.refresh_artifacts(nugget.raw_data)

            return HttpResponse(dumps(ret), content_type='application/json')
        else:
            errors = render_to_string("fir_nuggets/nugget_form.html", {
                'mode': 'new',
                'nugget_form': nugget_form,
                'observation_id': e.id
            })
            ret = {'status': 'error', 'data': errors}
            return HttpResponse(dumps(ret), content_type="application/json")

    return render(
        request, "fir_nuggets/nugget_form.html", {
            'nugget_form': nugget_form,
            'mode': 'new',
            'observation_id': observation_id
        })
Exemplo n.º 2
0
def edit(request, nugget_id):
    n = get_object_or_404(Nugget, pk=nugget_id)
    e = n.finding
    if not request.user.has_perm('findings.handle_findings', obj=e):
        ret = {
            'status': 'error',
            'data': [
                'Permission denied',
            ]
        }
        return HttpResponse(dumps(ret), content_type="application/json")
    if request.method == "GET":
        nugget_form = NuggetForm(instance=n)
        return render(request, "fir_nuggets/nugget_form.html", {
            'mode': 'edit',
            'nugget_form': nugget_form,
            'nugget_id': n.id
        })

    if request.method == "POST":
        nugget_form = NuggetForm(request.POST, instance=n)

        if nugget_form.is_valid():
            nugget = nugget_form.save()
            ret = {
                'status':
                'success',
                'mode':
                'edit',
                'nugget_id':
                nugget.id,
                'row':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'row',
                    "user": request.user
                }),
                'raw':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'raw',
                    "user": request.user
                }),
            }
            return HttpResponse(dumps(ret), content_type='application/json')

        else:
            errors = render_to_string("fir_nuggets/nugget_form.html", {
                'mode': 'edit',
                'nugget_form': nugget_form,
                'nugget_id': n.id
            })
            ret = {'status': 'error', 'data': errors}
            return HttpResponse(dumps(ret), content_type="application/json")
Exemplo n.º 3
0
def new(request, event_id):
    e = get_object_or_404(Incident, pk=event_id)

    if request.method == "GET":
        nugget_form = NuggetForm()

    if request.method == 'POST':
        nugget_form = NuggetForm(request.POST)

        if nugget_form.is_valid():
            nugget = nugget_form.save(commit=False)
            nugget.incident = e
            nugget.found_by = request.user
            nugget.save()

            ret = {
                'status':
                'success',
                'row':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'row'
                }),
                'raw':
                render_to_string("fir_nuggets/nugget_row.html", {
                    'n': nugget,
                    'mode': 'raw'
                }),
                'nugget_id':
                nugget.id,
                'mode':
                'new',
            }

            e.refresh_artifacts(nugget.raw_data)

            return HttpResponse(dumps(ret), content_type='application/json')
        else:
            errors = render_to_string("fir_nuggets/nugget_form.html", {
                'mode': 'new',
                'nugget_form': nugget_form,
                'event_id': e.id
            })
            ret = {'status': 'error', 'data': errors}
            return HttpResponse(dumps(ret), content_type="application/json")

    return render(request, "fir_nuggets/nugget_form.html", {
        'nugget_form': nugget_form,
        'mode': 'new',
        'event_id': event_id
    })