Repository URL to install this package:
|
Version:
0.1.4 ▾
|
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import filters, viewsets
from crm import filters as crm_filters
from crm.filters.contacts import (AddressContactFilter, BankingContactFilter,
EmailContactFilter, TelephoneContactFilter,
WebsiteContactFilter)
from crm.models.contacts import (AddressContact, BankingContact, ContactCountry,
ContactLocation, ContactTelephoneType,
EmailContact, TelephoneContact, WebsiteContact)
from crm.serializers.contacts import (AddressContactSerializer,
BankingContactSerializer,
ContactCountrySerializer,
ContactLocationSerializer,
ContactTelephoneTypeSerializer,
EmailContactSerializer,
TelephoneContactSerializer,
WebsiteContactSerializer)
from wbutils.views import AppModelResponseHeaderMixin
class ContactLocationViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
filter_backends = (filters.SearchFilter,)
search_fields = ('location',)
queryset = ContactLocation.objects.all()
serializer_class = ContactLocationSerializer
class ContactCountryViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
filter_backends = (filters.SearchFilter,)
search_fields = ('country_code', 'country_name')
queryset = ContactCountry.objects.all()
serializer_class = ContactCountrySerializer
class ContactTelephoneTypeViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:contacttelephonetype'
filter_backends = (filters.SearchFilter,)
search_fields = ('telephone_type',)
queryset = ContactTelephoneType.objects.all()
serializer_class = ContactTelephoneTypeSerializer
class EmailContactViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:emailcontact'
filter_backends = (DjangoFilterBackend,
filters.SearchFilter, filters.OrderingFilter)
filter_class = EmailContactFilter
search_fields = ('address',)
ordering_fields = ('primary',)
queryset = EmailContact.objects.all()
serializer_class = EmailContactSerializer
class AddressContactViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:addresscontact'
filter_backends = (DjangoFilterBackend,
filters.SearchFilter, filters.OrderingFilter)
filter_class = AddressContactFilter
ordering_fields = ('primary',)
queryset = AddressContact.objects.all()
serializer_class = AddressContactSerializer
class TelephoneContactViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:telephonecontact'
filter_backends = (DjangoFilterBackend,
filters.SearchFilter, filters.OrderingFilter)
filter_class = TelephoneContactFilter
ordering_fields = ('primary',)
queryset = TelephoneContact.objects.all()
serializer_class = TelephoneContactSerializer
class WebsiteContactViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:websitecontact'
filter_backends = (DjangoFilterBackend,
filters.SearchFilter, filters.OrderingFilter)
filter_class = WebsiteContactFilter
ordering_fields = ('primary',)
queryset = WebsiteContact.objects.all()
serializer_class = WebsiteContactSerializer
class BankingContactViewSet(AppModelResponseHeaderMixin, viewsets.ModelViewSet):
IDENTIFIER = 'crm:bankingcontact'
filter_backends = (DjangoFilterBackend,
filters.SearchFilter, filters.OrderingFilter)
filter_class = BankingContactFilter
ordering_fields = ('primary',)
queryset = BankingContact.objects.all()
serializer_class = BankingContactSerializer