Add competence listing functionality
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
[
|
||||
{% for comp in duck.duckcompetence_set.all %}
|
||||
{% for comp in comp_list %}
|
||||
{
|
||||
"name": "{{ comp.comp.name }}",
|
||||
"level": {{ comp.level }}
|
||||
|
@@ -25,7 +25,10 @@ class ApiTest(TestCase):
|
||||
user = User()
|
||||
user.save()
|
||||
|
||||
self.duck = Duck(pk = 1, species = species, location = loc, donated_by = user)
|
||||
self.duck = Duck(
|
||||
species = species,
|
||||
location = loc,
|
||||
donated_by = user)
|
||||
self.duck.save()
|
||||
|
||||
comp = Competence(name = 'test', added_by = user)
|
||||
@@ -38,4 +41,4 @@ class ApiTest(TestCase):
|
||||
response = self.client.get('/api/duck/1/competence.json')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertEqual(len(response.context['duck'].duckcompetence_set.all()), 1)
|
||||
self.assertEqual(len(response.context['comp_list']), 1)
|
||||
|
@@ -7,5 +7,5 @@ from . import views
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^reverse.js$', cache_page(3600)(urls_js), name = 'js_reverse'),
|
||||
url(r'^duck/(?P<duck_id>\d+)/competence.json$', views.duck_comp_list)
|
||||
url(r'^duck/(?P<duck_id>\d+)/competence.json$', views.DuckCompListView.as_view(), name = 'complist'),
|
||||
)
|
||||
|
14
api/views.py
14
api/views.py
@@ -1,12 +1,14 @@
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.views import generic
|
||||
|
||||
from booking.models import Duck
|
||||
|
||||
def duck_comp_list(request, duck_id):
|
||||
duck = get_object_or_404(Duck, pk = duck_id)
|
||||
class DuckCompListView(generic.ListView):
|
||||
template_name = 'api/duck_comp_list.json'
|
||||
context_object_name = 'comp_list'
|
||||
|
||||
context = {
|
||||
'duck': duck
|
||||
}
|
||||
def get_queryset(self):
|
||||
duck_id = self.kwargs['duck_id']
|
||||
duck = get_object_or_404(Duck, pk = duck_id)
|
||||
|
||||
return render(request, 'api/duck_comp_list.json', context)
|
||||
return duck.duckcompetence_set.all()
|
||||
|
Reference in New Issue
Block a user