done "GM-370"

This commit is contained in:
Anatoly 2020-02-10 15:14:01 +03:00
parent 18be48f919
commit 6987daeea4

View File

@ -1269,7 +1269,41 @@ class EstablishmentCompanyRUDView(EstablishmentMixinViews,
class EstablishmentNoteListCreateView(EstablishmentMixinViews, class EstablishmentNoteListCreateView(EstablishmentMixinViews,
generics.ListCreateAPIView): generics.ListCreateAPIView):
"""Retrieve|Update|Destroy establishment note view.""" """
## List/Create view
### *GET*
#### Description
Return paginated list of establishment notes by `establishment slug`
##### Response
E.g.:
```
{
"count": 58,
"next": 2,
"previous": null,
"results": [
{
"id": 1,
...
}
]
}
```
### *POST*
#### Description
Create new note for establishment by `establishment slug`
##### Request
Required
* text (`str`) - text of note
##### Response
E.g.:
```
{
"id": 1,
...
}
```
"""
lookup_field = 'slug' lookup_field = 'slug'
serializer_class = serializers.EstablishmentNoteListCreateSerializer serializer_class = serializers.EstablishmentNoteListCreateSerializer
@ -1291,13 +1325,55 @@ class EstablishmentNoteListCreateView(EstablishmentMixinViews,
return establishment return establishment
def get_queryset(self): def get_queryset(self):
"""Overridden get_queryset method.""" """An overridden get_queryset method."""
return self.get_object().notes.all() return self.get_object().notes.all()
class EstablishmentNoteRUDView(EstablishmentMixinViews, class EstablishmentNoteRUDView(EstablishmentMixinViews,
generics.RetrieveUpdateDestroyAPIView): generics.RetrieveUpdateDestroyAPIView):
"""Create|Retrieve|Update|Destroy establishment note view.""" """
## Retrieve/Update/Destroy view
### *GET*
#### Description
Return paginated list of establishment notes by `establishment slug`
##### Response
E.g.:
```
{
"count": 58,
"next": 2,
"previous": null,
"results": [
{
"id": 1,
...
}
]
}
```
### *PUT*/*PATCH*
#### Description
Completely/Partially update a note object by an identifier.
##### Request
Available
* text (`str`) - text of note
##### Response
E.g.:
```
{
"id": 1,
...
}
```
### *DELETE*
#### Description
Delete establishment note by `establishment slug`
##### Response
E.g.:
```
No content
```
"""
lookup_field = 'slug' lookup_field = 'slug'
serializer_class = serializers.EstablishmentNoteBaseSerializer serializer_class = serializers.EstablishmentNoteBaseSerializer
@ -1314,7 +1390,7 @@ class EstablishmentNoteRUDView(EstablishmentMixinViews,
establishment = get_object_or_404(filtered_establishment_qs, slug=self.kwargs.get('slug')) establishment = get_object_or_404(filtered_establishment_qs, slug=self.kwargs.get('slug'))
note = get_object_or_404(establishment.notes.all(), pk=self.kwargs['note_pk']) note = get_object_or_404(establishment.notes.all(), pk=self.kwargs['note_pk'])
# May raise a permission denied # May a raise a permission denied
self.check_object_permissions(self.request, note) self.check_object_permissions(self.request, note)
return note return note