app/soc/views/models/grading_project_survey.py
changeset 2513 c6de2d3eae90
parent 2512 2e8ccec037a9
child 2527 ce657149b90a
equal deleted inserted replaced
2512:2e8ccec037a9 2513:c6de2d3eae90
    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 }