﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
14303	admin inline form id attribute numbering order and uniqueness is lost	m0nonoke	nobody	"Inline forms that are added using the ""Add another ..."" button created by contrib/admin/media/js/inlines.js lose their id attribute ordering and uniqueness if they are deleted out of reverse order. 

To demonstrate the effect take the following steps:

1. Create an admin form eg. MyAdmin with a tabular inline form eg. MyInline.

2. Add 3 or more inline forms using the ""Add another MyInline button""

3. The HTML for the formset looks something like <tr id=""myinline_set-0"" class=""dynamic-myinline_ser row1""> where myinline_set is the prefix. For 4 forms the ids are therefore myinline_set-0, myinline_set-1, myinline_set-2, myinline_set-3.

4. Delete the second form using the delete link. The ids are now myinline_set-0, myinline_set-2, myinline_set-3.

5. Add another inline using the ""Add another MyInline button"". The ids now show The ids are now myinline_set-0, myinline_set-2, myinline_set-3, myinline_set-3.


It looks like the problem occurs because of the way the id is computed in contrib/admin/media/js/inlines.js. 
{{{
# contrib/admin/media/js/inlines.js Line 59-62 
59 row.removeClass(options.emptyCssClass)
60    .addClass(options.formCssClass)
61    .attr(""id"", options.prefix + ""-"" + nextIndex)
62    .insertBefore($(template));
}}}

nextIndex is just the TOTAL_FORMS value of the management form plus one. The solution would involve resetting the values for all inline forms."		closed	contrib.admin	dev		fixed	inline javascript, sprintdec2010		Ready for checkin	1	0	0	0	0	0
