Wrong interpretation of extra clause in ModelAdmin with new admin UI
|Reported by:||apollo13||Owned by:||jezdez|
|Severity:||Keywords:||admin, js, inlines|
|Cc:||jezdez, apollo13||Triage Stage:||Accepted|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Description (last modified by russellm)
In the current admin you can specify max_num and extra for inlines. Before r12297 this meant that you would get the current data from the database + extra as long as it stays below max_num. If you were still below max_num you had to save the page to get extra new fields (this could be repeated until you reached the limit). This behaviour is currently implemented with the js too; but I think (as js is a usability enchancement) you should be able to add as many rows until you reach max_num not TOTAL-FORMS (which is rows+extra while <= max_num). To get this working I guess we would need to pass max_num to the js so it can decide when to stop.
An alternate description from #12704:
The current code interprets 'extra = N' as "allow the user to add no more than N extra rows. The user must press (+ add another XXX) to add the first inline.
I would have thought the interpretation would have been "instantiate the form with with N empty extra rows". The task of constraining the number of allowed inlines is the job of the 'max_num' clause.
The admin UI should always show N blank inputs (for extra = N), as long as that wouldn't exceed the max_num. The user should be able to fill in up to N inlines before needing to press the (+ add another) button.
If I'm incorrect, then the second failing test reported by #12703 needs to be fixed by accounting for the 5 fields (and missing default date) that are no longer on the form.
Change History (10)
comment:1 Changed 6 years ago by russellm
- Description modified (diff)
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Summary changed from shortcoming in the new admin inlines to Wrong interpretation of extra clause in ModelAdmin with new admin UI
- Triage Stage changed from Unreviewed to Design decision needed
comment:2 Changed 6 years ago by jezdez
- Triage Stage changed from Design decision needed to Accepted
comment:3 Changed 6 years ago by jezdez
- Owner changed from nobody to jezdez
- Status changed from new to assigned
comment:5 Changed 6 years ago by jezdez
- Resolution set to fixed
- Status changed from assigned to closed