Changeset 3179


Ignore:
Timestamp:
18 Feb 2008, 18:09:15 (17 years ago)
Author:
joachim
Message:

fix student import

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/base/WAeUPImport.py

    r3178 r3179  
    227227        if getattr(self,'_v_course_list',None) is None:
    228228            self._v_course_list = []
    229         if getattr(self,'_v_departments',None) is None:
    230             res = self.portal_catalog(portal_type = "Department")
     229        if getattr(self,'_v_department_courses',None) is None:
     230            departments = self.portal_catalog(portal_type = "Department")
    231231            self._v_department_courses = {}
    232             for d in res:
    233                 self._v_department_courses[d.getId] = getattr(d.getObject(),"courses",None)
    234         did = mapping['department_code']
    235         msg = ''
    236         while True:
    237             d = self._v_department_courses.get(did,None)
    238             if d is None:
    239                 msg =  "No Department with ID: %s" % did
    240                 break
    241             course_id = mapping.get('code')
     232            for department in departments:
     233                courses_folder = getattr(department.getObject(),"courses",None)
     234                if courses_folder is not None:
     235                    self._v_department_courses[department.getId] = courses_folder.objectIds()
     236        department_id = mapping['department_code']
     237        course_id = mapping.get('code','')
     238        msg = ''
     239        while True:
     240            department_courses = self._v_department_courses.get(department_id,None)
     241            if department_courses is None:
     242                msg =  "No Department with ID: %(department_id)s" % vars()
     243                break
    242244            if course_id in self._v_course_list:
    243                 msg =  "Duplicate Course ID: %s" % did
    244                 break
    245             c = getattr(d,course_id,None)
    246             if c is not None:
    247                 msg =  "Duplicate Course ID: %s" % did
     245                msg =  "Duplicate Course ID: %(course_id)s" % vars()
     246                break
     247            if course_id in department_courses:
     248                msg =  "Course %(course_id)s already exists in department %(department_id)s" % vars()
    248249                break
    249250            try:
    250                 d.invokeFactory('Course', course_id)
     251                department.invokeFactory('Course', course_id)
    251252            except BadRequest,E:
    252253                msg =  "%s" % E
    253254                break
    254255            self._v_course_list.append(course_id)
    255             c = getattr(d,course_id)
    256             c.getContent().edit(mapping=mapping)
     256            course = getattr(department,course_id)
     257            course.getContent().edit(mapping=mapping)
    257258            break
    258259        return course_id,msg,mapping
     
    260261
    261262    def edit(self,mapping): ###(
    262         course_id = mapping.get('code')
     263        course_id = mapping.get('code','')
    263264        res = self.portal_catalog(id=course_id)
    264265        while True:
     
    644645        jamb_reg_no = mapping.get('jamb_reg_no',None)
    645646        msg = ''
     647        student_id = ''
    646648        while True:
    647649            if jamb_reg_no:
     
    694696            self.portal_workflow.doActionFor(student_obj,transition)
    695697            student_obj.manage_setLocalRoles(student_id, ['Owner',])
     698            mapping['id'] = student_id
    696699            break
    697700        return student_id,msg,mapping
    698701    ###)
    699702
    700     def edit(self,mapping):
     703    def edit(self,mapping): ###(
    701704        wftool = self.portal_workflow
    702705        "edit student records due import"
     
    815818        return student_id,msg,mapping
    816819    ###)
     820###)
    817821
    818822class VerdictImport(WAeUPImport):###(
Note: See TracChangeset for help on using the changeset viewer.