diff --git a/arkindex/documents/fixtures/data.json b/arkindex/documents/fixtures/data.json index e3a2cf2781a5914b2306b2d3b6832e29a31d390c..79e4794886cfdd6e2df5a80684a2fa0e194f55e6 100644 --- a/arkindex/documents/fixtures/data.json +++ b/arkindex/documents/fixtures/data.json @@ -1437,7 +1437,6 @@ "max_height": null, "created": "2020-02-02T01:23:45.678Z", "updated": "2020-02-02T01:23:45.678Z", - "validated": false, "read_only": false } }, diff --git a/arkindex/documents/management/commands/bootstrap.py b/arkindex/documents/management/commands/bootstrap.py index 3188a4b1ebf599305829d86d64deeda0ec98a9d8..338a8e88abd8a51a3325de3560ab400a20745be3 100644 --- a/arkindex/documents/management/commands/bootstrap.py +++ b/arkindex/documents/management/commands/bootstrap.py @@ -130,10 +130,9 @@ class Command(BaseCommand): server.id = IMAGE_SERVER_ID # Update base settings - if server.s3_bucket != IMAGE_SERVER_BUCKET or server.s3_region != IMAGE_SERVER_REGION or not server.validated: + if server.s3_bucket != IMAGE_SERVER_BUCKET or server.s3_region != IMAGE_SERVER_REGION: server.s3_bucket = IMAGE_SERVER_BUCKET server.s3_region = IMAGE_SERVER_REGION - server.validated = True server.save() self.warn("Updated image server S3 settings") else: @@ -146,7 +145,6 @@ class Command(BaseCommand): s3_bucket=IMAGE_SERVER_BUCKET, s3_region=IMAGE_SERVER_REGION, display_name='Development local server', - validated=True, ) self.success("Image server created") except IntegrityError as e: diff --git a/arkindex/documents/tests/commands/test_load_export.py b/arkindex/documents/tests/commands/test_load_export.py index 54d01c7ac36158e339f335565ea31619e2165fda..0a7af1793cccc16a3da13b8d399507f4fc95d2cb 100644 --- a/arkindex/documents/tests/commands/test_load_export.py +++ b/arkindex/documents/tests/commands/test_load_export.py @@ -38,7 +38,7 @@ class TestLoadExport(FixtureTestCase): 'process.revision': ['message', 'author'], 'process.workerversion': ['configuration', 'state', 'docker_image', 'docker_image_iid'], 'process.workertype': [], - 'images.imageserver': ['s3_bucket', 's3_region', 'created', 'updated', 'validated', 'read_only'], + 'images.imageserver': ['s3_bucket', 's3_region', 'created', 'updated', 'read_only'], 'images.image': ['created', 'updated', 'hash', 'status'], 'documents.element': ['created', 'updated', 'type'], 'documents.elementpath': [], @@ -119,7 +119,6 @@ class TestLoadExport(FixtureTestCase): polygon=LinearRing((0, 0), (0, 1000), (1000, 1000), (1000, 0), (0, 0)), image=Image.objects.all().first() ) - ImageServer.objects.all().update(validated=True) element = self.corpus.elements.get(name='Volume 1') transcription = Transcription.objects.first() @@ -226,7 +225,6 @@ class TestLoadExport(FixtureTestCase): polygon=LinearRing((0, 0), (0, 1000), (1000, 1000), (1000, 0), (0, 0)), image=Image.objects.all().first() ) - ImageServer.objects.all().update(validated=True) element = self.corpus.elements.get(name='Volume 1') transcription = Transcription.objects.first() diff --git a/arkindex/images/admin.py b/arkindex/images/admin.py index 213d09ed4a59500f48c8a29dff66312f0409f595..d8805450f95f570daa383723d502f32d896a5011 100644 --- a/arkindex/images/admin.py +++ b/arkindex/images/admin.py @@ -7,7 +7,7 @@ from arkindex.images.views import ImageServerMergeView, ImageServerSplitView class ImageServerAdmin(admin.ModelAdmin): - list_display = ('display_name', 'url', 'validated') + list_display = ('display_name', 'url') def get_urls(self): # Give views access to this ModelAdmin instance diff --git a/arkindex/images/managers.py b/arkindex/images/managers.py index ff4c2a25ba415dc17d2d8a19cf95c899fa71bba7..167844021fbc8f318cea49807b204310d443be22 100644 --- a/arkindex/images/managers.py +++ b/arkindex/images/managers.py @@ -19,7 +19,7 @@ class ImageServerManager(models.Manager): def from_url(self, url): """ - Find a matching ImageServer from an image URL. Requires the server to be validated. + Find a matching ImageServer from an image URL. May raise ImageServer.DoesNotExist or ImageServer.MultipleObjectsReturned. """ servers = self \ @@ -41,7 +41,6 @@ class ImageServerManager(models.Manager): return self.create( url=server_url, display_name=server_url, - validated=True, ) raise self.model.DoesNotExist( @@ -53,9 +52,4 @@ class ImageServerManager(models.Manager): f'The URL "{url}" matched multiple existing image servers' ) - image_server = servers.get() - if not image_server.validated: - raise ValueError(f'The {image_server.url} image server is not validated. ' - 'Please ask an instance administrator to validate the IIIF server for this image.') - - return image_server + return servers.get() diff --git a/arkindex/images/migrations/0009_remove_imageserver_validated.py b/arkindex/images/migrations/0009_remove_imageserver_validated.py new file mode 100644 index 0000000000000000000000000000000000000000..2ee2bcefac44c0db9b89fdafc451a0575f4e3f10 --- /dev/null +++ b/arkindex/images/migrations/0009_remove_imageserver_validated.py @@ -0,0 +1,17 @@ +# Generated by Django 4.0.7 on 2022-10-12 14:39 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0008_delete_zone'), + ] + + operations = [ + migrations.RemoveField( + model_name='imageserver', + name='validated', + ), + ] diff --git a/arkindex/images/models.py b/arkindex/images/models.py index 184deaa3d667f00eaff5190d2db64c4ec128238d..620b18df7b023e6ff480ee9baf26335f2189a6a6 100644 --- a/arkindex/images/models.py +++ b/arkindex/images/models.py @@ -36,7 +36,6 @@ class ImageServer(models.Model): created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) - validated = models.BooleanField(default=False) read_only = models.BooleanField(default=False) objects = ImageServerManager() diff --git a/arkindex/images/tests/test_image_api.py b/arkindex/images/tests/test_image_api.py index afadba4895ed2a67757a4813738bab0c49adafb9..e8a496d990ea0a34f27726af18c15bad5838c7cb 100644 --- a/arkindex/images/tests/test_image_api.py +++ b/arkindex/images/tests/test_image_api.py @@ -28,10 +28,7 @@ class TestImageApi(FixtureAPITestCase): @classmethod def setUpTestData(cls): super().setUpTestData() - cls.server = ImageServer.objects.create( - url='https://test-iiif-server.teklia.com/images', - validated=True - ) + cls.server = ImageServer.objects.create(url='https://test-iiif-server.teklia.com/images') def setUp(self): super().setUp() @@ -366,7 +363,7 @@ class TestImageApi(FixtureAPITestCase): def test_create_iiif_image_wrong_urls(self): self.client.force_login(self.superuser) # Create a server with same prefix as existing one - ImageServer.objects.create(url='https://test-iiif-server', validated=True) + ImageServer.objects.create(url='https://test-iiif-server') wrong_urls = { 'This field may not be blank.': [ '' diff --git a/arkindex/images/tests/test_imageserver.py b/arkindex/images/tests/test_imageserver.py index 09abbf3a67d25b6ea5316a7ac011d8152dcdf047..4859055fd886f97b8e7407cad4f7e84650c550b2 100644 --- a/arkindex/images/tests/test_imageserver.py +++ b/arkindex/images/tests/test_imageserver.py @@ -152,8 +152,6 @@ class TestImageServer(TestCase): """ Test ImageServer detection from images url """ - ImageServer.objects.update(validated=True) - self.assertEqual(ImageServer.objects.from_url('http://server.dev.teklia.com/iiif/test.jpg'), self.root_srv_1) self.assertEqual(ImageServer.objects.from_url('http://server2.dev.teklia.com/iiif/test.jpg'), self.root_srv_2) self.assertEqual(ImageServer.objects.count(), 5) @@ -163,7 +161,6 @@ class TestImageServer(TestCase): self.assertEqual(ImageServer.objects.count(), 6) self.assertEqual(new_server.url, 'http://new.server.dev.teklia.com/iiif') self.assertEqual(new_server.display_name, 'http://new.server.dev.teklia.com/iiif') - self.assertTrue(new_server.validated) # And then reused for later calls self.assertEqual(ImageServer.objects.from_url('http://new.server.dev.teklia.com/iiif/path%2Fto%2Ffile.jpg'), new_server) @@ -183,15 +180,4 @@ class TestImageServer(TestCase): self.assertEqual(ImageServer.objects.count(), 6) self.assertEqual(new_server.url, server_url) self.assertEqual(new_server.display_name, server_url) - self.assertTrue(new_server.validated) new_server.delete() - - def test_from_url_unvalidated_server(self): - """ - Test that when a server already exists but is unvalidated - from_url does not attempt to create it again. - """ - self.assertEqual(self.root_srv_2.validated, False) - with self.assertRaisesMessage(ValueError, "The http://server2.dev.teklia.com/iiif image server is not validated. Please ask an instance administrator to validate the IIIF server for this image."): - ImageServer.objects.from_url("http://server2.dev.teklia.com/iiif/path%2Fto%2Ffile.jpg") - self.assertEqual(ImageServer.objects.count(), 5)