init
This commit is contained in:
6
app/user/api/registry.py
Normal file
6
app/user/api/registry.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from api.utils import register_in_app
|
||||
from .viewsets import UserViewSet
|
||||
|
||||
|
||||
def register_viewsets(router):
|
||||
register_in_app(router, 'users', UserViewSet)
|
||||
11
app/user/api/serializers.py
Normal file
11
app/user/api/serializers.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from user.models import User
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['id', 'username', 'email', 'first_name', 'last_name', 'max_upload_size']
|
||||
read_only_fields = ['id', 'max_upload_size']
|
||||
extra_kwargs = {'password': {'write_only': True}}
|
||||
17
app/user/api/viewsets.py
Normal file
17
app/user/api/viewsets.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from rest_framework import viewsets, permissions
|
||||
|
||||
from user.models import User
|
||||
from user.api.serializers import UserSerializer
|
||||
|
||||
|
||||
class UserViewSet(viewsets.ModelViewSet):
|
||||
queryset = User.objects.all()
|
||||
serializer_class = UserSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
# Les utilisateurs normaux ne peuvent voir que leur propre profil
|
||||
if not self.request.user.is_staff:
|
||||
return User.objects.filter(id=self.request.user.id)
|
||||
# Les administrateurs peuvent voir tous les utilisateurs
|
||||
return User.objects.all()
|
||||
Reference in New Issue
Block a user