From 69ee849f898858baf20e7b8a8f3424f63a3ef173 Mon Sep 17 00:00:00 2001 From: Jonas de Luna Skulberg Date: Thu, 19 Oct 2023 20:51:49 +0200 Subject: [PATCH] Fix other thing --- lego/apps/lending/managers.py | 2 +- lego/apps/lending/models.py | 4 ++++ lego/apps/lending/notifications.py | 8 ++++---- lego/apps/lending/serializers.py | 6 +----- lego/apps/lending/views.py | 3 +-- lego/apps/notifications/notification.py | 3 ++- .../users/templates/users/email/lending_instance.html | 2 +- .../apps/users/templates/users/email/lending_instance.txt | 2 +- lego/apps/users/templates/users/push/lending_instance.txt | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lego/apps/lending/managers.py b/lego/apps/lending/managers.py index e32eea456..0ba896719 100644 --- a/lego/apps/lending/managers.py +++ b/lego/apps/lending/managers.py @@ -18,7 +18,7 @@ def create(self, *args, **kwargs): user = User.objects.get(pk=user_id) notification = LendingInstanceNotification( lending_instance=lending_instance, - user_email=user, + user=user, ) notification.notify() diff --git a/lego/apps/lending/models.py b/lego/apps/lending/models.py index 475b8feaf..3125c275f 100644 --- a/lego/apps/lending/models.py +++ b/lego/apps/lending/models.py @@ -21,6 +21,10 @@ class LendableObject(BasisModel): responsible_role = models.CharField( max_length=30, choices=constants.ROLES, default=constants.MEMBER ) + # TODO: options should be changed + image = models.ImageField( + source="cover", required=False, options={"height": 50, "filters": ["blur(20)"]} + ) location = models.CharField(max_length=128, null=False, blank=True) @property diff --git a/lego/apps/lending/notifications.py b/lego/apps/lending/notifications.py index 93d956b9c..489cc509c 100644 --- a/lego/apps/lending/notifications.py +++ b/lego/apps/lending/notifications.py @@ -6,10 +6,10 @@ class LendingInstanceNotification(Notification): def __init__(self, lending_instance: LendingInstance, user: User): self.lending_instance = lending_instance - self.user = user + self.lender = lending_instance.user # TODO: Might not work - super().__init__(user=lending_instance.user) + super().__init__(user=user) name = "lending_instance_creation" @@ -17,7 +17,7 @@ def generate_mail(self): return self._delay_mail( to_email=self.user.email_address, context={ - "user": self.user.full_name, + "lender": self.lender, "lendable_object": self.lending_instance.lendable_object.title, "start_date": self.lending_instance.start_date, "end_date": self.lending_instance.end_date, @@ -31,7 +31,7 @@ def generate_push(self): return self._delay_push( template="users/push/lending_instance.txt", context={ - "user": self.user.full_name, + "lender": self.lender, "lendable_object": self.lending_instance.lendable_object.title, "start_date": self.lending_instance.start_date, "end_date": self.lending_instance.end_date, diff --git a/lego/apps/lending/serializers.py b/lego/apps/lending/serializers.py index 9adc9935f..cd6dc4ccc 100644 --- a/lego/apps/lending/serializers.py +++ b/lego/apps/lending/serializers.py @@ -18,8 +18,7 @@ class Meta: def validate(self, data): lendable_object_id = data["lendable_object"].id lendable_object = LendableObject.objects.get(id=lendable_object_id) - user = self.request.user - + user = self.context['request'].user if not user.abakus_groups.filter( id__in=lendable_object.responsible_groups.all().values_list("id", flat=True) ).exists(): @@ -31,7 +30,4 @@ def validate(self, data): "Lending period exceeds maximum allowed duration" ) - # Add additional validation logic as per your use case - # ... - return data diff --git a/lego/apps/lending/views.py b/lego/apps/lending/views.py index 9f9ef333b..0c29e7601 100644 --- a/lego/apps/lending/views.py +++ b/lego/apps/lending/views.py @@ -51,8 +51,7 @@ class LendingInstanceViewSet( ] def create(self, request): - serializer = LendingInstanceSerializer(request, data=request.data) - + serializer = LendingInstanceSerializer(data=request.data, context={'request': request}) if serializer.is_valid(raise_exception=True): serializer.save() return Response(data=serializer.data, status=status.HTTP_201_CREATED) diff --git a/lego/apps/notifications/notification.py b/lego/apps/notifications/notification.py index 0cdec3bbe..38cbf8887 100644 --- a/lego/apps/notifications/notification.py +++ b/lego/apps/notifications/notification.py @@ -1,4 +1,5 @@ from structlog import get_logger +from lego.apps.users.models import User from lego.utils.content_types import instance_to_string from lego.utils.tasks import send_email, send_push @@ -15,7 +16,7 @@ class Notification: name = None - def __init__(self, user, *args, **kwargs): + def __init__(self, user: User, *args, **kwargs): self.user = user self.args = (args,) self.kwargs = kwargs diff --git a/lego/apps/users/templates/users/email/lending_instance.html b/lego/apps/users/templates/users/email/lending_instance.html index e37243ddc..06bdbd27d 100644 --- a/lego/apps/users/templates/users/email/lending_instance.html +++ b/lego/apps/users/templates/users/email/lending_instance.html @@ -14,7 +14,7 @@ - Bruker: {{ user }}! + Bruker: {{ lender }}! diff --git a/lego/apps/users/templates/users/email/lending_instance.txt b/lego/apps/users/templates/users/email/lending_instance.txt index 1dccb1bd8..59b087f55 100644 --- a/lego/apps/users/templates/users/email/lending_instance.txt +++ b/lego/apps/users/templates/users/email/lending_instance.txt @@ -4,7 +4,7 @@ Det er en ny forespørsel om å låne {{ lendable_object }}! -Bruker: {{ user }}! +Bruker: {{ lender }}! Fra: {{ start_date }}, Til: {{ end_date }} diff --git a/lego/apps/users/templates/users/push/lending_instance.txt b/lego/apps/users/templates/users/push/lending_instance.txt index f35482044..a7d604c5c 100644 --- a/lego/apps/users/templates/users/push/lending_instance.txt +++ b/lego/apps/users/templates/users/push/lending_instance.txt @@ -1,5 +1,5 @@ Det er en ny forespørsel om å låne {{ lendable_object }}! -Bruker: {{ user }}! +Bruker: {{ lender }}! Fra: {{ start_date }}, Til: {{ end_date }}