      WorkHour, Reservation, FoodDelivery, RowLevelChangePermissionModel, Paper,
      CoverLetter, Story, OtherStory, Book, Promo, ChapterXtra1, Pizza, Topping,
      Album, Question, Answer, ComplexSortedPerson, PrePopulatedPostLargeSlug,
      AdminOrderedField, AdminOrderedModelMethod, AdminOrderedAdminMethod,
      AdminOrderedCallable, Report)
  
  
  def callable_year(dt_value):
      return dt_value.year
  callable_year.admin_order_field = 'date'
 
</s> remove     return {'title': spec.title, 'choices' : list(spec.choices(cl))}
 </s> add     tpl = get_template(spec.template)
    return tpl.render(Context({
        'title': spec.title,
        'choices' : list(spec.choices(cl)),
        'spec': spec,
    })) </s> remove @register.inclusion_tag('admin/filter.html')
 </s> add @register.simple_tag
    AdminOrderedCallable, Report, Color2)
      WorkHour, Reservation, FoodDelivery, RowLevelChangePermissionModel, Paper,
      CoverLetter, Story, OtherStory, Book, Promo, ChapterXtra1, Pizza, Topping,
      Album, Question, Answer, ComplexSortedPerson, PrePopulatedPostLargeSlug,
      AdminOrderedField, AdminOrderedModelMethod, AdminOrderedAdminMethod,
    AdminOrderedCallable, Report, Color2)
  
  
  def callable_year(dt_value):
      return dt_value.year
  callable_year.admin_order_field = 'date'
keep keep keep keep replace keep keep keep keep keep
 Fixed #17515 -- Added ability to override the template of custom admin FilterSpec classes. Thanks, saxix and Julien Phalip.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17483 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
tests/regressiontests/admin_views/admin.py