Example #1
0
    def post(self):
        quarter = SettingModel.quarter()
        year    = SettingModel.year()
        user    = users.get_current_user()

        evaluator       = StudentModel.get_student_by_email(quarter, year, user.email())
        partners        = PartnershipModel.get_active_partner_history_for_student(evaluator, quarter, year)
        eval_key,num    = split_last(self.request.get('evaluatee'))
        eval_assign     = int(num)
        current_partner = ndb.Key(urlsafe=eval_key).get()

        evaluations = EvalModel.get_existing_eval_by_assign(evaluator, current_partner, eval_assign)
        for eval in evaluations:
            eval.active = False
            eval.put()

        evaluation                   = Evaluation(evaluator = evaluator.key, evaluatee = current_partner.key)
        evaluation.assignment_number = eval_assign
        evaluation.year              = evaluator.year
        evaluation.quarter           = evaluator.quarter
        evaluation.active            = True
        for i in range(1, 11):
            evaluation.responses.append(self.request.get('q' + str(i)))
        evaluation.put()

        message  = 'Evaluation for ' + str(current_partner.last_name) + ', '
        message += str(current_partner.first_name) + ' successfully submitted'

        self.redirect('/partner?message=' + message)
Example #2
0
    def post(self):
        quarter = SettingModel.quarter()
        year = SettingModel.year()
        user = users.get_current_user()

        evaluator = StudentModel.get_student_by_email(quarter, year,
                                                      user.email())
        partners = PartnershipModel.get_active_partner_history_for_student(
            evaluator, quarter, year)
        eval_key, num = split_last(self.request.get('evaluatee'))
        eval_assign = int(num)
        current_partner = ndb.Key(urlsafe=eval_key).get()

        #   Log when eval is submitted
        #current date for timestamp
        cur_date = datetime.datetime.now().strftime("%m/%d/%Y %H:%M:%S")
        #get current log, creating one if it does not exist
        current_log = LogModel.get_log_by_student(evaluator, quarter,
                                                  year).get()
        if current_log == None:
            current_log = Log()
            current_log.owner = evaluator.key
            current_log.quarter = quarter
            current_log.year = year
        #log the submission of the eval
        current_log.log.append(cur_date + " Submitted eval for: " +
                               current_partner.ucinetid + " assgt. " +
                               str(eval_assign))
        #save to log
        current_log.put()

        evaluations = EvalModel.get_existing_eval_by_assign(
            evaluator, current_partner, eval_assign)
        for eval in evaluations:
            eval.active = False
            eval.put()

        evaluation = Evaluation(evaluator=evaluator.key,
                                evaluatee=current_partner.key)
        evaluation.assignment_number = eval_assign
        evaluation.year = evaluator.year
        evaluation.quarter = evaluator.quarter
        evaluation.active = True
        for i in range(1, 11):
            evaluation.responses.append(self.request.get('q' + str(i)))
        evaluation.put()

        message = 'Evaluation for ' + str(current_partner.last_name) + ', '
        message += str(
            current_partner.first_name
        ) + ' confirmed: Please refresh the page and confirm the evaluation was submitted.'
        self.redirect('/partner?message=' + message)