110 current_year = time.gmtime().tm_year |
110 current_year = time.gmtime().tm_year |
111 # the current year is not the minimum because a program could span |
111 # the current year is not the minimum because a program could span |
112 # more than one year |
112 # more than one year |
113 allowed_years = range(current_year-1, current_year+20) |
113 allowed_years = range(current_year-1, current_year+20) |
114 |
114 |
|
115 view_logic = params['logic'] if params else new_params['logic'] |
|
116 |
115 new_params['create_extra_dynaproperties'] = { |
117 new_params['create_extra_dynaproperties'] = { |
116 'expected_graduation': forms.TypedChoiceField( |
118 'expected_graduation': forms.TypedChoiceField( |
117 choices=[(x,x) for x in allowed_years], |
119 choices=[(x,x) for x in allowed_years], |
118 coerce=lambda val: int(val) |
120 coerce=lambda val: int(val) |
119 ), |
121 ), |
|
122 'clean': cleaning.validate_student( |
|
123 'birth_date', 'school_type', 'major', 'degree', 'grade', |
|
124 'scope_path', view_logic.getScopeLogic().logic), |
120 } |
125 } |
121 |
126 |
122 new_params['create_dynafields'] = [ |
127 new_params['create_dynafields'] = [ |
123 {'name': 'scope_path', |
128 {'name': 'scope_path', |
124 'base': forms.fields.CharField, |
129 'base': forms.fields.CharField, |
149 # create and store the special form for users |
154 # create and store the special form for users |
150 updated_fields = { |
155 updated_fields = { |
151 'link_id': forms.CharField(widget=forms.HiddenInput, |
156 'link_id': forms.CharField(widget=forms.HiddenInput, |
152 required=True), |
157 required=True), |
153 'clean_link_id': cleaning.clean_user_is_current('link_id'), |
158 'clean_link_id': cleaning.clean_user_is_current('link_id'), |
154 'clean': cleaning.validate_student( |
|
155 'birth_date', 'school_type', 'major', 'degree', 'grade', |
|
156 'scope_path', self._logic.getScopeLogic().logic), |
|
157 } |
159 } |
158 |
160 |
159 user_create_form = dynaform.extendDynaForm( |
161 user_create_form = dynaform.extendDynaForm( |
160 dynaform = self._params['create_form'], |
162 dynaform = self._params['create_form'], |
161 dynaproperties = updated_fields) |
163 dynaproperties = updated_fields) |