Commit bb6c057b44c3b4881ddb4aa41ba6a36ada65a878

Authored by fbormann
1 parent 5945a147

added models serializes and urls #271 as well as courses app serializers #262

@@ -4,9 +4,13 @@ from django.contrib.auth.views import password_reset, password_reset_done,passwo @@ -4,9 +4,13 @@ from django.contrib.auth.views import password_reset, password_reset_done,passwo
4 from . import views 4 from . import views
5 from rest_framework import routers 5 from rest_framework import routers
6 6
  7 +from users.views import UserViewSet
7 8
  9 +#API CODE
8 router = routers.DefaultRouter() 10 router = routers.DefaultRouter()
9 router.register(r'logs', views.LogViewSet) 11 router.register(r'logs', views.LogViewSet)
  12 +router.register(r'usersapi', UserViewSet)
  13 +
10 urlpatterns = [ 14 urlpatterns = [
11 url(r'^$', views.login, name='home'), 15 url(r'^$', views.login, name='home'),
12 url(r'^register/$', views.RegisterUser.as_view(), name='register'), 16 url(r'^register/$', views.RegisterUser.as_view(), name='register'),
courses/serializers.py
1 from rest_framework import serializers 1 from rest_framework import serializers
2 from .models import Course, Subject, Topic 2 from .models import Course, Subject, Topic
  3 +from users.serializers import UserSerializer
3 4
4 class CourseSerializer(serializers.ModelSerializer): 5 class CourseSerializer(serializers.ModelSerializer):
  6 + #The set comes from the ManyToMany Relationship in django
  7 + students = UserSerializer(source='courses_student')
  8 + professors = UserSerializer(source='courses_professors')
5 class Meta: 9 class Meta:
6 model = Course 10 model = Course
7 fields = ('name', 'slug', 'objectivies', 'content, max_students', 'create_date', 11 fields = ('name', 'slug', 'objectivies', 'content, max_students', 'create_date',
courses/views.py
@@ -1006,3 +1006,6 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView): @@ -1006,3 +1006,6 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView):
1006 self.request.session['log_id'] = Log.objects.latest('id').id 1006 self.request.session['log_id'] = Log.objects.latest('id').id
1007 1007
1008 return super(FileMaterialView, self).dispatch(*args, **kwargs) 1008 return super(FileMaterialView, self).dispatch(*args, **kwargs)
  1009 +
  1010 +
  1011 +#API VIEWS
users/serializers.py
@@ -4,6 +4,6 @@ from .models import User @@ -4,6 +4,6 @@ from .models import User
4 class UserSerializer(serializers.ModelSerializer): 4 class UserSerializer(serializers.ModelSerializer):
5 class Meta: 5 class Meta:
6 model = User 6 model = User
7 - fields = ('username','email','name','city','state','gender','image','birth_date','phone'  
8 - 'cpf','type_profile','titration','year_tritation','institution','curriculum','date_created', 7 + fields = ('username','email','name','city','state','gender','image','birth_date','phone',
  8 + 'cpf','type_profile','titration','year_titration','institution','curriculum','date_created',
9 'is_staff','is_active') 9 'is_staff','is_active')
@@ -2,6 +2,7 @@ from django.conf.urls import url @@ -2,6 +2,7 @@ from django.conf.urls import url
2 2
3 from . import views 3 from . import views
4 4
  5 +
5 urlpatterns = [ 6 urlpatterns = [
6 url(r'^$', views.UsersListView.as_view(), name='manage'), 7 url(r'^$', views.UsersListView.as_view(), name='manage'),
7 url(r'^create/$', views.Create.as_view(), name='create'), 8 url(r'^create/$', views.Create.as_view(), name='create'),
users/views.py
@@ -20,6 +20,10 @@ from files.models import * @@ -20,6 +20,10 @@ from files.models import *
20 from exam.models import * 20 from exam.models import *
21 from courses.models import * 21 from courses.models import *
22 22
  23 +#API IMPORTS
  24 +from rest_framework import viewsets
  25 +from .serializers import UserSerializer
  26 +from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly
23 27
24 # ================ ADMIN ======================= 28 # ================ ADMIN =======================
25 class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): 29 class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView):
@@ -231,3 +235,12 @@ class SearchView(LoginRequiredMixin, generic.ListView): @@ -231,3 +235,12 @@ class SearchView(LoginRequiredMixin, generic.ListView):
231 context['qtd'] = qtd 235 context['qtd'] = qtd
232 236
233 return context 237 return context
  238 +
  239 +
  240 +# API VIEWS
  241 +
  242 +class UserViewSet(viewsets.ModelViewSet):
  243 + queryset = User.objects.all()
  244 + serializer_class = UserSerializer
  245 + permissions_classes = (IsAuthenticatedOrReadOnly,)
  246 +