From: yomguy Date: Sat, 12 May 2012 14:38:13 +0000 (+0200) Subject: fix user import from XLS X-Git-Tag: 0.4~2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=3d592adcd42813f1e464e0e082725a93f34f40c1;p=teleforma.git fix user import from XLS --- diff --git a/teleforma/management/commands/teleforma-import-users.py b/teleforma/management/commands/teleforma-import-users.py index 3be53fe1..d2f1bbdf 100644 --- a/teleforma/management/commands/teleforma-import-users.py +++ b/teleforma/management/commands/teleforma-import-users.py @@ -17,6 +17,15 @@ class Command(BaseCommand): first_row = 2 admin_email = 'webmaster@parisson.com' + def get_first_course(self, code): + courses = Course.objects.filter(code=code) + if courses: + return [courses[0]] + else: + course = Course(code=code) + course.save() + return [course] + def import_user(self, row): last_name = row[0].value first_name = row[1].value @@ -40,14 +49,17 @@ class Command(BaseCommand): student = Student.objects.filter(user=user) if not student: student = Student(user=user) - student.iej, c = IEJ.objects.get_or_create(name=row[2].value) - student.training, c = Training.objects.get_or_create(code=row[3].value) - student.procedure, c = Procedure.objects.get_or_create(code=row[4].value) - student.written_speciality, c = Speciality.objects.get_or_create(code=row[5].value) - student.oral_speciality, c = Speciality.objects.get_or_create(code=row[6].value) - student.oral_1, c = Oral.objects.get_or_create(code=row[7].value) - student.oral_2, c = Oral.objects.get_or_create(code=row[8].value) - student.category, c = Category.objects.get_or_create(name='Estivale') + student.period, c = Period.objects.get_or_create(name='Estivale') + student.iej, c = IEJ.objects.get_or_create(name=row[2].value) + student.training, c = Training.objects.get_or_create(code=row[3].value) + student.save() + + student.procedure = self.get_first_course(row[4].value) + student.written_speciality = self.get_first_course(row[5].value) + student.oral_speciality = self.get_first_course(row[6].value) + student.oral_1 = self.get_first_course(row[7].value) + student.oral_2 = self.get_first_course(row[8].value) + profile, created = Profile.objects.get_or_create(user=user) profile.address = row[10].value profile.postal_code = int(row[11].value)