Django

Code

Changeset 6100

Show
Ignore:
Timestamp:
09/11/07 20:29:41 (1 year ago)
Author:
jkocherhans
Message:

Added form_add and form_change methods to ModelAdmin?.

Files:

Legend:

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

    r6080 r6100  
    309309        """ 
    310310        return self.queryset(request) 
     311 
     312    def form_add(self, request): 
     313        """ 
     314        Returns a Form class for use in the admin add view. 
     315        """ 
     316        fields = flatten_fieldsets(self.fieldsets_add(request)) 
     317        return forms.form_for_model(self.model, fields=fields, formfield_callback=self.formfield_for_dbfield) 
     318 
     319    def form_change(self, request, obj): 
     320        """ 
     321        Returns a Form class for use in the admin change view. 
     322        """ 
     323        fields = flatten_fieldsets(self.fieldsets_change(request, obj)) 
     324        return forms.form_for_instance(obj, fields=fields, formfield_callback=self.formfield_for_dbfield) 
    311325 
    312326    def save_add(self, request, model, form, formsets, post_url_continue): 
     
    424438            post_url = '../../../' 
    425439 
    426         fields = flatten_fieldsets(self.fieldsets_add(request)) 
    427         ModelForm = forms.form_for_model(model, fields=fields, formfield_callback=self.formfield_for_dbfield) 
    428  
     440        ModelForm = self.form_add(request) 
    429441        inline_formsets = [] 
    430442        if request.method == 'POST': 
     
    486498            return self.add_view(request, form_url='../../add/') 
    487499 
    488         fields = flatten_fieldsets(self.fieldsets_change(request, obj)) 
    489         ModelForm = forms.form_for_instance(obj, fields=fields, formfield_callback=self.formfield_for_dbfield) 
    490  
     500        ModelForm = self.form_change(request, obj) 
    491501        inline_formsets = [] 
    492502        if request.method == 'POST':