{% endblock content %}
\ No newline at end of file
diff --git a/pedagogy/tests.py b/pedagogy/tests.py
index 7811e5c2..f32a7ef9 100644
--- a/pedagogy/tests.py
+++ b/pedagogy/tests.py
@@ -673,28 +673,28 @@ class UVSearchTest(TestCase):
response.content,
[
{
- "model": "pedagogy.uv",
- "pk": 1,
- "fields": {
- "code": "PA00",
- "author": 0,
- "credit_type": "OM",
- "semester": "AUTUMN_AND_SPRING",
- "language": "FR",
- "credits": 5,
- "department": "HUMA",
- "title": "Participation dans une association \u00e9tudiante",
- "manager": "Laurent HEYBERGER",
- "objectives": "* Permettre aux \u00e9tudiants de r\u00e9aliser, pendant un semestre, un projet culturel ou associatif et de le valoriser.",
- "program": "* Semestre pr\u00e9c\u00e9dent proposition d'un projet et d'un cahier des charges\n* Evaluation par un jury de six membres\n* Si accord r\u00e9alisation dans le cadre de l'UV\n* Compte-rendu de l'exp\u00e9rience\n* Pr\u00e9sentation",
- "skills": "* G\u00e9rer un projet associatif ou une action \u00e9ducative en autonomie:\n* en produisant un cahier des charges qui -d\u00e9finit clairement le contexte du projet personnel -pose les jalons de ce projet -estime de mani\u00e8re r\u00e9aliste les moyens et objectifs du projet -d\u00e9finit exactement les livrables attendus\n * en \u00e9tant capable de respecter ce cahier des charges ou, le cas \u00e9ch\u00e9ant, de r\u00e9viser le cahier des charges de mani\u00e8re argument\u00e9e.\n* Relater son exp\u00e9rience dans un rapport:\n* qui permettra \u00e0 d'autres \u00e9tudiants de poursuivre les actions engag\u00e9es\n* qui montre la capacit\u00e9 \u00e0 s'auto-\u00e9valuer et \u00e0 adopter une distance critique sur son action.",
- "key_concepts": "* Autonomie\n* Responsabilit\u00e9\n* Cahier des charges\n* Gestion de projet",
- "hours_CM": 0,
- "hours_TD": 0,
- "hours_TP": 0,
- "hours_THE": 121,
- "hours_TE": 4,
- },
+ "id": 1,
+ "absolute_url": "/pedagogy/uv/1",
+ "update_url": "/pedagogy/uv/1/edit",
+ "delete_url": "/pedagogy/uv/1/delete",
+ "code": "PA00",
+ "author": 0,
+ "credit_type": "OM",
+ "semester": "AUTUMN_AND_SPRING",
+ "language": "FR",
+ "credits": 5,
+ "department": "HUMA",
+ "title": "Participation dans une association \u00e9tudiante",
+ "manager": "Laurent HEYBERGER",
+ "objectives": "* Permettre aux \u00e9tudiants de r\u00e9aliser, pendant un semestre, un projet culturel ou associatif et de le valoriser.",
+ "program": "* Semestre pr\u00e9c\u00e9dent proposition d'un projet et d'un cahier des charges\n* Evaluation par un jury de six membres\n* Si accord r\u00e9alisation dans le cadre de l'UV\n* Compte-rendu de l'exp\u00e9rience\n* Pr\u00e9sentation",
+ "skills": "* G\u00e9rer un projet associatif ou une action \u00e9ducative en autonomie:\n* en produisant un cahier des charges qui -d\u00e9finit clairement le contexte du projet personnel -pose les jalons de ce projet -estime de mani\u00e8re r\u00e9aliste les moyens et objectifs du projet -d\u00e9finit exactement les livrables attendus\n * en \u00e9tant capable de respecter ce cahier des charges ou, le cas \u00e9ch\u00e9ant, de r\u00e9viser le cahier des charges de mani\u00e8re argument\u00e9e.\n* Relater son exp\u00e9rience dans un rapport:\n* qui permettra \u00e0 d'autres \u00e9tudiants de poursuivre les actions engag\u00e9es\n* qui montre la capacit\u00e9 \u00e0 s'auto-\u00e9valuer et \u00e0 adopter une distance critique sur son action.",
+ "key_concepts": "* Autonomie\n* Responsabilit\u00e9\n* Cahier des charges\n* Gestion de projet",
+ "hours_CM": 0,
+ "hours_TD": 0,
+ "hours_TP": 0,
+ "hours_THE": 121,
+ "hours_TE": 4,
}
],
)
diff --git a/pedagogy/views.py b/pedagogy/views.py
index 112cda87..55e3fdb1 100644
--- a/pedagogy/views.py
+++ b/pedagogy/views.py
@@ -25,13 +25,11 @@
from django.views.generic import (
CreateView,
DeleteView,
- DetailView,
UpdateView,
ListView,
FormView,
View,
)
-from django.core import serializers
from django.utils import html
from django.http import HttpResponse
from django.core.exceptions import PermissionDenied, ObjectDoesNotExist
@@ -39,6 +37,9 @@ from django.core.urlresolvers import reverse_lazy, reverse
from django.shortcuts import get_object_or_404
from django.conf import settings
+from haystack.query import SearchQuerySet
+from rest_framework.renderers import JSONRenderer
+
from core.views import (
DetailFormView,
CanCreateMixin,
@@ -48,15 +49,13 @@ from core.views import (
)
from core.models import RealGroup, Notification
-from haystack.query import SearchQuerySet
-
from pedagogy.forms import (
UVForm,
UVCommentForm,
UVCommentReportForm,
UVCommentModerationForm,
)
-from pedagogy.models import UV, UVComment, UVCommentReport
+from pedagogy.models import UV, UVComment, UVCommentReport, UVSerializer
# Some mixins
@@ -166,7 +165,7 @@ class UVListView(CanViewMixin, CanCreateUVFunctionMixin, ListView):
# Return serialized response
return HttpResponse(
- serializers.serialize("json", self.get_queryset()),
+ JSONRenderer().render(UVSerializer(self.get_queryset(), many=True).data),
content_type="application/json",
)