diff --git a/api/subscriptions/views.py b/api/subscriptions/views.py index 52be8669231..9fce7f4ab97 100644 --- a/api/subscriptions/views.py +++ b/api/subscriptions/views.py @@ -306,6 +306,9 @@ def update(self, request, *args, **kwargs): raise PermissionDenied for instance in qs: + instance.legacy_id = self.kwargs['subscription_id'] + instance.event_name = instance.notification_type.name + serializer = self.get_serializer(instance=instance, data=request.data, partial=True) serializer.is_valid(raise_exception=True) self.perform_update(serializer) @@ -326,6 +329,9 @@ def update(self, request, *args, **kwargs): raise PermissionDenied for instance in qs: + instance.legacy_id = self.kwargs['subscription_id'] + instance.event_name = instance.notification_type.name + serializer = self.get_serializer(instance=instance, data=request.data, partial=True) serializer.is_valid(raise_exception=True) self.perform_update(serializer) @@ -354,6 +360,9 @@ def update(self, request, *args, **kwargs): raise PermissionDenied for instance in qs: + instance.legacy_id = self.kwargs['subscription_id'] + instance.event_name = instance.notification_type.name + serializer = self.get_serializer(instance=instance, data=request.data, partial=True) serializer.is_valid(raise_exception=True) self.perform_update(serializer) @@ -361,6 +370,7 @@ def update(self, request, *args, **kwargs): else: instance.event_name = instance.notification_type.name # Set event_name for serializer to use + instance.legacy_id = instance.notification_type.name # Set legacy_id for serializer to use partial = kwargs.pop('partial', False) serializer = self.get_serializer(instance, data=request.data, partial=partial) diff --git a/api_tests/subscriptions/views/test_subscriptions_detail.py b/api_tests/subscriptions/views/test_subscriptions_detail.py index a7246bbbd19..f14eeec3cfa 100644 --- a/api_tests/subscriptions/views/test_subscriptions_detail.py +++ b/api_tests/subscriptions/views/test_subscriptions_detail.py @@ -342,3 +342,5 @@ def test_subscription_detail_patch( res = app.patch_json_api(url_user_global_file_updated, payload, auth=user.auth) assert res.status_code == 200 assert res.json['data']['attributes']['frequency'] == 'none' + assert res.json['data'].get('id') is not None + assert res.json['data']['attributes'].get('event_name') is not None