diff --git a/src/homework/permissions.py b/src/homework/permissions.py index 936e9032572e7ed3cf511771a3478170d16e72ff..ef5e09c427b4f93fac2592d1043a828f32d05c3d 100644 --- a/src/homework/permissions.py +++ b/src/homework/permissions.py @@ -30,8 +30,12 @@ class IsAuthenticatedOrReadOnly(BasePermission): class IsStaffOrReadOnlyForAuthenticated(BasePermission): - def has_object_permission(self, request, view, obj): - return (request.user.is_staff or - request.method in SAFE_METHODS and - request.user.is_authenticated - ) + """ + The request is authenticated as a staff, or is a read-only request for authenticated. + """ + def has_permission(self, request, view): + return ( + request.user.is_staff or + request.method in SAFE_METHODS and + request.user.is_authenticated + ) diff --git a/src/homework/views.py b/src/homework/views.py index 4c295b6decd2c90aaeaa245ade211aad84666278..005d45349a77e4b97de29a4b90ed736430a9f4c2 100644 --- a/src/homework/views.py +++ b/src/homework/views.py @@ -11,7 +11,7 @@ from rest_framework import status class TasksViewSet(viewsets.ModelViewSet): serializer_class = serializers.TaskSerializer queryset = models.Task.objects.all() - permission_classes = (permissions.IsStaffOrReadOnly, ) + permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, ) class SolutionViewSet(viewsets.ModelViewSet): diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py index ca34d4bb7c71d3f73ced8ea75bdf733139b7d239..bb449b0a8cc3acc7ca1770f71328b680b9afd186 100644 --- a/src/kszkepzes/urls.py +++ b/src/kszkepzes/urls.py @@ -1,24 +1,9 @@ -"""kszkepzes URL Configuration - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/1.11/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.conf.urls import url, include - 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) -""" from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), - url('', include('social_django.urls', namespace='social')), + url(r'^api/v1/', include('social_django.urls', namespace='social')), url(r'^api/v1/homework/', include('homework.urls')), url(r'^api/v1/', include('stats.urls')), url(r'^api/v1/', include('account.urls')),