Django

Code

Changeset 6074

Show
Ignore:
Timestamp:
09/09/07 14:15:01 (1 year ago)
Author:
jkocherhans
Message:

newforms-admin: Fixed #4491. Thanks Honza Kral.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/contrib/admin/options.py

    r6072 r6074  
    158158                # extra HTML to the end of the rendered output. 
    159159                formfield = db_field.formfield(**kwargs) 
    160                 formfield.widget.render = widgets.RelatedFieldWidgetWrapper(formfield.widget.render, db_field.rel
     160                formfield.widget.render = widgets.RelatedFieldWidgetWrapper(formfield.widget.render, db_field.rel, self.admin_site
    161161                return formfield 
    162162 
  • django/branches/newforms-admin/django/contrib/admin/widgets.py

    r5926 r6074  
    9292    Widget's render() method. 
    9393    """ 
    94     def __init__(self, render_func, rel): 
     94    def __init__(self, render_func, rel, admin_site): 
    9595        self.render_func, self.rel = render_func, rel 
     96        # so we can check if the related object is registered with this AdminSite 
     97        self.admin_site = admin_site 
    9698 
    9799    def __call__(self, name, value, *args, **kwargs): 
     
    100102        related_url = '../../../%s/%s/' % (rel_to._meta.app_label, rel_to._meta.object_name.lower()) 
    101103        output = [self.render_func(name, value, *args, **kwargs)] 
    102         if rel_to._meta.admin: # If the related object has an admin interface: 
     104        if rel_to in self.admin_site._registry: # If the related object has an admin interface: 
    103105            # TODO: "id_" is hard-coded here. This should instead use the correct 
    104106            # API to determine the ID dynamically.