added a documentation for awards types
This commit is contained in:
parent
26b7ef8ad6
commit
c866721c8d
|
|
@ -38,3 +38,23 @@ class AwardFilter(filters.FilterSet):
|
||||||
if value not in EMPTY_VALUES:
|
if value not in EMPTY_VALUES:
|
||||||
return queryset.by_employee_id(value, content_type='establishmentemployee')
|
return queryset.by_employee_id(value, content_type='establishmentemployee')
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
class AwardTypeFilterSet(filters.FilterSet):
|
||||||
|
"""Award type FilterSet."""
|
||||||
|
|
||||||
|
id = filters.NumberFilter(help_text='Filter by AwardType identifier.')
|
||||||
|
name = filters.CharFilter(method='by_name', help_text='Filter by AwardType name.')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
"""Meta class."""
|
||||||
|
model = models.AwardType
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
]
|
||||||
|
|
||||||
|
def by_name(self, queryset, name, value):
|
||||||
|
if value not in EMPTY_VALUES:
|
||||||
|
return queryset.by_name(value)
|
||||||
|
return queryset
|
||||||
|
|
@ -223,6 +223,10 @@ class AwardTypeQuerySet(models.QuerySet):
|
||||||
"""Filter QuerySet by country code."""
|
"""Filter QuerySet by country code."""
|
||||||
return self.filter(country__code=country_code)
|
return self.filter(country__code=country_code)
|
||||||
|
|
||||||
|
def by_name(self, name: str):
|
||||||
|
"""Filter by name field."""
|
||||||
|
return self.filter(name__icontains=name)
|
||||||
|
|
||||||
|
|
||||||
class AwardType(models.Model):
|
class AwardType(models.Model):
|
||||||
"""AwardType model."""
|
"""AwardType model."""
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ from establishment.models import Employee
|
||||||
from establishment.serializers.back import EmployeeBackSerializers
|
from establishment.serializers.back import EmployeeBackSerializers
|
||||||
from main import serializers
|
from main import serializers
|
||||||
from main import tasks
|
from main import tasks
|
||||||
from main.filters import AwardFilter
|
from main.filters import AwardFilter, AwardTypeFilterSet
|
||||||
from main.models import Award, Footer, PageType, Panel, SiteFeature, Feature, AwardType
|
from main.models import Award, Footer, PageType, Panel, SiteFeature, Feature, AwardType
|
||||||
from main.serializers.back import PanelSerializer
|
from main.serializers.back import PanelSerializer
|
||||||
from main.views import SiteSettingsView, SiteListView
|
from main.views import SiteSettingsView, SiteListView
|
||||||
|
|
@ -168,20 +168,32 @@ class AwardRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
|
||||||
|
|
||||||
class AwardTypesListView(generics.ListAPIView):
|
class AwardTypesListView(generics.ListAPIView):
|
||||||
"""AwardType List view."""
|
"""
|
||||||
|
## List of Award types view.
|
||||||
|
### *GET*
|
||||||
|
#### Description
|
||||||
|
Return non paginated list of Award types filtered by request country code.
|
||||||
|
Available filters:
|
||||||
|
* id (`int`) - award type identifier
|
||||||
|
* name (`str`) - award type name
|
||||||
|
##### Response
|
||||||
|
```
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
"""
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
serializer_class = serializers.AwardTypeBaseSerializer
|
serializer_class = serializers.AwardTypeBaseSerializer
|
||||||
permission_classes = get_permission_classes()
|
permission_classes = get_permission_classes()
|
||||||
filter_backends = (DjangoFilterBackend,)
|
|
||||||
ordering_fields = '__all__'
|
|
||||||
lookup_field = 'id'
|
lookup_field = 'id'
|
||||||
filterset_fields = (
|
filter_class = AwardTypeFilterSet
|
||||||
'id',
|
|
||||||
'name',
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
"""Overridden get_queryset method."""
|
"""An overridden get_queryset method."""
|
||||||
if hasattr(self, 'request') and hasattr(self.request, 'country_code'):
|
if hasattr(self, 'request') and hasattr(self.request, 'country_code'):
|
||||||
return AwardType.objects.by_country_code(self.request.country_code)
|
return AwardType.objects.by_country_code(self.request.country_code)
|
||||||
return AwardType.objects.none()
|
return AwardType.objects.none()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user