Changeset 2193 for WAeUP_SRP


Ignore:
Timestamp:
11 Sep 2007, 16:48:43 (17 years ago)
Author:
joachim
Message:

added import_department

Location:
WAeUP_SRP/trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/WAeUPTool.py

    r2188 r2193  
    4747import logging
    4848import transaction
    49 import csv,re,os
     49import csv,re,os,sys
    5050from Products.AdvancedQuery import Eq, Between, Le,In
    5151
     
    905905        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
    906906    ###)
    907 
    908 
    909     student_field2types = {   ###(
     907   
     908    security.declareProtected(ModifyPortalContent,'mass_create') ###(
     909    def mass_create_department(self,mapping):
     910        "create a department in the correct faculty"
     911        logger = logging.getLogger('WAeUPTool.mass_create_department')
     912        fid = mapping['faculty_code']
     913        if getattr(self,'_v_faculties',None) is None:
     914            res = self.portal_catalog(portal_type = "Faculty")
     915            self._v_faculties = {}
     916            for f in res:
     917                self._v_faculties[f.getId] = f.getObject()
     918        f = self._v_faculties.get(fid,None)
     919        if f is None:
     920            return '', "No Faculty with ID: %s" % fid
     921        else:
     922            did = mapping.get('code')
     923            d = getattr(f,did,None)
     924            if d is None or d.portal_type == "Faculty":
     925                logger.info('Creating Department %(code)s = %(title)s' % mapping)
     926                f.invokeFactory('Department', did)
     927                d = getattr(f,did)
     928                d.invokeFactory('CoursesFolder','courses')
     929                courses = getattr(d,'courses')
     930                dict = {'Title': 'Courses'}
     931                courses.getContent().edit(mapping=dict)
     932                d.invokeFactory('CertificatesFolder','certificates')
     933                certificates = getattr(d,'certificates')
     934                dict = {'Title': 'Certificates'}
     935                certificates.getContent().edit(mapping=dict)
     936            d.getContent().edit(mapping=mapping)
     937        return did,''
     938    ###)
     939
     940    security.declareProtected(ModifyPortalContent,'mass_edit') ###(
     941    def mass_edit_department(self,mapping):
     942        "create a department in the correct faculty"
     943        logger = logging.getLogger('WAeUPTool.mass_create_department')
     944        academics_folder = self.portal_url.getPortalObject().campus.academics
     945        fid = mapping['faculty_code']
     946        did = mapping.get('code')
     947        try:
     948            d = getattr(getattr(academics_folder,fid),did,None)
     949        except KeyError:
     950            return '', "Department %s or Faculty %s wrong" % (did,fid)
     951        else:
     952            if d is None or d.portal_type == "Faculty":
     953                logger.info('Editing Department %(code)s = %(title)s' % mapping)
     954            d.getContent().edit(mapping=mapping)
     955        return did,''
     956    ###)
     957
     958    field2types_student = {   ###(
    910959                      'StudentApplication':
    911960                          {'id': 'application',
     
    9851034    ###)
    9861035
    987 
    988     security.declareProtected(ModifyPortalContent,'importStudent') ###(
    989     def importStudent(self,mapping):
     1036    security.declareProtected(ModifyPortalContent,'mass_create_student') ###(
     1037    def mass_create_student(self,mapping):
    9901038        "create a students record due import"
    991         logger = logging.getLogger('WAeUPTool.importStudent')
     1039        logger = logging.getLogger('WAeUPTool.mass_create_student')
    9921040        students_folder = self.portal_url.getPortalObject().campus.students
    9931041        jamb_reg_no = mapping.get('jamb_reg_no',None)
     
    10041052        students_folder.invokeFactory('Student', sid)
    10051053        student_obj = getattr(students_folder,sid)
    1006         f2t = self.student_field2types
     1054        f2t = self.field2types_student
    10071055        d = {}
    10081056        d['jamb_sex']  = 'M'
     
    10351083    ###)
    10361084
    1037     security.declareProtected(ModifyPortalContent,'importEditStudent') ###(
    1038     def importEditStudent(self,mapping):
     1085    security.declareProtected(ModifyPortalContent,'mass_edit_student') ###(
     1086    def mass_edit_student(self,mapping):
    10391087        "edit a students record due import"
    1040         logger = logging.getLogger('WAeUPTool.importEditStudent')
     1088        logger = logging.getLogger('WAeUPTool.mass_edit_student')
    10411089        students_folder = self.portal_url.getPortalObject().campus.students
    10421090        sid = mapping.get('id',None)
     
    10721120        sid = res[0].id
    10731121        student_obj = getattr(students_folder,sid)
    1074         f2t = self.student_field2types
     1122        f2t = self.field2types_student
    10751123        d = {}
    10761124        #import pdb;pdb.set_trace()
     
    11301178    ###)
    11311179
    1132 
    11331180    security.declareProtected(ModifyPortalContent,"importData")###(
    11341181    def importData(self,filename,name,edit=False):
     
    11641211        for widget in layout.keys():
    11651212            validators[widget] = layout[widget].validate
     1213        #import pdb;pdb.set_trace()
    11661214        if edit:
    1167             importer_name = "importEdit%s" % name.capitalize()
    1168         else:
    1169             importer_name = "import%s" % name.capitalize()
     1215            importer_name = "mass_edit_%s" % name
     1216        else:
     1217            importer_name = "mass_create_%s" % name
    11701218        importer = getattr(self, '%s' % importer_name,None)
    11711219        if importer is None:
  • WAeUP_SRP/trunk/profiles/default/layouts.xml

    r2168 r2193  
    1111  <object name="certificate_course" meta_type="CPS Layout"/>
    1212  <object name="course" meta_type="CPS Layout"/>
     13  <object name="import_department" meta_type="CPS Layout"/>
    1314  <object name="department" meta_type="CPS Layout"/>
    1415  <object name="faculty" meta_type="CPS Layout"/>
  • WAeUP_SRP/trunk/profiles/default/schemas.xml

    r2094 r2193  
    1111 <object name="certificate_course" meta_type="CPS Schema"/>
    1212 <object name="course" meta_type="CPS Schema"/>
     13 <object name="import_department" meta_type="CPS Schema"/>
    1314 <object name="department" meta_type="CPS Schema"/>
    1415 <object name="faculty" meta_type="CPS Schema"/>
  • WAeUP_SRP/trunk/profiles/default/vocabularies/import_names.xml

    r1756 r2193  
    77 <property name="acl_write_roles">Manager</property>
    88 <item key="student" msgid="">Student Data</item>
     9 <item key="department" msgid="">Department Data</item>
    910</object>
Note: See TracChangeset for help on using the changeset viewer.