diff --git a/taiga/users/api.py b/taiga/users/api.py index 5bb5d80d..7c76502c 100644 --- a/taiga/users/api.py +++ b/taiga/users/api.py @@ -188,6 +188,17 @@ class UsersViewSet(ModelCrudViewSet): return Response(user_data, status=status.HTTP_200_OK) + @list_route(methods=["POST"]) + def remove_avatar(self, request): + """ + Remove the avatar of current logged user. + """ + self.check_permissions(request, "remove_avatar", None) + request.user.photo = None + request.user.save(update_fields=["photo"]) + user_data = serializers.UserSerializer(request.user).data + return Response(user_data, status=status.HTTP_200_OK) + @detail_route(methods=["GET"]) def starred(self, request, pk=None): user = self.get_object() diff --git a/taiga/users/permissions.py b/taiga/users/permissions.py index f10a31da..7d74e8cd 100644 --- a/taiga/users/permissions.py +++ b/taiga/users/permissions.py @@ -36,4 +36,5 @@ class UserPermission(ResourcePermission): change_password_from_recovery_perms = AllowAny() change_password_perms = IsAuthenticated() change_avatar_perms = IsAuthenticated() + remove_avatar_perms = IsAuthenticated() starred_perms = AllowAny()