mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Merge pull request #1210 from modoboa/feature/api_account_list_filter
Added search filter to account list service.
This commit is contained in:
@@ -6,7 +6,7 @@ from django import http
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from rest_framework import status, viewsets
|
||||
from rest_framework import filters, status, viewsets
|
||||
from rest_framework.decorators import detail_route, list_route
|
||||
from rest_framework.exceptions import ParseError
|
||||
from rest_framework.permissions import IsAuthenticated, DjangoModelPermissions
|
||||
@@ -62,8 +62,10 @@ class DomainAliasViewSet(viewsets.ModelViewSet):
|
||||
class AccountViewSet(viewsets.ModelViewSet):
|
||||
"""ViewSet for User/Mailbox."""
|
||||
|
||||
permission_classes = [IsAuthenticated, DjangoModelPermissions, ]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
http_method_names = ["get", "post", "put", "delete"]
|
||||
permission_classes = [IsAuthenticated, DjangoModelPermissions, ]
|
||||
search_fields = ("^first_name", "^last_name", "^email")
|
||||
|
||||
def get_serializer_class(self):
|
||||
"""Return a serializer."""
|
||||
|
||||
@@ -231,6 +231,11 @@ class AccountAPITestCase(ModoAPITestCase):
|
||||
response = response.json()
|
||||
self.assertEqual(len(response), 0)
|
||||
|
||||
response = self.client.get("{}?search=user@test.com".format(url))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
response = response.json()
|
||||
self.assertEqual(len(response), 1)
|
||||
|
||||
def test_create_account(self):
|
||||
"""Try to create a new account."""
|
||||
url = reverse("api:account-list")
|
||||
|
||||
Reference in New Issue
Block a user