admin: always show a popup when duplicating a page (#64883)
This commit is contained in:
parent
f167d06ac6
commit
53b1ba16f3
|
@ -1693,7 +1693,8 @@ def test_form_duplicate_page_field(pub):
|
|||
|
||||
# duplicate copy of 1st page without fields
|
||||
resp = resp.click(href='4/duplicate')
|
||||
resp = resp.follow() # no confirmation popup
|
||||
assert 'Also duplicate all fields of the page' not in resp.text
|
||||
resp = resp.form.submit().follow()
|
||||
assert [f.label for f in FormDef.get(1).fields] == [
|
||||
'1st page',
|
||||
'1st field',
|
||||
|
|
|
@ -200,11 +200,7 @@ class FieldDefPage(Directory):
|
|||
|
||||
def duplicate(self):
|
||||
if self.field.type == 'page':
|
||||
page_fields = self.get_page_fields()
|
||||
if page_fields:
|
||||
# display popup if there are fields in the page, to offer to
|
||||
# duplicate them too.
|
||||
return self.duplicate_page(page_fields)
|
||||
return self.duplicate_page(self.get_page_fields())
|
||||
field_pos = self.objectdef.fields.index(self.field)
|
||||
fields = self.objectdef.fields
|
||||
new_field = copy.deepcopy(self.field)
|
||||
|
@ -233,7 +229,8 @@ class FieldDefPage(Directory):
|
|||
duplicate_title = _('Duplicating Page: %s') % ellipsized_field_label
|
||||
duplicate_message = _("You are about to duplicate the \"%s\" page.") % ellipsized_field_label
|
||||
form.widgets.append(HtmlWidget('<p>%s</p>' % duplicate_message))
|
||||
form.add(CheckboxWidget, 'duplicate_fields', title=_('Also duplicate all fields of the page'))
|
||||
if page_fields:
|
||||
form.add(CheckboxWidget, 'duplicate_fields', title=_('Also duplicate all fields of the page'))
|
||||
form.add_submit('submit', _('Duplicate'))
|
||||
form.add_submit("cancel", _("Cancel"))
|
||||
if form.get_widget('cancel').parse():
|
||||
|
|
Loading…
Reference in New Issue