def get(self): # pass map of quarter DB representations (ints) to string representation # TODO: # quarters should not be hardcoded quarters = {1: 'Fall', 2: 'Winter', 3: 'Spring', 4: 'Summer'} quarter = SettingModel.quarter() year = SettingModel.year() num_labs = SettingModel.num_labs() template_values = { 'repeat_partners': SettingModel.repeat_partners(), 'cross_section_partners': SettingModel.cross_section_partners(), 'year': year, 'quarter': quarter, 'quarters': sorted(quarters.items()), 'num_labs': num_labs if num_labs else 1, 'user': users.get_current_user(), 'sign_out': users.create_logout_url('/'), } template = JINJA_ENV.get_template('/templates/admin_edit_settings.html') 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 quarters = {1: 'Fall', 2: 'Winter', 3: 'Spring', 4: 'Summer'} quarter = SettingModel.quarter() year = SettingModel.year() num_labs = SettingModel.num_labs() template_values = { 'repeat_partners': SettingModel.repeat_partners(), 'cross_section_partners': SettingModel.cross_section_partners(), 'year': year, 'quarter': quarter, 'quarters': sorted(quarters.items()), 'num_labs': num_labs if num_labs else 1, 'user': users.get_current_user(), 'sign_out': users.create_logout_url('/'), } template = JINJA_ENV.get_template( '/templates/admin_edit_settings.html') return self.response.write(template.render(template_values))
def get(self): quarter = SettingModel.quarter() year = SettingModel.year() user = users.get_current_user() student = StudentModel.get_student_by_email(quarter, year, user.email()) selector = StudentModel.get_student_by_email(quarter, year, user.email()) selectees = StudentModel.get_students_by_lab(quarter, year, selector.lab) active_assigns = AssignmentModel.get_active_assigns(quarter, year) # get course config repeat = SettingModel.repeat_partners() cross_section = SettingModel.cross_section_partners() # get default parameter default_assgn = int(self.request.get("assgn")) if self.request.get( "assgn") is not "" else -1 # get all current_partnerships for partnership status partnerships = PartnershipModel.get_all_partnerships_for_assign( quarter, year, default_assgn) partner_history = PartnershipModel.get_all_partner_history_for_student( student, quarter, year) members = [] for p in partner_history: if p.active: members += p.members for p in partnerships: if p.members not in members: members += p.members # build dict to store information about partnership status available = [] for s in selectees: if (s.key not in members) or repeat: available.append((s.ucinetid, (s.key in partnerships, s))) available = sorted(available, key=get_result_priority) av_list = [] for av in available: av_list.append((av[0], get_shared_hours(selector.availability, av[1][1].availability))) # get error message, if any e = self.request.get('error') # check to see if partner selection period has closed selection_closed = len(active_assigns) == 0 template_values = { 'error': e, 'selector': selector, 'selectees': available, 'selection_closed': selection_closed, 'assgn': default_assgn, 'active': active_assigns, 'default_assgn': default_assgn, 'repeat': repeat, 'cross_section': cross_section, 'availability_list': av_list, } template = JINJA_ENV.get_template('/templates/partner_selection.html') self.response.write(template.render(template_values))