app/soc/views/models/program.py
changeset 1700 599a5ff8f422
parent 1698 a8da5a620236
child 1705 1dbce30b5757
equal deleted inserted replaced
1699:699f65fbf08a 1700:599a5ff8f422
    24 
    24 
    25 
    25 
    26 from django import forms
    26 from django import forms
    27 from django.utils.translation import ugettext
    27 from django.utils.translation import ugettext
    28 
    28 
       
    29 from soc.logic import cleaning
    29 from soc.logic import dicts
    30 from soc.logic import dicts
    30 from soc.logic.helper import timeline as timeline_helper
    31 from soc.logic.helper import timeline as timeline_helper
    31 from soc.logic.models import host as host_logic
    32 from soc.logic.models import host as host_logic
    32 from soc.logic.models import mentor as mentor_logic
    33 from soc.logic.models import mentor as mentor_logic
    33 from soc.logic.models import org_admin as org_admin_logic
    34 from soc.logic.models import org_admin as org_admin_logic
   111           filter_fields={'prefix': new_params['document_prefix']},
   112           filter_fields={'prefix': new_params['document_prefix']},
   112           required=False, label=label, help_text=help_text)
   113           required=False, label=label, help_text=help_text)
   113 
   114 
   114     result['workflow'] = forms.CharField(widget=widgets.ReadOnlyInput(),
   115     result['workflow'] = forms.CharField(widget=widgets.ReadOnlyInput(),
   115                                          required=True)
   116                                          required=True)
       
   117     result['clean'] = cleaning.clean_refs(new_params,
       
   118                                           [i for i,_,_ in reference_fields])
   116 
   119 
   117     new_params['edit_extra_dynaproperties'] = result
   120     new_params['edit_extra_dynaproperties'] = result
   118 
   121 
   119     references = [
   122     document_references = [
   120         ('org_admin_agreement_link_id', 'org_admin_agreement', document_logic,
   123         ('org_admin_agreement_link_id', 'org_admin_agreement',
   121          lambda x: x.org_admin_agreement),
   124          lambda x: x.org_admin_agreement),
   122         ('mentor_agreement_link_id', 'mentor_agreement', document_logic,
   125         ('mentor_agreement_link_id', 'mentor_agreement',
   123          lambda x: x.mentor_agreement),
   126          lambda x: x.mentor_agreement),
   124         ('student_agreement_link_id', 'student_agreement', document_logic,
   127         ('student_agreement_link_id', 'student_agreement',
   125          lambda x: x.student_agreement),
   128          lambda x: x.student_agreement),
   126         ]
   129         ]
   127 
   130 
   128     new_params['references'] = references
   131     new_params['references'] = document_references
   129 
   132 
   130     params = dicts.merge(params, new_params, sub_merge=True)
   133     params = dicts.merge(params, new_params, sub_merge=True)
   131 
   134 
   132     super(View, self).__init__(params=params)
   135     super(View, self).__init__(params=params)
   133 
   136