Added api viewset for users.
This commit is contained in:
parent
7644cb9a09
commit
8cb70017da
@ -15,7 +15,9 @@ class UsersAppConfig(AppConfig):
|
|||||||
from openslides.config.signals import config_signal
|
from openslides.config.signals import config_signal
|
||||||
from openslides.core.signals import post_database_setup
|
from openslides.core.signals import post_database_setup
|
||||||
from openslides.projector.api import register_slide_model
|
from openslides.projector.api import register_slide_model
|
||||||
|
from openslides.utils.rest_api import router
|
||||||
from .signals import create_builtin_groups_and_admin, setup_users_config, user_post_save
|
from .signals import create_builtin_groups_and_admin, setup_users_config, user_post_save
|
||||||
|
from .views import UserViewSet
|
||||||
|
|
||||||
# Load User model.
|
# Load User model.
|
||||||
User = self.get_model('User')
|
User = self.get_model('User')
|
||||||
@ -27,3 +29,6 @@ class UsersAppConfig(AppConfig):
|
|||||||
|
|
||||||
# Register slides.
|
# Register slides.
|
||||||
register_slide_model(User, 'participant/user_slide.html')
|
register_slide_model(User, 'participant/user_slide.html')
|
||||||
|
|
||||||
|
# Register viewset.
|
||||||
|
router.register('users/user', UserViewSet)
|
||||||
|
15
openslides/users/serializers.py
Normal file
15
openslides/users/serializers.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
from .models import User
|
||||||
|
|
||||||
|
|
||||||
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
"""
|
||||||
|
Serializer for a users.models.User objects.
|
||||||
|
"""
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
fields = (
|
||||||
|
'username',
|
||||||
|
'first_name',
|
||||||
|
'last_name')
|
@ -6,6 +6,7 @@ from django.core.urlresolvers import reverse
|
|||||||
from django.utils.translation import ugettext as _, ugettext_lazy, activate
|
from django.utils.translation import ugettext as _, ugettext_lazy, activate
|
||||||
|
|
||||||
from openslides.config.api import config
|
from openslides.config.api import config
|
||||||
|
from openslides.utils import rest_api
|
||||||
from openslides.utils.utils import delete_default_permissions, html_strong
|
from openslides.utils.utils import delete_default_permissions, html_strong
|
||||||
from openslides.utils.views import (
|
from openslides.utils.views import (
|
||||||
CreateView, CSVImportView, DeleteView, DetailView, FormView, ListView,
|
CreateView, CSVImportView, DeleteView, DetailView, FormView, ListView,
|
||||||
@ -19,6 +20,7 @@ from .forms import (GroupForm, UserCreateForm, UserMultipleCreateForm,
|
|||||||
UsersettingsForm, UserUpdateForm)
|
UsersettingsForm, UserUpdateForm)
|
||||||
from .models import Group, User
|
from .models import Group, User
|
||||||
from .pdf import users_to_pdf, users_passwords_to_pdf
|
from .pdf import users_to_pdf, users_passwords_to_pdf
|
||||||
|
from .serializers import UserSerializer
|
||||||
|
|
||||||
|
|
||||||
class UserListView(ListView):
|
class UserListView(ListView):
|
||||||
@ -259,6 +261,24 @@ class ResetPasswordView(SingleObjectMixin, QuestionView):
|
|||||||
return _('The Password for %s was successfully reset.') % html_strong(self.get_object())
|
return _('The Password for %s was successfully reset.') % html_strong(self.get_object())
|
||||||
|
|
||||||
|
|
||||||
|
class UserViewSet(rest_api.viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint to view, edit and delete users.
|
||||||
|
"""
|
||||||
|
model = User
|
||||||
|
queryset = User.objects.all()
|
||||||
|
serializer_class = UserSerializer
|
||||||
|
|
||||||
|
def check_permissions(self, request):
|
||||||
|
"""
|
||||||
|
Calls self.permission_denied() if the requesting user has not the
|
||||||
|
permission to manage.
|
||||||
|
"""
|
||||||
|
# TODO: More work on this required.
|
||||||
|
if not request.user.has_perm('users.can_manage'):
|
||||||
|
self.permission_denied(request)
|
||||||
|
|
||||||
|
|
||||||
class GroupListView(ListView):
|
class GroupListView(ListView):
|
||||||
"""
|
"""
|
||||||
Overview over all groups.
|
Overview over all groups.
|
||||||
|
Loading…
Reference in New Issue
Block a user