Set file size on upload

pull/1426/head
Karl Hobley 2015-07-01 16:14:41 +01:00
rodzic 4c85c39a78
commit 5018aa1994
3 zmienionych plików z 31 dodań i 0 usunięć

Wyświetl plik

@ -86,6 +86,9 @@ class TestImageAddView(TestCase, WagtailTestUtils):
self.assertEqual(image.width, 640)
self.assertEqual(image.height, 480)
# Test that the file_size field was set
self.assertTrue(image.file_size)
def test_add_no_file_selected(self):
response = self.post({
'title': "Test image",
@ -151,6 +154,25 @@ class TestImageEditView(TestCase, WagtailTestUtils):
image = Image.objects.get(id=self.image.id)
self.assertEqual(image.title, "Edited")
def test_edit_with_new_image_file(self):
file_content = get_test_image_file().file.getvalue()
# Change the file size of the image
self.image.file_size = 100000
self.image.save()
response = self.post({
'title': "Edited",
'file': SimpleUploadedFile('new.png', file_content),
})
# Should redirect back to index
self.assertRedirects(response, reverse('wagtailimages_index'))
# Check that the image file size changed (assume it changed to the correct value)
image = Image.objects.get(id=self.image.id)
self.assertNotEqual(image.file_size, 100000)
def test_with_missing_image_file(self):
self.image.file.delete(False)
@ -330,6 +352,7 @@ class TestMultipleImageUploader(TestCase, WagtailTestUtils):
# Check image
self.assertIn('image', response.context)
self.assertEqual(response.context['image'].title, 'test.png')
self.assertTrue(response.context['image'].file_size)
# Check form
self.assertIn('form', response.context)

Wyświetl plik

@ -97,6 +97,10 @@ def edit(request, image_id):
# which definitely isn't what we want...
original_file.storage.delete(original_file.name)
image.renditions.all().delete()
# Set new image file size
image.file_size = image.file.size
form.save()
# Reindex the image to make sure all tags are indexed
@ -238,6 +242,9 @@ def add(request):
image = ImageModel(uploaded_by_user=request.user)
form = ImageForm(request.POST, request.FILES, instance=image)
if form.is_valid():
# Set image file size
image.file_size = image.file.size
form.save()
# Reindex the image to make sure all tags are indexed

Wyświetl plik

@ -62,6 +62,7 @@ def add(request):
# Save it
image = form.save(commit=False)
image.uploaded_by_user = request.user
image.file_size = image.file.size
image.save()
# Success! Send back an edit form for this image to the user