diff --git a/cookbook/helper/permission_helper.py b/cookbook/helper/permission_helper.py index 5c2a381c..54e5dd61 100644 --- a/cookbook/helper/permission_helper.py +++ b/cookbook/helper/permission_helper.py @@ -164,7 +164,7 @@ class CustomIsOwner(permissions.BasePermission): return is_object_owner(request.user, obj) -class CustomIsShared(permissions.BasePermission): # TODO function duplicate name +class CustomIsShared(permissions.BasePermission): # TODO function duplicate/too similar name """ Custom permission class for django rest framework views verifies user is shared for the object he is trying to access @@ -175,7 +175,6 @@ class CustomIsShared(permissions.BasePermission): # TODO function duplicate name return request.user.is_authenticated def has_object_permission(self, request, view, obj): - print("called is shared") return is_object_shared(request.user, obj) diff --git a/cookbook/serializer.py b/cookbook/serializer.py index d37c145d..8f5a115d 100644 --- a/cookbook/serializer.py +++ b/cookbook/serializer.py @@ -33,7 +33,7 @@ class CustomDecimalField(serializers.Field): raise ValidationError('A valid number is required') -class UserNameSerializer(serializers.ModelSerializer): +class UserNameSerializer(WritableNestedModelSerializer): username = serializers.SerializerMethodField('get_user_label') def get_user_label(self, obj): @@ -231,6 +231,7 @@ class ShoppingListEntryCheckedSerializer(serializers.ModelSerializer): class ShoppingListSerializer(WritableNestedModelSerializer): recipes = ShoppingListRecipeSerializer(many=True, allow_null=True) entries = ShoppingListEntrySerializer(many=True, allow_null=True) + shared = UserNameSerializer(many=True) class Meta: model = ShoppingList diff --git a/cookbook/templates/shopping_list.html b/cookbook/templates/shopping_list.html index 3b15256c..8656690f 100644 --- a/cookbook/templates/shopping_list.html +++ b/cookbook/templates/shopping_list.html @@ -199,6 +199,29 @@ +