Allow editing of images and embeds by passing params in querystring

Allows Wagtail TinyMCE editor to edit existing images and embeds.
Hallo editor requires development to take advantage of this capability.
This commit is contained in:
riceyrice 2016-06-03 14:11:36 +01:00 committed by Matt Westcott
parent 01d63bfb61
commit d6b9735141
4 changed files with 33 additions and 3 deletions

View file

@ -153,6 +153,11 @@ class TestChooser(TestCase, WagtailTestUtils):
r = self.client.get('/admin/embeds/chooser/')
self.assertEqual(r.status_code, 200)
def test_chooser_with_edit_params(self):
r = self.client.get('/admin/embeds/chooser/?url=http://example2.com')
self.assertEqual(r.status_code, 200)
self.assertContains(r, 'value=\\"http://example2.com\\"')
@patch('wagtail.wagtailembeds.embeds.get_embed')
def test_submit_valid_embed(self, get_embed):
get_embed.return_value = Embed(html='<img src="http://www.example.com" />', title="An example embed")

View file

@ -11,7 +11,7 @@ from wagtail.wagtailembeds.forms import EmbedForm
def chooser(request):
form = EmbedForm()
form = EmbedForm(initial=request.GET.dict())
return render_modal_workflow(request, 'wagtailembeds/chooser/chooser.html', 'wagtailembeds/chooser/chooser.js', {
'form': form,

View file

@ -444,7 +444,30 @@ class TestImageChooserChosenView(TestCase, WagtailTestUtils):
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'wagtailimages/chooser/image_chosen.js')
# TODO: Test posting
class TestImageChooserSelectFormatView(TestCase, WagtailTestUtils):
def setUp(self):
self.login()
# Create an image to edit
self.image = Image.objects.create(
title="Test image",
file=get_test_image_file(),
)
def get(self, params={}):
return self.client.get(reverse('wagtailimages:chooser_select_format', args=(self.image.id,)), params)
def test_simple(self):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'wagtailimages/chooser/select_format.html')
self.assertTemplateUsed(response, 'wagtailimages/chooser/select_format.js')
def test_with_edit_params(self):
response = self.get(params={'alt_text': "some previous alt text"})
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'value=\\"some previous alt text\\"')
class TestImageChooserUploadView(TestCase, WagtailTestUtils):

View file

@ -183,7 +183,9 @@ def chooser_select_format(request, image_id):
{'image_json': image_json}
)
else:
form = ImageInsertionForm(initial={'alt_text': image.default_alt_text})
initial = {'alt_text': image.default_alt_text}
initial.update(request.GET.dict())
form = ImageInsertionForm(initial=initial)
return render_modal_workflow(
request, 'wagtailimages/chooser/select_format.html', 'wagtailimages/chooser/select_format.js',