109 |
109 |
110 #: Optional field storing the allocation of slots for this program |
110 #: Optional field storing the allocation of slots for this program |
111 slots_allocation = db.TextProperty(required=False, |
111 slots_allocation = db.TextProperty(required=False, |
112 verbose_name=ugettext('the allocation of slots')) |
112 verbose_name=ugettext('the allocation of slots')) |
113 |
113 |
|
114 #: Property that contains the minimum age of a student allowed to |
|
115 #: participate |
|
116 student_min_age = db.IntegerProperty( |
|
117 required=False, verbose_name=ugettext('Student minimum age')) |
|
118 student_min_age.group = ugettext('Contest Rules') |
|
119 student_min_age.help_text = ugettext( |
|
120 'Minimum age of the student to sign-up in years.') |
|
121 |
|
122 #: Property that contains the date as of which above student |
|
123 #: minimum age requirement holds. This is a DateTimeProperty because |
|
124 #: programs might run in a different timezone then the Appengine Server |
|
125 #: is running on. |
|
126 student_min_age_as_of = db.DateProperty( |
|
127 required=False, verbose_name=ugettext('Minimum age as of')) |
|
128 student_min_age_as_of.group = ugettext('Contest Rules') |
|
129 student_min_age_as_of.help_text = ugettext( |
|
130 'Date as of which the student minimum age requirement ' |
|
131 'should be reached.') |
|
132 |
114 #: Required field storing the type of workflow this program has |
133 #: Required field storing the type of workflow this program has |
115 workflow = db.StringProperty(required=True, |
134 workflow = db.StringProperty(required=True, |
116 choices=['gsoc', 'ghop'], |
135 choices=['gsoc', 'ghop'], |
117 verbose_name= ugettext('Workflow type')) |
136 verbose_name= ugettext('Workflow type')) |
118 workflow.example_text = ugettext( |
137 workflow.example_text = ugettext( |