|
@@ -1,7 +1,7 @@
|
|
|
from django.contrib import messages
|
|
from django.contrib import messages
|
|
|
from django.contrib.contenttypes.models import ContentType
|
|
from django.contrib.contenttypes.models import ContentType
|
|
|
from django.db.models import Count, Q
|
|
from django.db.models import Count, Q
|
|
|
-from django.http import Http404, HttpResponseForbidden
|
|
|
|
|
|
|
+from django.http import Http404, HttpResponseBadRequest, HttpResponseForbidden, HttpResponse
|
|
|
from django.shortcuts import get_object_or_404, redirect, render
|
|
from django.shortcuts import get_object_or_404, redirect, render
|
|
|
from django.urls import reverse
|
|
from django.urls import reverse
|
|
|
from django.views.generic import View
|
|
from django.views.generic import View
|
|
@@ -10,6 +10,7 @@ from rq import Worker
|
|
|
|
|
|
|
|
from netbox.views import generic
|
|
from netbox.views import generic
|
|
|
from utilities.htmx import is_htmx
|
|
from utilities.htmx import is_htmx
|
|
|
|
|
+from utilities.templatetags.builtins.filters import render_markdown
|
|
|
from utilities.utils import copy_safe_request, count_related, get_viewname, normalize_querydict, shallow_compare_dict
|
|
from utilities.utils import copy_safe_request, count_related, get_viewname, normalize_querydict, shallow_compare_dict
|
|
|
from utilities.views import ContentTypePermissionRequiredMixin, register_model_view
|
|
from utilities.views import ContentTypePermissionRequiredMixin, register_model_view
|
|
|
from . import filtersets, forms, tables
|
|
from . import filtersets, forms, tables
|
|
@@ -885,3 +886,18 @@ class JobResultBulkDeleteView(generic.BulkDeleteView):
|
|
|
queryset = JobResult.objects.all()
|
|
queryset = JobResult.objects.all()
|
|
|
filterset = filtersets.JobResultFilterSet
|
|
filterset = filtersets.JobResultFilterSet
|
|
|
table = tables.JobResultTable
|
|
table = tables.JobResultTable
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#
|
|
|
|
|
+# Markdown
|
|
|
|
|
+#
|
|
|
|
|
+
|
|
|
|
|
+class RenderMarkdownView(View):
|
|
|
|
|
+
|
|
|
|
|
+ def post(self, request):
|
|
|
|
|
+ form = forms.RenderMarkdownForm(request.POST)
|
|
|
|
|
+ if not form.is_valid():
|
|
|
|
|
+ HttpResponseBadRequest()
|
|
|
|
|
+ rendered = render_markdown(form.cleaned_data['text'])
|
|
|
|
|
+
|
|
|
|
|
+ return HttpResponse(rendered)
|