app/soc/views/helper/params.py
changeset 1345 1c5c6271f02e
parent 1343 4ba39392c854
child 1357 3dd1507aa723
equal deleted inserted replaced
1344:d94410538f8e 1345:1c5c6271f02e
    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