equal
deleted
inserted
replaced
19 |
19 |
20 __authors__ = [ |
20 __authors__ = [ |
21 '"Lennard de Rijk" <ljvderijk@gmail.com>' |
21 '"Lennard de Rijk" <ljvderijk@gmail.com>' |
22 ] |
22 ] |
23 |
23 |
|
24 |
|
25 import time |
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 |
97 |
99 |
98 new_params['extra_django_patterns'] = patterns |
100 new_params['extra_django_patterns'] = patterns |
99 |
101 |
100 new_params['extra_dynaexclude'] = ['agreed_to_tos', 'school'] |
102 new_params['extra_dynaexclude'] = ['agreed_to_tos', 'school'] |
101 |
103 |
|
104 current_year = time.gmtime().tm_year |
|
105 # the current year is not the minimum because a program could span |
|
106 # more than one year |
|
107 allowed_years = range(current_year-1, current_year+20) |
|
108 |
102 new_params['create_extra_dynaproperties'] = { |
109 new_params['create_extra_dynaproperties'] = { |
103 'expected_graduation': forms.IntegerField(required=True, |
110 'expected_graduation': forms.TypedChoiceField( |
104 max_value=2030, |
111 choices=[(x,x) for x in allowed_years], |
105 min_value=2009) |
112 coerce=lambda val: int(val) |
106 } |
113 ) |
|
114 } |
107 |
115 |
108 new_params['create_dynafields'] = [ |
116 new_params['create_dynafields'] = [ |
109 {'name': 'scope_path', |
117 {'name': 'scope_path', |
110 'base': forms.fields.CharField, |
118 'base': forms.fields.CharField, |
111 'widget': forms.HiddenInput, |
119 'widget': forms.HiddenInput, |