Ejemplo n.º 1
0
    def get(self):
        user = users.get_current_user()

        try:
            quarter = SettingModel.quarter()
            year    = SettingModel.year()
            student = StudentModel.get_student_by_email(quarter, year, user.email())

            active_assigns      = map(lambda x: x.number, AssignmentModel.get_active_assigns(quarter, year))
            assign_range        = AssignmentModel.get_assign_range(quarter, year)
            partner_history     = PartnershipModel.get_active_partner_history_for_student(student, quarter, year, fill_gaps=assign_range)
            all_partner_history = PartnershipModel.get_all_partner_history_for_student(student, quarter, year)

            evals  = EvalModel.get_eval_history_by_evaluator(student, True, quarter, year).fetch()
            evals += EvalModel.get_eval_history_by_evaluator(student, False, quarter, year).fetch()
            evals  = sorted(evals, key=lambda x: x.assignment_number)

        except AttributeError:
            return self.redirect('/partner')

        template = JINJA_ENV.get_template('/templates/partner_student_view.html')
        template_values = {
            'student':      student,
            'partners':     partner_history,
            'all_partners': all_partner_history,
            'assign_range': assign_range,
            'active':       active_assigns,
            'evals':        evals,
            'user':         users.get_current_user(),
            'sign_out':     users.create_logout_url('/'),
        }
        return self.response.write(template.render(template_values))
Ejemplo n.º 2
0
    def get(self):
        # pass map of quarter DB representations (ints) to string representation
        # TODO:
        #    quarters should not be hardcoded
        quarter_map = {1: 'Fall', 2: 'Winter', 3: 'Spring', 4: 'Summer'}
        quarter = self.request.get('quarter')
        year = self.request.get('year')

        # try getting quarter/year from session
        if not quarter or not year:
            temp = get_sess_vals(self.session, 'quarter', 'year')
            if not temp:
                return self.redirect(
                    '/admin?message=Please set a current quarter and year')
            quarter, year = temp

        quarter, year = int(quarter), int(year)
        student = ndb.Key(urlsafe=self.request.get('student')).get()
        assign_range = AssignmentModel.get_assign_range(quarter, year)

        partner_history = PartnershipModel.get_active_partner_history_for_student(
            student, quarter, year, fill_gaps=assign_range)
        all_partner_history = PartnershipModel.get_all_partner_history_for_student(
            student, quarter, year)

        evals = EvalModel.get_eval_history_by_evaluator(
            student, True, quarter, year).fetch()
        evals += EvalModel.get_eval_history_by_evaluator(
            student, False, quarter, year).fetch()
        evals = sorted(evals, key=lambda x: x.assignment_number)

        evals_for = EvalModel.get_eval_history_by_evaluatee(
            student, True, quarter, year).fetch()
        evals_for += EvalModel.get_eval_history_by_evaluatee(
            student, False, quarter, year).fetch()
        evals_for = sorted(evals_for, key=lambda x: x.assignment_number)

        log = LogModel.get_log_by_student(student, quarter, year).get()
        if log:
            log_arr = log.log
        else:
            log_arr = []

        template = JINJA_ENV.get_template('/templates/admin_student_view.html')
        template_values = {
            'student': student,
            'partners': partner_history,
            'all_partners': all_partner_history,
            'assign_range': assign_range,
            'evals': evals,
            'evals_for': evals_for,
            'user': users.get_current_user(),
            'log': log_arr,
            'sign_out': users.create_logout_url('/'),
        }
        return self.response.write(template.render(template_values))
Ejemplo n.º 3
0
    def get(self):
        # pass map of quarter DB representations (ints) to string representation
        # TODO:
        #    quarters should not be hardcoded 
        quarter_map = {1: 'Fall', 2: 'Winter', 3: 'Spring', 4: 'Summer'}
        quarter     = self.request.get('quarter')                        
        year        = self.request.get('year')

        # try getting quarter/year from session
        if not quarter or not year:                                
            temp = get_sess_vals(self.session, 'quarter', 'year')
            if not temp:                                
                return self.redirect('/admin?message=Please set a current quarter and year')
            quarter,year = temp                                                    

        quarter,year = int(quarter), int(year)
        student      = ndb.Key(urlsafe=self.request.get('student')).get()
        assign_range = AssignmentModel.get_assign_range(quarter, year)

        partner_history     = PartnershipModel.get_active_partner_history_for_student(student, quarter, year, fill_gaps=assign_range)
        all_partner_history = PartnershipModel.get_all_partner_history_for_student(student, quarter, year)

        evals  = EvalModel.get_eval_history_by_evaluator(student, True, quarter, year).fetch()
        evals += EvalModel.get_eval_history_by_evaluator(student, False, quarter, year).fetch()
        evals  = sorted(evals, key=lambda x: x.assignment_number)

        evals_for  = EvalModel.get_eval_history_by_evaluatee(student, True, quarter, year).fetch()
        evals_for += EvalModel.get_eval_history_by_evaluatee(student, False, quarter, year).fetch()
        evals_for  = sorted(evals_for, key=lambda x: x.assignment_number)

        template = JINJA_ENV.get_template('/templates/admin_student_view.html')
        template_values = {
            'student':      student,
            'partners':     partner_history,
            'all_partners': all_partner_history,
            'assign_range': assign_range,
            'evals':        evals,
            'evals_for':    evals_for,
            'user':         users.get_current_user(),
            'sign_out':     users.create_logout_url('/'),
        }
        return self.response.write(template.render(template_values))
Ejemplo n.º 4
0
    def get(self):
        user = users.get_current_user()

        try:
            quarter = SettingModel.quarter()
            year = SettingModel.year()
            student = StudentModel.get_student_by_email(
                quarter, year, user.email())

            active_assigns = map(
                lambda x: x.number,
                AssignmentModel.get_active_assigns(quarter, year))
            assign_range = AssignmentModel.get_assign_range(quarter, year)
            partner_history = PartnershipModel.get_active_partner_history_for_student(
                student, quarter, year, fill_gaps=assign_range)
            all_partner_history = PartnershipModel.get_all_partner_history_for_student(
                student, quarter, year)

            evals = EvalModel.get_eval_history_by_evaluator(
                student, True, quarter, year).fetch()
            evals += EvalModel.get_eval_history_by_evaluator(
                student, False, quarter, year).fetch()
            evals = sorted(evals, key=lambda x: x.assignment_number)

        except AttributeError:
            return self.redirect('/partner')

        template = JINJA_ENV.get_template(
            '/templates/partner_student_view.html')
        template_values = {
            'student': student,
            'partners': partner_history,
            'all_partners': all_partner_history,
            'assign_range': assign_range,
            'active': active_assigns,
            'evals': evals,
            'user': users.get_current_user(),
            'sign_out': users.create_logout_url('/'),
        }
        return self.response.write(template.render(template_values))