diff --git a/assets/templates/asset_audit.html b/assets/templates/asset_audit.html
index 20e37f1a..26f426a0 100644
--- a/assets/templates/asset_audit.html
+++ b/assets/templates/asset_audit.html
@@ -1,14 +1,9 @@
-{% extends 'base_assets.html' %}
+{% extends request.is_ajax|yesno:'base_ajax.html,base_assets.html' %}
{% load widget_tweaks %}
{% block title %}Audit Asset {{ object.asset_id }}{% endblock %}
{% block content %}
-
-
{% endblock %}
-
-{% block js%}
-{% if edit %}
-
-{% endif %}
-{% endblock %}
diff --git a/assets/templates/asset_audit_list.html b/assets/templates/asset_audit_list.html
new file mode 100644
index 00000000..8019a34c
--- /dev/null
+++ b/assets/templates/asset_audit_list.html
@@ -0,0 +1,46 @@
+{% extends 'base_assets.html' %}
+{% block title %}Asset Audit List{% endblock %}
+{% load static %}
+{% load paginator from filters %}
+{% load widget_tweaks %}
+
+{% block js %}
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ | Asset ID |
+ Description |
+ Category |
+ Status |
+ Quick Links |
+
+
+
+ {% include 'partials/asset_list_table_body.html' %}
+
+
+
+{% if is_paginated %}
+
+ {% paginator %}
+
+{% endif %}
+{% endblock %}
diff --git a/assets/templates/asset_update.html b/assets/templates/asset_update.html
index 0540e590..7bd9af5f 100644
--- a/assets/templates/asset_update.html
+++ b/assets/templates/asset_update.html
@@ -1,4 +1,4 @@
-{% extends 'base_assets.html' %}
+{% extends request.is_ajax|yesno:'base_ajax.html,base_assets.html' %}
{% load widget_tweaks %}
{% block title %}Asset {{ object.asset_id }}{% endblock %}
diff --git a/assets/urls.py b/assets/urls.py
index c27e5bfa..9cb92c44 100644
--- a/assets/urls.py
+++ b/assets/urls.py
@@ -31,8 +31,8 @@ urlpatterns = [
views.AssetOembed.as_view(),
name='asset_oembed'),
- path('asset/audit/', permission_required_with_403('assets.view_asset')(views.AssetAuditList.as_view()), name='asset_audit_list'),
- path('asset/id//audit/', permission_required_with_403('assets.view_asset')(views.AssetAudit.as_view()), name='asset_audit'),
+ path('asset/audit/', permission_required_with_403('assets.change_asset')(views.AssetAuditList.as_view()), name='asset_audit_list'),
+ path('asset/id//audit/', permission_required_with_403('assets.change_asset')(views.AssetAudit.as_view()), name='asset_audit'),
path('supplier/list', views.SupplierList.as_view(), name='supplier_list'),
path('supplier/', views.SupplierDetail.as_view(), name='supplier_detail'),
diff --git a/assets/views.py b/assets/views.py
index f3f21c2b..e23b9d9d 100644
--- a/assets/views.py
+++ b/assets/views.py
@@ -4,9 +4,11 @@ from django.http import HttpResponse, Http404
from django.views import generic
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
-from django.urls import reverse
+from django.urls import reverse_lazy, reverse
from django.db.models import Q
from django.shortcuts import get_object_or_404
+from django.core import serializers
+from django.contrib import messages
from assets import models, forms
from RIGS import versioning
@@ -110,7 +112,14 @@ class AssetEdit(LoginRequiredMixin, AssetIDUrlMixin, generic.UpdateView):
return context
def get_success_url(self):
- return reverse("asset_detail", kwargs={"pk": self.object.asset_id})
+ if self.request.is_ajax():
+ url = reverse_lazy('closemodal')
+ update_url = str(reverse_lazy('asset_update', kwargs={'pk': self.object.pk}))
+ messages.info(self.request, "modalobject=" + serializers.serialize("json", [self.object]))
+ messages.info(self.request, "modalobject[0]['update_url']='" + update_url + "'")
+ else:
+ url = reverse_lazy('asset_detail', kwargs={'pk': self.object.asset_id, })
+ return url
class AssetCreate(LoginRequiredMixin, generic.CreateView):
@@ -174,24 +183,13 @@ class AssetEmbed(AssetDetail):
template_name = 'asset_embed.html'
-class AssetAuditList(LoginRequiredMixin, generic.ListView):
- model = models.Asset
- template_name = 'asset_list.html'
- paginate_by = 40
- ordering = ['-pk']
+@method_decorator(csrf_exempt, name='dispatch')
+class AssetAuditList(AssetList):
+ template_name = 'asset_audit_list.html'
-class AssetAudit(LoginRequiredMixin, AssetIDUrlMixin, generic.UpdateView):
+class AssetAudit(AssetEdit):
template_name = 'asset_audit.html'
- model = models.Asset
- form_class = forms.AssetForm
-
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context['edit'] = True
- context['connectors'] = models.Connector.objects.all()
-
- return context
def get_success_url(self):
# TODO For some reason this doesn't stick when done in form_valid??
@@ -199,7 +197,7 @@ class AssetAudit(LoginRequiredMixin, AssetIDUrlMixin, generic.UpdateView):
asset.last_audited_by = self.request.user
asset.last_audited_at = datetime.datetime.now()
asset.save()
- return reverse("asset_audit_list")
+ return super().get_success_url()
class SupplierList(generic.ListView):