Index: WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 1719)
+++ WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 1724)
@@ -13,4 +13,12 @@
 """
 request = context.REQUEST
+def cmp_id(a,b):
+    s1 = "%(id)s" % a
+    s2 = "%(id)s" % b
+    if s1 == s2:
+        return 0
+    if s1 > s2:
+        return 1
+    return -1
 
 wf = context.portal_workflow
@@ -32,4 +40,5 @@
     row['is_editable'] = mtool.checkPermission('Modify portal content', fo)
     items.append(row)
+items.sort(cmp_id)
 info['items'] = items
 return info
Index: WAeUP_SRP/trunk/skins/waeup_default/id_rename.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/id_rename.py	(revision 1719)
+++ WAeUP_SRP/trunk/skins/waeup_default/id_rename.py	(revision 1724)
@@ -6,4 +6,13 @@
 Used within the folder_contents template.
 """
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+import logging
+logger = logging.getLogger('Skins.id_rename')
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
 
 REQUEST = context.REQUEST
@@ -14,4 +23,5 @@
                                 % ('Courses cannot be renamed',)))
 
+old_ids = REQUEST['ids']
 new_ids = REQUEST['new_ids']
 new_ids = [id.upper() for id in REQUEST['new_ids']]
@@ -20,7 +30,40 @@
 if context.portal_type == "University":
     here = context.academics
-
+pt = context.portal_type
+mt = context.meta_type
+logger.info('%s starting renaming %s to %s' % (member,old_ids,new_ids))
 
 here.manage_renameObjects(REQUEST['ids'], new_ids, REQUEST)
+if pt == 'University':
+    for faculty in old_ids:
+        students = context.students_catalog(faculty=faculty)
+        student_ids = [s.id for s in students]
+        data = {}
+        new_fid = new_ids[old_ids.index(faculty)]
+        data['faculty'] = new_fid 
+        for sid in student_ids:
+            data['id'] = sid
+            context.students_catalog.modifyRecord(**data)
+        courses = context.courses_catalog(faculty=faculty)
+        courses_ids = [c.code for c in courses]
+        for cid in courses_ids:
+            data['code'] = cid
+            context.courses_catalogModify(**data)
+elif pt == 'Faculty':
+    for department in old_ids:
+        students = context.students_catalog(department=department)
+        student_ids = [s.id for s in students]
+        data = {}
+        new_did = new_ids[old_ids.index(department)]
+        data['department'] = new_did
+        for sid in student_ids:
+            data['id'] = sid
+            context.students_catalog.modifyRecord(**data)
+        courses = context.courses_catalog(department=department)
+        courses_ids = [c.code for c in courses]
+        for cid in courses_ids:
+            data['code'] = cid
+            context.courses_catalogModify(**data)
+logger.info('%s finished renaming %s to %s' % (member,old_ids,new_ids))
 
 return REQUEST.RESPONSE.redirect(here.absolute_url() + \
Index: WAeUP_SRP/trunk/skins/waeup_default/id_rename_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/id_rename_form.pt	(revision 1719)
+++ WAeUP_SRP/trunk/skins/waeup_default/id_rename_form.pt	(revision 1724)
@@ -46,5 +46,5 @@
 </div><!-- tal:condition="here/folder_rename_items" -->
 
-<div tal:condition="not: here/folder_rename_items">
+<div tal:condition="not: here/academics_rename_items">
 
   <p i18n:translate="help_no_items_to_rename">
Index: WAeUP_SRP/trunk/skins/waeup_default/waeup_document_create_do.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/waeup_document_create_do.py	(revision 1719)
+++ WAeUP_SRP/trunk/skins/waeup_default/waeup_document_create_do.py	(revision 1724)
@@ -34,5 +34,5 @@
 if new_id is not None:
     id = new_id
-if type_name == "Course": # disable if  handled by event
+if type_name == "xxxCourse": # disabled handled by event
     d = {}
     ptl = request.get('PATH_TRANSLATED').split('/')
Index: WAeUP_SRP/trunk/skins/waeup_default/waeup_edit.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/waeup_edit.py	(revision 1719)
+++ WAeUP_SRP/trunk/skins/waeup_default/waeup_edit.py	(revision 1724)
@@ -102,5 +102,5 @@
                                              )
         logger.info('%s edited %s of %s' % (member,context.id,student_id))
-    elif context.portal_type == "Course": # disable if handled by events
+    elif context.portal_type == "xxxxCourse": # disabled handled by events
         dd = {}
         dd.update(ds) # ds is not a real dictionary
