5 Commits

Author SHA1 Message Date
2c58bc955f Fixed bad template referencing in filters.py. 2023-09-03 08:25:12 +03:00
75e9a60b87 Added the missing templates. 2023-09-03 08:04:58 +03:00
0f26c16b15 Fixed some import bugs 2023-09-01 21:11:54 +03:00
c1fd01a6d8 Typos make the world go round 2023-08-30 03:57:38 +03:00
c234f7b1ce Reorganized the repository files for packaging purposes 2023-08-30 03:35:56 +03:00
8 changed files with 55 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
from libraries.utils import sorted_params_string from starfields_drf_generics.utils import sorted_params_string
# TODO classes below that involve create, update, destroy don't delete the caches properly, they need a regex cache delete # TODO classes below that involve create, update, destroy don't delete the caches properly, they need a regex cache delete
# TODO put more reasonable asserts and feedback # TODO put more reasonable asserts and feedback

View File

@@ -89,7 +89,7 @@ class CategoryFilter(BaseFilterBackend):
""" """
This filter assigns the view.category object for later use, in particular for filters that depend on this one. This filter assigns the view.category object for later use, in particular for filters that depend on this one.
""" """
template = './filters/categories.html' template = 'starfields_drf_generics/filters/categories.html'
category_field = 'category' category_field = 'category'
def get_category_class(self, view, request): def get_category_class(self, view, request):
@@ -203,7 +203,7 @@ class FacetFilter(BaseFilterBackend):
""" """
This filter requires CategoryFilter to be ran before it. It assigns the view.facets which includes all the facets applicable to the current category. This filter requires CategoryFilter to be ran before it. It assigns the view.facets which includes all the facets applicable to the current category.
""" """
template = './filters/facets.html' template = 'starfields_drf_generics/filters/facets.html'
def get_facet_class(self, view, request): def get_facet_class(self, view, request):
return getattr(view, 'facet_class', None) return getattr(view, 'facet_class', None)
@@ -423,7 +423,7 @@ class TrigramSearchFilter(BaseFilterBackend):
# TODO misunderstood the urlconf stuff of the RUD methods, this is probably unnecessary # TODO misunderstood the urlconf stuff of the RUD methods, this is probably unnecessary
class SlugSearchFilter(BaseFilterBackend): class SlugSearchFilter(BaseFilterBackend):
# The URL query parameter used for the search. # The URL query parameter used for the search.
template = './filters/slug.html' template = 'starfields_drf_generics/filters/slug.html'
slug_title = _('Slug Search') slug_title = _('Slug Search')
slug_description = _("The instance's slug.") slug_description = _("The instance's slug.")
slug_field = 'slug' slug_field = 'slug'

View File

@@ -10,7 +10,7 @@ from rest_framework import views
from rest_framework.generics import GenericAPIView from rest_framework.generics import GenericAPIView
from rest_framework.settings import api_settings from rest_framework.settings import api_settings
from libraries import mixins from starfields_drf_generics import mixins
# Concrete view classes that provide method handlers # Concrete view classes that provide method handlers

View File

@@ -8,7 +8,7 @@ from rest_framework import status
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.settings import api_settings from rest_framework.settings import api_settings
from rest_framework import mixins from rest_framework import mixins
from libraries.cache_mixins import CacheGetMixin, CacheSetMixin, CacheDeleteMixin from starfields_drf_generics.cache_mixins import CacheGetMixin, CacheSetMixin, CacheDeleteMixin
# Mixin classes to be included in the generic classes # Mixin classes to be included in the generic classes

View File

@@ -0,0 +1,14 @@
{% load rest_framework %}
{% load i18n %}
<h2>{% trans "Categories" %}</h2>
<div class="list-group">
{% for key, label in options %}
{% if key == current %}
<a href="{% add_query_param request param key %}" class="list-group-item active">
<span class="glyphicon glyphicon-ok" style="float: right" aria-hidden="true"></span> {{ label }}
</a>
{% else %}
<a href="{% add_query_param request param key %}" class="list-group-item">{{ label }}</a>
{% endif %}
{% endfor %}
</div>

View File

@@ -0,0 +1,23 @@
{% load rest_framework %}
{% load i18n %}
<h2>{% trans "Facets" %}</h2>
{% for facet_tag_slug_key, facet_tag_slug_values in options.items %}
{% for facet_slug, facet_name in facet_slug_names.items %}
{% if facet_slug == facet_tag_slug_key %}
<h3>{{ facet_name }}</h3>
{% endif %}
{% endfor %}
<div class="list-group">
{% for tag_slug in facet_tag_slug_values %}
{% if tag_slug.0 in current %}
{# TODO this does not remove parameters #}
<a href="{% add_query_param request facet_tag_slug_key tag_slug.0 %}" class="list-group-item active">
<span class="glyphicon glyphicon-ok" style="float: right" aria-hidden="true"></span> {{ tag_slug.1 }}
</a>
{% else %}
<a href="{% add_query_param request facet_tag_slug_key tag_slug.0 %}" class="list-group-item">{{ tag_slug.1 }}</a>
{% endif %}
{% endfor %}
</div>
{% endfor %}

View File

@@ -0,0 +1,12 @@
{% load i18n %}
<h2>{% trans "Slug" %}</h2>
<form class="form-inline">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" style="width: 350px" name="{{ param }}" value="{{ term }}">
<span class="input-group-btn">
<button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-search" aria-hidden="true"></span> {% trans "Slug" %}</button>
</span>
</div>
</div>
</form>