equal
deleted
inserted
replaced
19 |
19 |
20 __authors__ = [ |
20 __authors__ = [ |
21 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
21 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
22 ] |
22 ] |
23 |
23 |
|
24 |
|
25 import copy |
24 |
26 |
25 from django import forms |
27 from django import forms |
26 from django.utils.translation import ugettext |
28 from django.utils.translation import ugettext |
27 |
29 |
28 from soc.logic import cleaning |
30 from soc.logic import cleaning |
309 |
311 |
310 def getAdminForm(base_form): |
312 def getAdminForm(base_form): |
311 """Constructs a new AdminForm from base_form. |
313 """Constructs a new AdminForm from base_form. |
312 """ |
314 """ |
313 |
315 |
314 # extend to do a proper copy |
316 # extend _and_ deepcopy the base_fields to do a proper copy |
315 admin_form = dynaform.extendDynaForm( |
317 admin_form = dynaform.extendDynaForm(dynaform = base_form) |
316 dynaform = base_form, |
318 admin_form.base_fields = copy.deepcopy(admin_form.base_fields) |
317 ) |
|
318 |
319 |
319 # replace all widgets with PTW's |
320 # replace all widgets with PTW's |
320 for key, value in admin_form.base_fields.iteritems(): |
321 for key, value in admin_form.base_fields.iteritems(): |
321 if not isinstance(value, forms.fields.Field): |
322 if not isinstance(value, forms.fields.Field): |
322 continue |
323 continue |
|
324 |
323 value.widget = widgets.PlainTextWidget() |
325 value.widget = widgets.PlainTextWidget() |
324 |
326 |
325 return admin_form |
327 return admin_form |
326 |
328 |
327 |
329 |