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 |