diff --git a/core/urls.py b/core/urls.py index 5fe7f2e..edf106a 100644 --- a/core/urls.py +++ b/core/urls.py @@ -4,9 +4,13 @@ from django.contrib.auth.views import password_reset, password_reset_done,passwo from . import views from rest_framework import routers +from users.views import UserViewSet +#API CODE router = routers.DefaultRouter() router.register(r'logs', views.LogViewSet) +router.register(r'usersapi', UserViewSet) + urlpatterns = [ url(r'^$', views.login, name='home'), url(r'^register/$', views.RegisterUser.as_view(), name='register'), diff --git a/courses/serializers.py b/courses/serializers.py index 90844eb..e117544 100644 --- a/courses/serializers.py +++ b/courses/serializers.py @@ -1,7 +1,11 @@ from rest_framework import serializers from .models import Course, Subject, Topic +from users.serializers import UserSerializer class CourseSerializer(serializers.ModelSerializer): + #The set comes from the ManyToMany Relationship in django + students = UserSerializer(source='courses_student') + professors = UserSerializer(source='courses_professors') class Meta: model = Course fields = ('name', 'slug', 'objectivies', 'content, max_students', 'create_date', diff --git a/courses/views.py b/courses/views.py index 95f8ced..87caae7 100644 --- a/courses/views.py +++ b/courses/views.py @@ -1006,3 +1006,6 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView): self.request.session['log_id'] = Log.objects.latest('id').id return super(FileMaterialView, self).dispatch(*args, **kwargs) + + +#API VIEWS diff --git a/users/serializers.py b/users/serializers.py index 9c8fcb2..d757ad8 100644 --- a/users/serializers.py +++ b/users/serializers.py @@ -4,6 +4,6 @@ from .models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ('username','email','name','city','state','gender','image','birth_date','phone' - 'cpf','type_profile','titration','year_tritation','institution','curriculum','date_created', + fields = ('username','email','name','city','state','gender','image','birth_date','phone', + 'cpf','type_profile','titration','year_titration','institution','curriculum','date_created', 'is_staff','is_active') diff --git a/users/urls.py b/users/urls.py index 25b912e..6153998 100644 --- a/users/urls.py +++ b/users/urls.py @@ -2,6 +2,7 @@ from django.conf.urls import url from . import views + urlpatterns = [ url(r'^$', views.UsersListView.as_view(), name='manage'), url(r'^create/$', views.Create.as_view(), name='create'), diff --git a/users/views.py b/users/views.py index d739a57..1693129 100644 --- a/users/views.py +++ b/users/views.py @@ -20,6 +20,10 @@ from files.models import * from exam.models import * from courses.models import * +#API IMPORTS +from rest_framework import viewsets +from .serializers import UserSerializer +from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly # ================ ADMIN ======================= class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): @@ -231,3 +235,12 @@ class SearchView(LoginRequiredMixin, generic.ListView): context['qtd'] = qtd return context + + +# API VIEWS + +class UserViewSet(viewsets.ModelViewSet): + queryset = User.objects.all() + serializer_class = UserSerializer + permissions_classes = (IsAuthenticatedOrReadOnly,) + -- libgit2 0.21.2