Esempio n. 1
0
def add_skill_acquired_by_student(student, skill_id):
    """
    Each time a student acquires a skill we use this method to add the field in the table SkillStudent

    Keyword arguments:
    student -- the student who acquired the skill
    skill_id -- id of the mastered skill
    status -- status of the mastering level of the skill (unmastered, in progress, mastered)

    """
    new_entry = StudentSkill(student=student, skill=skill_id, acquired=datetime.datetime.now(tz=pytz.utc))
    new_entry.save()
Esempio n. 2
0
 def test_depth_sort_skills_1_prerequisite(self):
     """Check depth_sort_skills for 1 skill with a prerequisite"""
     sorted_list = StudentSkill.__depth_sort_skills__(
         [self.stud_skill_tab[0]], None)
     self.assertEquals(len(sorted_list), 3)
     self.assertTrue(self.stud_skill_tab[1] in sorted_list[1])
     self.assertTrue(self.stud_skill_tab[0] in sorted_list[2])
Esempio n. 3
0
 def test_depth_sort_skills_1(self):
     """Check depth_sort_skills for 1 skill"""
     sorted_list = StudentSkill.__depth_sort_skills__(
         [self.stud_skill_tab[1]], None)
     self.assertEquals(len(sorted_list),
                       2)  #[0] : acquired skills ; [1] : level 1
     self.assertTrue(self.stud_skill_tab[1] in sorted_list[1])
Esempio n. 4
0
def get_depth_sorted_students_skills(context, of_keyword, student, at_keyword,
                                     stage, as_keyword, target_name):
    """ return a list of list of sorted skills """
    set = StudentSkill.objects.filter(skill__in=stage.skills.all(),
                                      student=student)
    remove = set.exclude(is_objective=None)
    context[target_name] = StudentSkill.__depth_sort_skills__(remove, student)
    return ""
Esempio n. 5
0
 def test_depth_sort_skills_lvl2(self):
     """Check depth_sort_skills for 1 skill with 2 levels of prerequisites"""
     relation3 = Relations.objects.create(from_skill=self.skill_tab[1],
                                          to_skill=self.skill_tab[3],
                                          relation_type="depend_on")
     sorted_list = StudentSkill.__depth_sort_skills__(
         [self.stud_skill_tab[0]], None)
     self.assertEquals(len(sorted_list), 4)
     self.assertEquals(len(sorted_list[0]), 0)
     self.assertEquals(len(sorted_list[1]), 1)
     self.assertTrue(self.stud_skill_tab[3] in sorted_list[1])
     self.assertEquals(len(sorted_list[2]), 1)
     self.assertTrue(self.stud_skill_tab[1] in sorted_list[2])
     self.assertEquals(len(sorted_list[3]), 1)
     self.assertTrue(self.stud_skill_tab[0] in sorted_list[3])
Esempio n. 6
0
def reset_counter_line(context):
    StudentSkill.__reset_counter_line__()
    return ""
Esempio n. 7
0
def go_next_line(context, as_keyword, target_name):
    context[target_name] = StudentSkill.__next_line__()
    return ""