Merge branch 'develop' into migrate/site_settings

This commit is contained in:
Виктор Гладких 2019-11-22 10:38:50 +03:00
commit f52cc8eccc
7 changed files with 37 additions and 28 deletions

View File

@ -6,4 +6,15 @@ from partner.models import Partner
class BackPartnerSerializer(serializers.ModelSerializer): class BackPartnerSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Partner model = Partner
fields = '__all__' fields = (
'id',
'old_id',
'name',
'url',
'image',
'establishment',
'type',
'starting_date',
'expiry_date',
'price_per_month',
)

View File

@ -65,30 +65,26 @@ class PartnerBackTestCase(BaseTestCase):
response = self.client.get('/api/back/partner/') response = self.client.get('/api/back/partner/')
self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.status_code, status.HTTP_200_OK)
# def test_partner_post(self): def test_partner_post(self):
# test_inquiry = { test_partner = {
# 'review': self.test_review.pk, 'url': 'http://google.com',
# 'author': self.user.pk, }
# 'comment': 'New test comment', response = self.client.post('/api/back/partner/', data=test_partner, format='json')
# } self.assertEqual(response.status_code, status.HTTP_201_CREATED)
# response = self.client.post('/api/back/partner/', data=test_inquiry)
# self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_partner_detail(self): def test_partner_detail(self):
response = self.client.get(f'/api/back/partner/{self.partner.id}/') response = self.client.get(f'/api/back/partner/{self.partner.id}/')
self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.status_code, status.HTTP_200_OK)
# def test_partner_detail_put(self): def test_partner_detail_put(self):
# data = { data = {
# 'id': self.test_inquiry.id, 'url': 'http://yandex.com',
# 'review': self.test_review.pk, 'name': 'Yandex',
# 'author': self.user.pk, }
# 'comment': 'New test comment 2',
# } response = self.client.put(f'/api/back/partner/{self.partner.id}/', data=data)
# self.assertEqual(response.status_code, status.HTTP_200_OK)
# response = self.client.put(f'/api/back/partner/{self.partner.id}/', data=data)
# self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_partner_delete(self): def test_partner_delete(self):
response = self.client.get(f'/api/back/partner/{self.partner.id}/') response = self.client.delete(f'/api/back/partner/{self.partner.id}/')
self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)

View File

@ -10,9 +10,9 @@ class PartnerLstView(generics.ListCreateAPIView):
"""Partner list create view.""" """Partner list create view."""
queryset = Partner.objects.all() queryset = Partner.objects.all()
serializer_class = serializers.BackPartnerSerializer serializer_class = serializers.BackPartnerSerializer
pagination_class = None
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager] permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
filter_backends = (DjangoFilterBackend, filters.OrderingFilter) filter_backends = (DjangoFilterBackend,)
ordering_fields = '__all__'
filterset_fields = ( filterset_fields = (
'establishment', 'establishment',
'type', 'type',

View File

@ -46,7 +46,7 @@ class EstablishmentDocument(Document):
'id': fields.IntegerField(attr='id'), 'id': fields.IntegerField(attr='id'),
'label': fields.ObjectField(attr='label_indexing', 'label': fields.ObjectField(attr='label_indexing',
properties=OBJECT_FIELD_PROPERTIES), properties=OBJECT_FIELD_PROPERTIES),
'index_name': fields.KeywordField(attr='value'), 'value': fields.KeywordField(),
}, },
multi=True) multi=True)
visible_tags = fields.ObjectField( visible_tags = fields.ObjectField(
@ -54,6 +54,7 @@ class EstablishmentDocument(Document):
'id': fields.IntegerField(attr='id'), 'id': fields.IntegerField(attr='id'),
'label': fields.ObjectField(attr='label_indexing', 'label': fields.ObjectField(attr='label_indexing',
properties=OBJECT_FIELD_PROPERTIES), properties=OBJECT_FIELD_PROPERTIES),
'value': fields.KeywordField(),
}, },
multi=True) multi=True)
products = fields.ObjectField( products = fields.ObjectField(

View File

@ -124,7 +124,7 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet):
'enabled': True, 'enabled': True,
}, },
'tag': { 'tag': {
'field': 'tags.index_name', 'field': 'tags.value',
'facet': TermsFacet, 'facet': TermsFacet,
'enabled': True, 'enabled': True,
}, },

View File

@ -3,8 +3,8 @@ from base64 import b64encode
from urllib import parse as urlparse from urllib import parse as urlparse
from django.conf import settings from django.conf import settings
from rest_framework.pagination import CursorPagination from rest_framework.pagination import CursorPagination, PageNumberPagination
from django_elasticsearch_dsl_drf.pagination import PageNumberPagination from django_elasticsearch_dsl_drf.pagination import PageNumberPagination as ESPagination
class ProjectPageNumberPagination(PageNumberPagination): class ProjectPageNumberPagination(PageNumberPagination):
@ -49,7 +49,7 @@ class ProjectMobilePagination(ProjectPageNumberPagination):
return self.page.previous_page_number() return self.page.previous_page_number()
class ESDocumentPagination(PageNumberPagination): class ESDocumentPagination(ESPagination):
"""Pagination class for ES results. (includes facets)""" """Pagination class for ES results. (includes facets)"""
page_size_query_param = 'page_size' page_size_query_param = 'page_size'

View File

@ -16,4 +16,5 @@ urlpatterns = [
path('re_blocks/', include(('advertisement.urls.back', 'advertisement'), path('re_blocks/', include(('advertisement.urls.back', 'advertisement'),
namespace='advertisement')), namespace='advertisement')),
path('main/', include('main.urls.back')), path('main/', include('main.urls.back')),
path('partner/', include('partner.urls.back')),
] ]