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))
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))
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))
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))