Skip to content
Snippets Groups Projects
Commit e4159bb4 authored by Chif Gergo's avatar Chif Gergo
Browse files

News Viewset created

parent be0ba628
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2018-01-25 17:17
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('homework', '0003_auto_20180124_1818'),
]
operations = [
migrations.AlterField(
model_name='solution',
name='created_by',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
...@@ -51,7 +51,7 @@ class Solution(models.Model): ...@@ -51,7 +51,7 @@ class Solution(models.Model):
task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE, ) task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE, )
# student = models.ForeignKey(account.models.Profile, related_name='student_solution', on_delete=models.CASCADE) # student = models.ForeignKey(account.models.Profile, related_name='student_solution', on_delete=models.CASCADE)
date = models.DateTimeField(auto_now_add=True, editable=False, ) date = models.DateTimeField(auto_now_add=True, editable=False, )
ready = models.BooleanField(default=False, ) #if(Soulution.date <= Task.deadline) ready = models.BooleanField(default=False, ) # if(Soulution.date <= Task.deadline)
accepted = models.BooleanField(default=False, ) accepted = models.BooleanField(default=False, )
files = models.FileField( files = models.FileField(
validators=[validators.FileExtensionValidator( validators=[validators.FileExtensionValidator(
......
...@@ -34,4 +34,4 @@ class IsStaffOrReadOnlyForAuthenticated(BasePermission): ...@@ -34,4 +34,4 @@ class IsStaffOrReadOnlyForAuthenticated(BasePermission):
return (request.user.is_staff or return (request.user.is_staff or
request.method in SAFE_METHODS and request.method in SAFE_METHODS and
request.user.is_authenticated request.user.is_authenticated
) )
...@@ -17,7 +17,7 @@ class TasksViewSet(viewsets.ModelViewSet): ...@@ -17,7 +17,7 @@ class TasksViewSet(viewsets.ModelViewSet):
class SolutionViewSet(viewsets.ModelViewSet): class SolutionViewSet(viewsets.ModelViewSet):
serializer_class = serializers.SolutionSerializer serializer_class = serializers.SolutionSerializer
queryset = models.Solution.objects.all() queryset = models.Solution.objects.all()
permission_classes = (permissions.SolutionPermission, ) permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, )
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=request.data)
......
...@@ -22,4 +22,5 @@ urlpatterns = [ ...@@ -22,4 +22,5 @@ urlpatterns = [
url(r'^api/v1/homework/', include('homework.urls')), url(r'^api/v1/homework/', include('homework.urls')),
url(r'^api/v1/', include('stats.urls')), url(r'^api/v1/', include('stats.urls')),
url(r'^api/v1/', include('account.urls')), url(r'^api/v1/', include('account.urls')),
url(r'^api/v1/', include('news.urls')),
] ]
from rest_framework.permissions import BasePermission
from rest_framework.permissions import SAFE_METHODS
class IsStaffOrReadOnlyForAuthenticated(BasePermission):
def has_permission(self, request, view):
return (request.user.is_staff or
request.method in SAFE_METHODS and
request.user.is_authenticated
)
from rest_framework.permissions import IsAdminUser, IsAuthenticated from news.permissions import IsStaffOrReadOnlyForAuthenticated
from rest_framework import viewsets from rest_framework import viewsets
from news.models import Article from news.models import Article
from news.serializers import ArticleListSerializer from news.serializers import ArticleListSerializer
...@@ -6,5 +6,5 @@ from news.serializers import ArticleListSerializer ...@@ -6,5 +6,5 @@ from news.serializers import ArticleListSerializer
class NewsViewSet(viewsets.ModelViewSet): class NewsViewSet(viewsets.ModelViewSet):
serializer_class = ArticleListSerializer serializer_class = ArticleListSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsStaffOrReadOnlyForAuthenticated]
queryset = Article.objects.all() queryset = Article.objects.all()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment