added view and url for new action
This commit is contained in:
parent
f5d78ba771
commit
2884850f72
|
@ -1 +1,10 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
|
from action import views
|
||||||
|
|
||||||
|
app_name = 'action'
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
|
||||||
|
path("new/", views.NewActionView.as_view(), name="new_action"),
|
||||||
|
|
||||||
|
]
|
||||||
|
|
|
@ -1 +1,34 @@
|
||||||
# from django.shortcuts import render
|
from django.views import View
|
||||||
|
from django.shortcuts import redirect, get_object_or_404
|
||||||
|
from django.contrib import messages
|
||||||
|
from action.forms import AddStateForm
|
||||||
|
from action.models import State, StateDefinition
|
||||||
|
from device.models import Device
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
class NewActionView(View):
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
form = AddStateForm(request.POST)
|
||||||
|
|
||||||
|
if form.is_valid():
|
||||||
|
state_definition_id = form.cleaned_data['state_id']
|
||||||
|
state_definition = get_object_or_404(StateDefinition, pk=state_definition_id)
|
||||||
|
snapshot_uuid = form.cleaned_data['snapshot_uuid']
|
||||||
|
#TODO: implement notes
|
||||||
|
note = form.cleaned_data.get('note', '')
|
||||||
|
|
||||||
|
state = State.objects.create(
|
||||||
|
snapshot_uuid=snapshot_uuid,
|
||||||
|
state=state_definition.state,
|
||||||
|
user=request.user,
|
||||||
|
institution=request.user.institution,
|
||||||
|
)
|
||||||
|
|
||||||
|
messages.success(request, f"Action to '{state_definition.state}' has been added.")
|
||||||
|
return redirect(request.META.get('HTTP_REFERER'))
|
||||||
|
else:
|
||||||
|
messages.error(request, "There was an error with your submission.")
|
||||||
|
return redirect(request.META.get('HTTP_REFERER'))
|
|
@ -22,6 +22,7 @@ urlpatterns = [
|
||||||
path("", include("login.urls")),
|
path("", include("login.urls")),
|
||||||
path("dashboard/", include("dashboard.urls")),
|
path("dashboard/", include("dashboard.urls")),
|
||||||
path("evidence/", include("evidence.urls")),
|
path("evidence/", include("evidence.urls")),
|
||||||
|
path('action/', include('action.urls')),
|
||||||
path("device/", include("device.urls")),
|
path("device/", include("device.urls")),
|
||||||
path("admin/", include("admin.urls")),
|
path("admin/", include("admin.urls")),
|
||||||
path("user/", include("user.urls")),
|
path("user/", include("user.urls")),
|
||||||
|
|
Loading…
Reference in a new issue