From 554a852e2d2d1e5c0315af6ea1feaf179e5d42d2 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 4 Nov 2019 12:20:09 +0000 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20return=20UUID=20objects=20from?= =?UTF-8?q?=20the=20UUID=20convertor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because it means you often have to cast to string in your application code just to get your tests passing. The method being monkey patched is originally defined here: https://github.com/pallets/werkzeug/blob/b81aa0f18c7336a0421b569d8a5dab8d5c0d7517/src/werkzeug/routing.py#L1272 --- app/__init__.py | 2 ++ app/main/views/send.py | 2 +- app/main/views/templates.py | 2 +- app/models/organisation.py | 2 +- app/models/service.py | 2 +- app/models/user.py | 2 +- app/notify_client/invite_api_client.py | 2 +- 7 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index e040868a2..d3732e208 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -228,6 +228,8 @@ def init_app(application): 'asset_url': asset_fingerprinter.get_url } + application.url_map.converters['uuid'].to_python = lambda self, value: value + def convert_to_boolean(value): if isinstance(value, string_types): diff --git a/app/main/views/send.py b/app/main/views/send.py index c3415c78b..a4caac031 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -630,7 +630,7 @@ def check_messages(service_id, template_id, upload_id, row_index=2): metadata_kwargs = { 'notification_count': data['count_of_recipients'], - 'template_id': str(template_id), + 'template_id': template_id, 'valid': True, 'original_file_name': unicode_truncate( data['original_file_name'], diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 7e8fc6019..3728e0330 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -369,7 +369,7 @@ def copy_template(service_id, template_id): current_user.belongs_to_service_or_403(from_service) - template = service_api_client.get_service_template(from_service, str(template_id))['data'] + template = service_api_client.get_service_template(from_service, template_id)['data'] template_folder = template_folder_api_client.get_template_folder(from_service, template['folder']) if not current_user.has_template_folder_permission(template_folder): diff --git a/app/models/organisation.py b/app/models/organisation.py index 27a0fe77b..966dce9bb 100644 --- a/app/models/organisation.py +++ b/app/models/organisation.py @@ -194,7 +194,7 @@ class Organisation(JSONModel): def associate_service(self, service_id): organisations_client.update_service_organisation( - str(service_id), + service_id, self.id ) diff --git a/app/models/service.py b/app/models/service.py index bf989cfeb..d3bc3e79e 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -176,7 +176,7 @@ class Service(JSONModel): ] def get_template(self, template_id, version=None): - return service_api_client.get_service_template(self.id, str(template_id), version)['data'] + return service_api_client.get_service_template(self.id, template_id, version)['data'] def get_template_folder_with_user_permission_or_403(self, folder_id, user): template_folder = self.get_template_folder(folder_id) diff --git a/app/models/user.py b/app/models/user.py index 2c9cf5fce..61674ce30 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -234,7 +234,7 @@ class User(JSONModel, UserMixin): ] def belongs_to_service(self, service_id): - return str(service_id) in self.service_ids + return service_id in self.service_ids def belongs_to_service_or_403(self, service_id): if not self.belongs_to_service(service_id): diff --git a/app/notify_client/invite_api_client.py b/app/notify_client/invite_api_client.py index 2da6f0cdd..e44ba506a 100644 --- a/app/notify_client/invite_api_client.py +++ b/app/notify_client/invite_api_client.py @@ -20,7 +20,7 @@ class InviteApiClient(NotifyAdminAPIClient): auth_type, folder_permissions): data = { - 'service': str(service_id), + 'service': service_id, 'email_address': email_address, 'from_user': invite_from_id, 'permissions': ','.join(sorted(translate_permissions_from_admin_roles_to_db(permissions))),