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:
|
||||
return queryset.by_employee_id(value, content_type='establishmentemployee')
|
||||
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."""
|
||||
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):
|
||||
"""AwardType model."""
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ from establishment.models import Employee
|
|||
from establishment.serializers.back import EmployeeBackSerializers
|
||||
from main import serializers
|
||||
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.serializers.back import PanelSerializer
|
||||
from main.views import SiteSettingsView, SiteListView
|
||||
|
|
@ -31,19 +31,19 @@ class AwardLstView(generics.ListCreateAPIView):
|
|||
* vintage_year (`str`) - Filter by a vintage year
|
||||
##### Response
|
||||
E.g.:
|
||||
```
|
||||
```
|
||||
{
|
||||
"count": 58,
|
||||
"next": 2,
|
||||
"previous": null,
|
||||
"results": [
|
||||
{
|
||||
"count": 58,
|
||||
"next": 2,
|
||||
"previous": null,
|
||||
"results": [
|
||||
{
|
||||
"id": 1,
|
||||
...
|
||||
}
|
||||
]
|
||||
"id": 1,
|
||||
...
|
||||
}
|
||||
```
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### *POST*
|
||||
#### Description
|
||||
|
|
@ -168,20 +168,32 @@ class AwardRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|||
|
||||
|
||||
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
|
||||
serializer_class = serializers.AwardTypeBaseSerializer
|
||||
permission_classes = get_permission_classes()
|
||||
filter_backends = (DjangoFilterBackend,)
|
||||
ordering_fields = '__all__'
|
||||
lookup_field = 'id'
|
||||
filterset_fields = (
|
||||
'id',
|
||||
'name',
|
||||
)
|
||||
filter_class = AwardTypeFilterSet
|
||||
|
||||
def get_queryset(self):
|
||||
"""Overridden get_queryset method."""
|
||||
"""An overridden get_queryset method."""
|
||||
if hasattr(self, 'request') and hasattr(self.request, 'country_code'):
|
||||
return AwardType.objects.by_country_code(self.request.country_code)
|
||||
return AwardType.objects.none()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user