def image_list_filter(context): """ Adds list filter for models related to an Image in the admin. """ request = context['request'] selected_model = None selected_id = None if 'relations__content_type__model' in request.GET: selected_model = request.GET['relations__content_type__model'] if 'relations__object_id' in request.GET: selected_id = request.GET['relations__object_id'] filters = [] for model in ImageRelation.get_related_models(): ctype = ContentType.objects.get_for_model(model) objs = model.objects.all() selected = None if selected_model == ctype.model: selected = selected_id filters.append({ 'name': model._meta.module_name, 'verbose_name': model._meta.verbose_name, 'ctype': ctype, 'objects': objs, 'selected': selected, }) return { 'filters': filters, 'querydict': request.GET.copy() }
def test_media_registry(self): for klass in (RegularSet, ChildSet, AbsChildSet): self.failUnless(ImageRelation.relates_to(klass), "%s.%s was not found in the list of related models." % (klass._meta.app_label, klass._meta.object_name)) self.failIf(ImageRelation.relates_to(AbstractSet))