From cd73b6cafe5d5b1f2e53ddad0b7a4c18d2b500ad Mon Sep 17 00:00:00 2001 From: Matthew Smith Date: Wed, 4 Dec 2019 23:02:28 +0000 Subject: [PATCH] Fixed #370 , asset categories that are default selected are now shown --- assets/templates/asset_list.html | 5 ++--- assets/views.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/assets/templates/asset_list.html b/assets/templates/asset_list.html index 601a2b4b..4c86d58d 100644 --- a/assets/templates/asset_list.html +++ b/assets/templates/asset_list.html @@ -10,7 +10,6 @@
- {% csrf_token %}
{% render_field form.query|add_class:'form-control' placeholder='Search by Asset ID/Description' style="width: 250px"%} @@ -20,11 +19,11 @@
- {% render_field form.category|attr:'multiple'|add_class:'form-control selectpicker' data-none-selected-text="Categories" data-header="Categories"%} + {% render_field form.category|attr:'multiple'|add_class:'form-control selectpicker' data-none-selected-text="Categories" data-header="Categories" data-actions-box="true" %}
- {% render_field form.status|attr:'multiple'|add_class:'form-control selectpicker' data-none-selected-text="Statuses" data-header="Statuses"%} + {% render_field form.status|attr:'multiple'|add_class:'form-control selectpicker' data-none-selected-text="Statuses" data-header="Statuses" data-actions-box="true" %}
diff --git a/assets/views.py b/assets/views.py index 0b4269c0..06449cdb 100644 --- a/assets/views.py +++ b/assets/views.py @@ -1,11 +1,14 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.http import JsonResponse 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.db.models import Q from assets import models, forms +@method_decorator(csrf_exempt, name='dispatch') class AssetList(LoginRequiredMixin, generic.ListView): model = models.Asset template_name = 'asset_list.html' @@ -13,13 +16,17 @@ class AssetList(LoginRequiredMixin, generic.ListView): ordering = ['-pk'] hide_hidden_status = True + def get_initial(self): + initial = {'status': models.AssetStatus.objects.filter(should_show=True)} + return initial + def get_queryset(self): if self.request.method == 'POST': self.form = forms.AssetSearchForm(data=self.request.POST) - elif self.request.method == 'GET': + elif self.request.method == 'GET' and len(self.request.GET) > 0: self.form = forms.AssetSearchForm(data=self.request.GET) else: - self.form = forms.AssetSearchForm(data={}) + self.form = forms.AssetSearchForm(data=self.get_initial()) form = self.form if not form.is_valid(): return self.model.objects.none()