Commit 01cad7c09527f897fb3fd5c5193db817e3041de7

Authored by fbormann
1 parent bb6c057b

added api calls and links to Subject, professors and students #267

core/urls.py
... ... @@ -2,14 +2,18 @@ from django.conf.urls import url, include
2 2 from django.contrib.auth import views as auth_views
3 3 from django.contrib.auth.views import password_reset, password_reset_done,password_reset_confirm, password_reset_complete
4 4 from . import views
  5 +
  6 +#API IMPORTS
5 7 from rest_framework import routers
6 8  
7 9 from users.views import UserViewSet
  10 +from courses.views import CourseViewSet
8 11  
9 12 #API CODE
10 13 router = routers.DefaultRouter()
11 14 router.register(r'logs', views.LogViewSet)
12 15 router.register(r'usersapi', UserViewSet)
  16 +router.register(r'coursesapi', CourseViewSet)
13 17  
14 18 urlpatterns = [
15 19 url(r'^$', views.login, name='home'),
... ...
courses/serializers.py
... ... @@ -4,12 +4,12 @@ from users.serializers import UserSerializer
4 4  
5 5 class CourseSerializer(serializers.ModelSerializer):
6 6 #The set comes from the ManyToMany Relationship in django
7   - students = UserSerializer(source='courses_student')
8   - professors = UserSerializer(source='courses_professors')
  7 + #students = UserSerializer(source='students')
  8 + #professors = UserSerializer(source='professors')
9 9 class Meta:
10 10 model = Course
11   - fields = ('name', 'slug', 'objectivies', 'content, max_students', 'create_date',
12   - 'init_register_date', 'end_register_date', 'init_date', 'end_date', 'public')
  11 + fields = ('name', 'slug', 'objectivies', 'content', 'max_students', 'create_date',
  12 + 'init_register_date', 'end_register_date', 'init_date', 'end_date', 'public', 'students', 'professors')
13 13  
14 14 class SubjectSerializer(serializers.ModelSerializer):
15 15 class Meta:
... ...
courses/views.py
... ... @@ -26,6 +26,10 @@ from django.urls import reverse
26 26  
27 27 from datetime import date, datetime
28 28  
  29 +#API IMPORTS
  30 +from rest_framework import viewsets, permissions
  31 +from .serializers import *
  32 +
29 33 class IndexView(LoginRequiredMixin, NotificationMixin, generic.ListView):
30 34  
31 35 login_url = reverse_lazy("core:home")
... ... @@ -1009,3 +1013,7 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView):
1009 1013  
1010 1014  
1011 1015 #API VIEWS
  1016 +class CourseViewSet(viewsets.ModelViewSet):
  1017 + queryset = Course.objects.all()
  1018 + serializer_class = CourseSerializer
  1019 + permissions_clas = (permissions.IsAuthenticatedOrReadOnly)
1012 1020 \ No newline at end of file
... ...