Beispiel #1
0
    def create_partnership(students, assign):
        partnership = Partnership(members=map(lambda x: x.key, students),
                                  assignment_number=assign,
                                  active=True,
                                  year=students[0].year,
                                  quarter=students[0].quarter)

        partnership.put()
        return partnership
    def create_partnership(students, assign):
        partnership = Partnership(
            members           = map(lambda x: x.key, students),
            assignment_number = assign,
            active            = True,
            year              = students[0].year,
            quarter           = students[0].quarter
        )

        partnership.put()
        return partnership
 def get_all_partnerships_for_assign(quarter, year, assign_num, active=True):
     return Partnership.query(
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.assignment_number == assign_num,
         Partnership.active == active,
     ).fetch()
Beispiel #4
0
    def get_active_partner_history_for_student(student,
                                               quarter,
                                               year,
                                               fill_gaps=None):
        history = Partnership.query(
            Partnership.members == student.key, Partnership.active == True,
            Partnership.quarter == quarter,
            Partnership.year == year).order(Partnership.assignment_number)

        if type(fill_gaps) is list:
            partners = []
            for i in fill_gaps:
                partnership = history.filter(
                    Partnership.assignment_number == i).get()

                if not partnership:
                    partners.append('No Selection')
                elif len(partnership.members) > 1:
                    #partners.append(', '.join([str(member.get().email for members in partnership.members if member != student.key)]))
                    emails = map(lambda x: str(x.get().email),
                                 partnership.members)
                    partners.append(', '.join(
                        filter(lambda x: x != student.email, emails)))
                else:
                    partners.append('No Partner')
            return partners

        return history
 def get_active_partnerships_involving_students_by_assign(students, assign_num):
     # this method returns all partnerships that involve AT LEAST ONE student in the pair
     return Partnership.query(
         Partnership.members.IN([student.key for student in students]),
         Partnership.assignment_number == assign_num,
         Partnership.active == True
     )
Beispiel #6
0
 def get_active_partnerships_involving_students_by_assign(
         students, assign_num):
     # this method returns all partnerships that involve AT LEAST ONE student in the pair
     return Partnership.query(
         Partnership.members.IN([student.key for student in students]),
         Partnership.assignment_number == assign_num,
         Partnership.active == True)
 def get_solo_partnerships_by_assign(quarter, year, assign_num, active=True):
     return Partnership.query(
         Partnership.quarter == quarter,
         Partnership.year == year,
         Evaluation.assignment_number == assign_num,
         Partnership.solo == True,
         Partnership.active == active
     )
 def get_partnerships_by_student_and_assign(student, quarter, year, assign_num, active=True):
     return Partnership.query(
         Partnership.members == student.key,
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.assignment_number == assign_num,
         Partnership.active == active,
     )
Beispiel #9
0
 def get_partnerships_for_students_by_assign(students, assign):
     # this method returns all partnerships that involve BOTH students in the pair
     constraints = [
         Partnership.active == True, Partnership.assignment_number == assign
     ]
     for student in students:
         constraints += [Partnership.members == student.key]
     return Partnership.query(*constraints).fetch()
 def get_partnerships_for_students_by_assign(students, assign):
     # this method returns all partnerships that involve BOTH students in the pair
     constraints = [
         Partnership.active == True,
         Partnership.assignment_number == assign
     ]
     for student in students:
         constraints += [Partnership.members == student.key]
     return Partnership.query(*constraints).fetch()
Beispiel #11
0
 def get_solo_partnerships_by_assign(quarter,
                                     year,
                                     assign_num,
                                     active=True):
     return Partnership.query(Partnership.quarter == quarter,
                              Partnership.year == year,
                              Evaluation.assignment_number == assign_num,
                              Partnership.solo == True,
                              Partnership.active == active)
Beispiel #12
0
 def get_all_partnerships_for_assign(quarter,
                                     year,
                                     assign_num,
                                     active=True):
     return Partnership.query(
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.assignment_number == assign_num,
         Partnership.active == active,
     ).fetch()
Beispiel #13
0
 def get_partnerships_by_student_and_assign(student,
                                            quarter,
                                            year,
                                            assign_num,
                                            active=True):
     return Partnership.query(
         Partnership.members == student.key,
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.assignment_number == assign_num,
         Partnership.active == active,
     )
    def get_active_partner_history_for_student(student, quarter, year, fill_gaps=None):
        history = Partnership.query(
            Partnership.members == student.key,
            Partnership.active == True,
            Partnership.quarter == quarter,
            Partnership.year == year
        ).order(Partnership.assignment_number)

        if type(fill_gaps) is list:
            partners = []
            for i in fill_gaps:
                partnership = history.filter(Partnership.assignment_number == i).get()

                if not partnership:
                    partners.append('No Selection')
                elif len(partnership.members) > 1:
                    #partners.append(', '.join([str(member.get().email for members in partnership.members if member != student.key)]))
                    emails = map(lambda x: str(x.get().email), partnership.members)
                    partners.append(', '.join(filter(lambda x: x != student.email, emails)))
                else:
                    partners.append('No Partner')
            return partners

        return history
Beispiel #15
0
 def get_all_partner_history_for_student(student, quarter, year):
     return Partnership.query(
         Partnership.members == student.key, Partnership.quarter == quarter,
         Partnership.year == year).order(Partnership.assignment_number)
 def get_all_partnerships(quarter, year, active=True):
     return Partnership.query(
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.active == active,
     )
Beispiel #17
0
 def get_all_partnerships(quarter, year, active=True):
     return Partnership.query(
         Partnership.quarter == quarter,
         Partnership.year == year,
         Partnership.active == active,
     )
Beispiel #18
0
 def get_inactive_partnerships_by_student_and_assign(student, assign_num):
     return Partnership.query(Partnership.members == student.key,
                              Partnership.assignment_number == assign_num,
                              Partnership.active == False)
 def get_inactive_partnerships_by_student_and_assign(student, assign_num):
     return Partnership.query(
         Partnership.members == student.key,
         Partnership.assignment_number == assign_num,
         Partnership.active == False
     )
 def get_all_partner_history_for_student(student, quarter, year):
     return Partnership.query(
         Partnership.members == student.key,
         Partnership.quarter == quarter,
         Partnership.year == year
     ).order(Partnership.assignment_number)
Beispiel #21
0
 def get_partnerships_for_students(students):
     constraints = [Partnership.active == True]
     for student in students:
         constraints += [Partnership.members == student.key]
     return Partnership.query(*constraints).fetch()
 def get_partnerships_for_students(students):
     constraints = [Partnership.active == True]
     for student in students:
         constraints += [Partnership.members == student.key]
     return Partnership.query(*constraints).fetch()