admin: don't lose page position on field removal (#6028)
This commit is contained in:
parent
4086759a00
commit
befa2157fb
|
@ -141,9 +141,9 @@ class FieldDefPage(Directory):
|
|||
form.add_submit("cancel", _("Cancel"))
|
||||
if form.get_widget('cancel').parse():
|
||||
if self.page_no:
|
||||
return redirect('../')
|
||||
return redirect('../#itemId_%s' % self.field.id)
|
||||
else:
|
||||
return redirect('../../fields/')
|
||||
return redirect('../../fields/#itemId_%s' % self.field.id)
|
||||
if not form.is_submitted() or form.has_errors():
|
||||
get_response().breadcrumb.append(('delete', _('Delete')))
|
||||
self.html_top(title = _('Delete Field'))
|
||||
|
@ -152,12 +152,22 @@ class FieldDefPage(Directory):
|
|||
r += form.render()
|
||||
return r.getvalue()
|
||||
else:
|
||||
del self.objectdef.fields[ self.objectdef.fields.index(self.field) ]
|
||||
field_index = self.objectdef.fields.index(self.field)
|
||||
del self.objectdef.fields[field_index]
|
||||
self.objectdef.store()
|
||||
if self.page_no:
|
||||
return redirect('../')
|
||||
# redirect to the field that was above this one
|
||||
if self.objectdef.fields:
|
||||
if field_index == 0:
|
||||
above_field = self.objectdef.fields[0]
|
||||
else:
|
||||
above_field = self.objectdef.fields[field_index-1]
|
||||
anchor = '#itemId_%s' % above_field.id
|
||||
else:
|
||||
return redirect('../../fields/')
|
||||
anchor = ''
|
||||
if self.page_no:
|
||||
return redirect('../' + anchor)
|
||||
else:
|
||||
return redirect('../../fields/' + anchor)
|
||||
|
||||
def duplicate(self):
|
||||
field_pos = self.objectdef.fields.index(self.field)
|
||||
|
|
Loading…
Reference in New Issue