Add canChooseRoot flag to createPageChooser JS function

pull/1837/head
Matt Westcott 2015-10-16 14:54:02 +01:00
rodzic 22d1dd7c7e
commit 340dd73602
4 zmienionych plików z 15 dodań i 10 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
function createPageChooser(id, pageTypes, openAtParentId) {
function createPageChooser(id, pageTypes, openAtParentId, canChooseRoot) {
var chooserElement = $('#' + id + '-chooser');
var pageTitle = chooserElement.find('.title');
var input = $('#' + id);
@ -10,9 +10,14 @@ function createPageChooser(id, pageTypes, openAtParentId) {
initialUrl += openAtParentId + '/';
}
var urlParams = {page_type: pageTypes.join(',')};
if (canChooseRoot) {
urlParams.can_choose_root = 'true';
}
ModalWorkflow({
url: initialUrl,
urlParams: { page_type: pageTypes.join(',') },
urlParams: urlParams,
responses: {
pageChosen: function(pageData) {
input.val(pageData.id);

Wyświetl plik

@ -365,7 +365,7 @@ class TestPageChooserPanel(TestCase):
def test_render_js_init(self):
result = self.page_chooser_panel.render_as_field()
expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format(
expected_js = 'createPageChooser("{id}", ["{model}"], {parent}, false);'.format(
id="id_page", model="wagtailcore.page", parent=self.events_index_page.id)
self.assertIn(expected_js, result)
@ -408,7 +408,7 @@ class TestPageChooserPanel(TestCase):
page_chooser_panel = self.MyPageChooserPanel(instance=self.test_instance, form=form)
result = page_chooser_panel.render_as_field()
expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format(
expected_js = 'createPageChooser("{id}", ["{model}"], {parent}, false);'.format(
id="id_page", model="tests.eventpage", parent=self.events_index_page.id)
self.assertIn(expected_js, result)
@ -422,7 +422,7 @@ class TestPageChooserPanel(TestCase):
page_chooser_panel = self.MyPageChooserPanel(instance=self.test_instance, form=form)
result = page_chooser_panel.render_as_field()
expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format(
expected_js = 'createPageChooser("{id}", ["{model}"], {parent}, false);'.format(
id="id_page", model="tests.eventpage", parent=self.events_index_page.id)
self.assertIn(expected_js, result)

Wyświetl plik

@ -32,7 +32,7 @@ class TestAdminPageChooserWidget(TestCase):
widget = widgets.AdminPageChooser()
js_init = widget.render_js_init('test-id', 'test', None)
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], null);")
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], null, false);")
def test_render_html_with_value(self):
widget = widgets.AdminPageChooser()
@ -44,7 +44,7 @@ class TestAdminPageChooserWidget(TestCase):
widget = widgets.AdminPageChooser()
js_init = widget.render_js_init('test-id', 'test', self.child_page)
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], %d);" % self.root_page.id)
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], %d, false);" % self.root_page.id)
# def test_render_html_init_with_content_type omitted as HTML does not
# change when selecting a content type
@ -54,7 +54,7 @@ class TestAdminPageChooserWidget(TestCase):
widget = widgets.AdminPageChooser(content_type=content_type)
js_init = widget.render_js_init('test-id', 'test', None)
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\"], null);")
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\"], null, false);")
def test_render_js_init_with_multiple_content_types(self):
content_types = [
@ -65,4 +65,4 @@ class TestAdminPageChooserWidget(TestCase):
widget = widgets.AdminPageChooser(content_type=content_types)
js_init = widget.render_js_init('test-id', 'test', None)
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\", \"tests.eventpage\"], null);")
self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\", \"tests.eventpage\"], null, false);")

Wyświetl plik

@ -166,7 +166,7 @@ class AdminPageChooser(AdminChooser):
parent = page.get_parent() if page else None
return "createPageChooser({id}, {content_type}, {parent});".format(
return "createPageChooser({id}, {content_type}, {parent}, false);".format(
id=json.dumps(id_),
content_type=json.dumps([
'{app}.{model}'.format(