diff --git a/assets/templates/asset_list.html b/assets/templates/asset_list.html index 4f40d576..a8a0da2a 100644 --- a/assets/templates/asset_list.html +++ b/assets/templates/asset_list.html @@ -4,39 +4,67 @@ {% block content %} - + -
- {% csrf_token %} -
- - - -
-
+
+ {% csrf_token %} +
+ + + +
+
- - - - - - - - - - - - {% include 'asset_list_table_body.html' %} - -
Asset IDDescriptionCategoryStatusQuick Links
+
+ {% csrf_token %} +
+ + +
+
+ + +
+ + +
- {% if is_paginated %} -
- {% paginator %} -
- {% endif %} + + + + + + + + + + + + {% include 'partials/asset_list_table_body.html' %} + +
Asset IDDescriptionCategoryStatusQuick Links
+ +{% if is_paginated %} +
+ {% paginator %} +
+{% endif %} {% endblock %} diff --git a/assets/templates/asset_update.html b/assets/templates/asset_update.html index 6e6c4fb1..6c3de1e0 100644 --- a/assets/templates/asset_update.html +++ b/assets/templates/asset_update.html @@ -9,13 +9,13 @@ diff --git a/assets/templates/asset_list_table_body.html b/assets/templates/partials/asset_list_table_body.html similarity index 100% rename from assets/templates/asset_list_table_body.html rename to assets/templates/partials/asset_list_table_body.html diff --git a/assets/views.py b/assets/views.py index 59e0ed67..62402a95 100644 --- a/assets/views.py +++ b/assets/views.py @@ -20,18 +20,27 @@ class AssetList(LoginRequiredMixin, generic.ListView): ordering = ['-pk'] def get_queryset(self): - q = self.request.GET.get('q', "") - if len(q) >= 3: - return self.model.objects.filter(Q(asset_id__exact=q) | Q(description__icontains=q) | Q(comments__icontains=q)) - elif q != "": - return self.model.objects.filter(Q(asset_id__exact=q)) + #TODO Feedback to user when search fails + query = self.request.GET.get('query', "") + if len(query) >= 3: + return self.model.objects.filter(Q(asset_id__exact=query) | Q(description__icontains=query)) + elif query != "": + return self.model.objects.filter(Q(asset_id__exact=query)) else: - return self.model.objects.all() + cat = self.request.GET.get('cat', "") + status = self.request.GET.get('status', "") + if cat != "None": + return self.model.objects.filter(category__name__exact=cat) + elif status != "None": + return self.model.objects.filter(status__name__exact=status) + else: + return self.model.objects.all() def get_context_data(self, **kwargs): - q = self.request.GET.get('q', "") context = super(AssetList, self).get_context_data(**kwargs) - context["searchName"] = q + context["search_name"] = self.request.GET.get('query', "") + context["categories"] = models.AssetCategory.objects.all() + context["statuses"] = models.AssetStatus.objects.all() return context; class AssetDetail(LoginRequiredMixin, generic.DetailView):