]> git.parisson.com Git - teleforma.git/commitdiff
fix prof metadata
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 11 Jul 2013 10:46:03 +0000 (12:46 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 11 Jul 2013 10:46:03 +0000 (12:46 +0200)
teleforma/models/core.py
teleforma/views/core.py

index 3e109f184e7305b1ff601cf93562285f77726bcb..ae2f2c60d8cb05a809d3c5dd9403350bfdfb42a6 100644 (file)
@@ -186,6 +186,7 @@ class Professor(Model):
         data = {'username': self.user.username,
                 'first_name': self.user.first_name,
                 'last_name': self.user.last_name,
+                'email' : self.user.email,
                 'courses': [course.code for course in self.courses.all()],
                  }
         return data
index c05c133d490bbe83a692d87419056e63a9a5138a..1abf569d23b567edc05b2c79bf4494f071e4a8cd 100644 (file)
@@ -598,20 +598,22 @@ class ProfessorListView(View):
             url = 'http://' + host + '/json/'
         else:
             url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/'
-
         s = ServiceProxy(url)
+
         remote_list = s.teleforma.get_professor_list()
         for professor_dict in remote_list['result']:
-            user, c = User.objects.get_or_create(username=professor_dict['username'],
-                                       first_name=professor_dict['first_name'],
-                                       last_name=professor_dict['last_name'])
-            if c:
-                professor = Professor.objects.get_or_create(user=user)
-                for course_code in professor_dict['courses']:
-                    course = Course.objects.filter(code=course_code)
-                    if course:
-                        professor.courses.add(course)
-                professor.save()
+            user, c = User.objects.get_or_create(username=professor_dict['username'])
+            user.first_name = professor_dict['first_name']
+            user.last_name = professor_dict['last_name']
+            user.email = professor_dict['email']
+            user.save()
+
+            professor, c = Professor.objects.get_or_create(user=user)
+            for course_code in professor_dict['courses']:
+                course = Course.objects.filter(code=course_code)
+                if course and not course in professor.courses.all():
+                    professor.courses.add(course[0])
+            professor.save()
 
 
 class HelpView(TemplateView):