Added "How did you hear about this program?" to Student Profile.
authorLennard de Rijk <ljvderijk@gmail.com>
Fri, 20 Mar 2009 14:07:57 +0000
changeset 1949 bcc52df68367
parent 1948 25cd704fdfdf
child 1950 27c0ea479d8a
Added "How did you hear about this program?" to Student Profile. Addresses Issue 333. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed
app/soc/models/student.py
app/soc/views/models/student.py
--- a/app/soc/models/student.py	Fri Mar 20 14:04:57 2009 +0000
+++ b/app/soc/models/student.py	Fri Mar 20 14:07:57 2009 +0000
@@ -18,11 +18,14 @@
 
 __authors__ = [
   '"Todd Larsen" <tlarsen@google.com>',
+  '"Lennard de Rijk" <ljvderijk@gmail.com>',
 ]
 
 
 from google.appengine.ext import db
 
+from django.utils.translation import ugettext
+
 import soc.models.role
 import soc.models.school
 
@@ -31,8 +34,16 @@
   """Student details for a specific Program.
   """
 
+  #: Property to gain insight into where students heard about this program
+  program_knowledge = db.TextProperty(required=True, verbose_name=ugettext(
+      "How did you hear about this program?"))
+  program_knowledge.help_text = ugettext("Please be as "
+      "specific as possible, e.g. blog post (include URL if possible), mailing "
+      "list (please include list address), information session (please include "
+      "location and speakers if you can), etc.")
+  program_knowledge.group = ugettext("4. Private Info")
+
   #: A many:1 relationship that ties multiple Students to the
   #: School that they attend.
   school = db.ReferenceProperty(reference_class=soc.models.school.School,
                                 required=False, collection_name='students')
-
--- a/app/soc/views/models/student.py	Fri Mar 20 14:04:57 2009 +0000
+++ b/app/soc/views/models/student.py	Fri Mar 20 14:07:57 2009 +0000
@@ -109,6 +109,14 @@
          },
         ]
 
+    new_params['edit_extra_dynaproperties'] = {
+        'program_knowledge': forms.CharField(required=True,
+            widget=forms.Textarea(attrs={
+                'readonly': 'readonly',
+                'class': 'plaintext',}
+                ))
+        }
+
     new_params['show_in_roles_overview'] = True
 
     params = dicts.merge(params, new_params)