Opened 17 years ago
Last modified 13 years ago
#5833 closed
[newforms-admin] Custom FilterSpecs — at Version 7
Reported by: | Honza Král | Owned by: | jkocherhans |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Normal | Keywords: | nfa-someday list_filter filterspec nfa-changelist ep2008 |
Cc: | Simon Litchfield, eallik@…, semente@…, andreas@…, mbencun@…, chenyuejie@…, djangoproject@…, jan.rzepecki@…, kmike84@…, eandre@…, Gonzalo Saavedra, ciantic@…, rvdrijst, eppsilon, ramusus@…, peimei@…, marcoberi@…, david@…, rmanocha@…, sciyoshi@…, Odin Hørthe Omdal, Sean Legassick, Alexander Koshelev, Marinho Brandão, Dan Fairs, timothy.broder@…, Michael Manfre, internet@…, Robin Breathe, bendavis78@…, 3point2, SafPlusPlus, krasniyrus@…, subsume@…, dirleyrls@…, Vitek Pliska, Salva Pinyol, Simon Charette, remco@…, rohit.aggarwal@…, guandalino | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
One should be able to create custom FilterSpecs
for the admin's list_filter
interface.
Honza_Kral: I modified the filterspec definition to allow for users to register their own filters in admin. The mechanism is simple - I just reverted the order of the registry so that newly registered specs will come first. That way if you register your own filter via FilterSpec.register
, it will be used before the default one.
Another approach by korpios is described in the comments.
Change History (9)
by , 17 years ago
Attachment: | ticket-5833-against-newforms-admin-6477.diff added |
---|
comment:1 by , 17 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 17 years ago
Also see #3400 for another ideas about filters which could benefit from this scheme...
comment:3 by , 17 years ago
Keywords: | nfa-someday added; newforms admin removed |
---|
This ticket isn't critical to merge newforms-admin into trunk. Tagging with nfa-someday.
comment:4 by , 17 years ago
How about FilterSpec.insert method to do prepend and FilterSpec.register to do append? discussed somewhere, no?
comment:5 by , 17 years ago
I'm attaching my crack at this issue; in particular, I wanted to allow custom FilterSpec
s that aren't associated with a field. This way, you can throw together a filter for fairly arbitrary queries.
Much of the field-specific code from FilterSpec
has been moved out to a subclass, FieldFilterSpec
; that should be used as the superclass for custom field-based filterspecs, while FilterSpec
can be used for non-field-based ones.
The list_filter
syntax gains two further options besides field names: a FilterSpec
subclass, or a tuple of ('field_name', FieldFilterSpecSubclass)
.
An example combining all three:
list_filter = ( 'field1', ('field2', SomeFieldFilterSpec), SomeFilterSpec, )
by , 17 years ago
Attachment: | custom_filterspecs_plus_fieldless.patch added |
---|
Custom FilterSpecs, also allowing fieldless FilterSpecs
comment:6 by , 17 years ago
Cc: | added |
---|
comment:7 by , 17 years ago
Description: | modified (diff) |
---|---|
Summary: | newforms-admin enable registering custom FilterSpecs → [newforms-admin] Custom FilterSpecs |
Tweaked the summary and description.
I really like the idea behind this, but I'd need to review the code closer and won't take the time to do it right now since it's a new feature. I'd rather focus on bugs preventing newforms-admin from being used.