65 # TODO: work on grade activation |
65 # TODO: work on grade activation |
66 def activate(self, request, **kwargs): |
66 def activate(self, request, **kwargs): |
67 """This is a hack to support the 'Enable grades' button. |
67 """This is a hack to support the 'Enable grades' button. |
68 """ |
68 """ |
69 self.activateGrades(request) |
69 self.activateGrades(request) |
70 redirect_path = request.path.replace('/activate/', '/edit/') + '?activate=1' |
70 redirect_path = request.path.replace('/activate/', '/edit/') + ( |
|
71 '?activate=1') |
71 return http.HttpResponseRedirect(redirect_path) |
72 return http.HttpResponseRedirect(redirect_path) |
72 |
73 |
73 |
74 |
74 def activateGrades(self, request, **kwargs): |
75 def activateGrades(self, request, **kwargs): |
75 """Updates SurveyRecord's grades for a given Survey. |
76 """Updates SurveyRecord's grades for a given Survey. |
76 """ |
77 """ |
77 survey_key_name = survey_logic.getKeyNameFromPath(request.path) |
78 survey_key_name = survey_logic.getKeyNameFromPath(request.path) |
78 survey = Survey.get_by_key_name(survey_key_name) |
79 survey = Survey.get_by_key_name(survey_key_name) |
79 survey_logic.activateGrades(survey) |
80 survey_logic.activateGrades(survey) |
80 return |
81 return |
81 |
|
82 |
82 |
83 def _takeGet(self, request, template, context, params, entity, record, |
83 def _takeGet(self, request, template, context, params, entity, record, |
84 **kwargs): |
84 **kwargs): |
85 """Hook for the GET request for the Survey's take page. |
85 """Hook for the GET request for the Survey's take page. |
86 |
86 |
98 context['survey_form'].fields.insert(field_count + 1, 'grade', gradeField) |
98 context['survey_form'].fields.insert(field_count + 1, 'grade', gradeField) |
99 |
99 |
100 return super(View, self)._takeGet(request, template, context, |
100 return super(View, self)._takeGet(request, template, context, |
101 params, entity, record, **kwargs) |
101 params, entity, record, **kwargs) |
102 |
102 |
|
103 def addGradeField(self, survey, survey_record): |
|
104 """Adds a Grade Field to Survey. |
103 |
105 |
104 def addGradeField(self, survey, survey_record): |
106 Used for mentor evaluations. |
105 """ adds a Grade Field to Survey. |
|
106 Used for mentor evaluations. |
|
107 |
107 |
108 params: |
108 params: |
109 survey: the survey being taken |
109 survey: the survey being taken |
110 survey_record: an existing survey record for a user-project-survey combo, |
110 survey_record: an existing survey record for a user-project-survey combo, |
111 or None |
111 or None |
|
112 """ |
112 |
113 |
113 """ |
|
114 # Add a grade field determining if student passes or fails. |
114 # Add a grade field determining if student passes or fails. |
115 # Activate grades handler should determine whether new status |
115 # Activate grades handler should determine whether new status |
116 # is midterm_passed, final_passed, etc. |
116 # is midterm_passed, final_passed, etc. |
117 grade_choices = (('pass', 'Pass'), ('fail', 'Fail')) |
117 grade_choices = (('pass', 'Pass'), ('fail', 'Fail')) |
118 grade_vals = { 'pass': True, 'fail': False } |
118 grade_vals = { 'pass': True, 'fail': False } |