Django

Code

Changeset 7195

Show
Ignore:
Timestamp:
03/04/08 22:09:35 (6 months ago)
Author:
brosner
Message:

newforms-admin: Fixed #6202 -- FilteredSelectMultiple? is now wrapped with RelatedFieldWidgetWrapper? to display the add button.

Files:

Legend:

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

    r7194 r7195  
    146146        If kwargs are given, they're passed to the form Field's constructor. 
    147147        """ 
    148         # For ManyToManyFields with a filter interface, use a special widget. 
    149         if isinstance(db_field, models.ManyToManyField) and db_field.name in (self.filter_vertical + self.filter_horizontal): 
    150             kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name, (db_field.name in self.filter_vertical)) 
    151             return db_field.formfield(**kwargs) 
    152  
    153148        # For DateTimeFields, use a special field and widget. 
    154149        if isinstance(db_field, models.DateTimeField): 
     
    177172                kwargs['widget'] = widgets.ForeignKeyRawIdWidget(db_field.rel) 
    178173            else: 
    179                 if isinstance(db_field, models.ManyToManyField) and db_field.name in self.raw_id_fields: 
    180                     kwargs['widget'] = widgets.ManyToManyRawIdWidget(db_field.rel) 
    181                     kwargs['help_text'] = '' 
     174                if isinstance(db_field, models.ManyToManyField): 
     175                    if db_field.name in self.raw_id_fields: 
     176                        kwargs['widget'] = widgets.ManyToManyRawIdWidget(db_field.rel) 
     177                        kwargs['help_text'] = '' 
     178                    elif db_field.name in (self.filter_vertical + self.filter_horizontal): 
     179                        kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name, (db_field.name in self.filter_vertical)) 
    182180            # Wrap the widget's render() method with a method that adds 
    183181            # extra HTML to the end of the rendered output.