Browse Source

Allow filtering pins over submitter.username

tags/v1.0.0
Krzysztof Klimonda 11 years ago
parent
commit
856d2d1e87
2 changed files with 13 additions and 1 deletions
  1. +7
    -0
      pinry/core/api.py
  2. +6
    -1
      pinry/core/tests/api.py

+ 7
- 0
pinry/core/api.py View File

@@ -1,5 +1,6 @@
from tastypie import fields
from tastypie.authorization import DjangoAuthorization
from tastypie.constants import ALL, ALL_WITH_RELATIONS
from tastypie.exceptions import Unauthorized
from tastypie.resources import ModelResource
from django_images.models import Thumbnail
@@ -47,6 +48,9 @@ class UserResource(ModelResource):

class Meta:
list_allowed_methods = ['get']
filtering = {
'username': ALL
}
queryset = User.objects.all()
resource_name = 'user'
fields = ['username']
@@ -114,6 +118,9 @@ class PinResource(ModelResource):
class Meta:
fields = ['id', 'url', 'origin', 'description']
ordering = ['id']
filtering = {
'submitter': ALL_WITH_RELATIONS
}
queryset = Pin.objects.all()
resource_name = 'pin'
include_resource_uri = False


+ 6
- 1
pinry/core/tests/api.py View File

@@ -200,12 +200,17 @@ class PinResourceTest(ResourceTestCase):
self.assertValidJSONResponse(response)
self.assertEqual(self.deserialize(response)['objects'][0]['id'], pin.id)

def test_get_list_json_filtered(self):
def test_get_list_json_filtered_by_tags(self):
tag = self.pin_1.tags.all()[0]
response = self.api_client.get('/api/v1/pin/', format='json', data={'tag': tag})
self.assertValidJSONResponse(response)
self.assertEqual(self.deserialize(response)['objects'][0]['id'], self.pin_1.id)

def test_get_list_json_filtered_by_submitter(self):
response = self.api_client.get('/api/v1/pin/', format='json', data={'submitter__username': self.user.username})
self.assertValidJSONResponse(response)
self.assertEqual(self.deserialize(response)['objects'][0]['id'], self.pin_1.id)

def test_get_list_json(self):
user = User.objects.get(pk=1)
image = Image.objects.get(pk=1)


Loading…
Cancel
Save