def index(self, page=1, *args, **kwargs): '''Assignment detail page''' values = [] if request.user: c.table = SubmissionTable(DBSession) values = SubmissionTableFiller(DBSession).get_value( assignment_id=self.assignment.id, user_id=request.user.id, ) teams = set() for lesson in self.assignment.sheet.event.lessons: teams |= set(lesson.teams) teams &= set(request.user.teams) teammates = set() for team in teams: teammates |= set(team.members) teammates.discard(request.user) for teammate in teammates: values.extend(SubmissionTableFiller(DBSession).get_value( assignment_id=self.assignment.id, user_id=teammate.id, )) lexer_name = self.assignment.allowed_languages[0].lexer_name \ if len(self.assignment.allowed_languages) == 1 else '' c.pygmentize = Pygmentize(lexer_name=lexer_name) return dict(page='assignments', event=self.event, assignment=self.assignment, values=values)
def index(self, page=1): '''Submission listing page''' #TODO: Ugly and stolen from controllers.user c.table = SubmissionTable(DBSession) teammates = set() for team in request.user.teams: teammates |= set(team.students) teammates.discard(request.user) values = SubmissionTableFiller(DBSession).get_value(user_id=request.user.id) for teammate in teammates: values.extend(SubmissionTableFiller(DBSession).get_value(user_id=teammate.id)) return dict(page='submissions', view=None, user=request.user, values=values)
def index(self): #TODO: Ugly. memberships = defaultdict(list) if request.user: memberships['teams'] = request.user.teams memberships['lessons'] = request.user._lessons memberships['tutored_lessons'] = request.user.tutored_lessons #memberships['events'] = request.user.events c.table = SubmissionTable(DBSession) # events = set((event for event in memberships['events'])) # events |= set((lesson.event for lesson in memberships['lessons'])) # events |= set((team.lesson.event for team in memberships['teams'])) # # for event in events: # for sheet in event.sheets: # for assignment in sheet.assignments: # pass teammates = set() for team in memberships['teams']: teammates |= set(team.students) teammates.discard(request.user) values = SubmissionTableFiller(DBSession).get_value( user_id=request.user.id) for teammate in teammates: values.extend( SubmissionTableFiller(DBSession).get_value( user_id=teammate.id)) return dict(page='user', user=request.user, values=values, memberships=memberships)
def index(self, page=1, *args, **kwargs): '''Assignment detail page''' values = [] if request.user: c.table = SubmissionTable(DBSession) values = SubmissionTableFiller(DBSession).get_value( assignment_id=self.assignment.id, user_id=request.user.id, ) teams = set() for lesson in self.assignment.sheet.event.lessons: teams |= set(lesson.teams) teams &= set(request.user.teams) teammates = set() for team in teams: teammates |= set(team.members) teammates.discard(request.user) for teammate in teammates: values.extend( SubmissionTableFiller(DBSession).get_value( assignment_id=self.assignment.id, user_id=teammate.id, )) lexer_name = self.assignment.allowed_languages[0].lexer_name \ if len(self.assignment.allowed_languages) == 1 else '' c.pygmentize = Pygmentize(lexer_name=lexer_name) return dict(page='assignments', event=self.event, assignment=self.assignment, values=values)