Added calendars plugin and improved used part

This commit is contained in:
Antoine Nguyen
2025-02-14 13:41:10 +01:00
parent 1b47553b9c
commit 30a9414180
102 changed files with 6274 additions and 423 deletions
+19 -1
View File
@@ -1,7 +1,6 @@
"""Admin API v2 serializers."""
import ipaddress
import os
from typing import List
from django.conf import settings
@@ -11,6 +10,7 @@ from django.shortcuts import get_object_or_404
from django.utils.translation import gettext as _
from django.contrib.auth import password_validation
from django.contrib.auth.models import Permission
from rest_framework import serializers
@@ -353,6 +353,24 @@ class AccountResourceSerializer(serializers.ModelSerializer):
model = limits_models.UserObjectLimit
class AccountMeSerializer(v1_serializers.AccountSerializer):
"""Custom Account serializer for connected user."""
permissions = serializers.SerializerMethodField()
class Meta(v1_serializers.AccountSerializer.Meta):
fields = v1_serializers.AccountSerializer.Meta.fields + ("permissions",)
def get_permissions(self, user) -> List[str]:
"""Return available permissions for given user."""
permissions = (
user.user_permissions.all() | Permission.objects.filter(group__user=user)
).select_related("content_type")
return [
"{}.{}".format(p.content_type.app_label, p.codename) for p in permissions
]
class AccountSerializer(v1_serializers.AccountSerializer):
"""Add support for user resources."""