Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/breadcrumbs.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/breadcrumbs.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/breadcrumbs.py	(revision 5988)
@@ -121,7 +121,5 @@
     @property
     def title(self):
-        prefix = self.context.title_prefix
-        prefix = prefix[0].upper() + prefix[1:]
-        return '%s of %s' % (prefix, self.context.title)
+        return self.context.longtitle()
 
 class DepartmentBreadcrumb(FacultyBreadcrumb):
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 5988)
@@ -41,5 +41,4 @@
     IWAeUPXMLImporter, IWAeUPXMLExporter, IBatchProcessor)
 from waeup.sirp.university.catalog import search
-from waeup.sirp.utils.helpers import getName
 from waeup.sirp.widgets.interfaces import ITableProvider
 
@@ -905,7 +904,8 @@
     grok.name('index')
     pnav = 1
+
     @property
     def title(self):
-        return "%s (%s)" % (getName(self.context), self.context.code)
+        return self.context.longtitle()
 
     #def update(self, code=None, edit=None, delete=None):
@@ -995,8 +995,10 @@
     grok.name('index')
     pnav = 1
+    #title = 'xxx'
 
     @property
     def title(self):
-        return "%s (%s)" % (getName(self.context), self.context.code)
+        #import pdb; pdb.set_trace()
+        return self.context.longtitle()
     
     def update(self):
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultycontainerpage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultycontainerpage.pt	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultycontainerpage.pt	(revision 5988)
@@ -15,5 +15,5 @@
     <tr tal:repeat="value context/values">
       <td> <a tal:attributes="href value/__name__"> <span tal:content="value/code">Name</span></a></td>
-      <td tal:content="value/title">Title</td>
+      <td tal:content="value/longtitle">Title</td>
     </tr>
   </tbody>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt	(revision 5988)
@@ -15,5 +15,5 @@
     <tr tal:repeat="value context/values">
       <td> <a tal:attributes="href value/__name__"> <span tal:content="value/code">Name</span></a></td>
-      <td tal:content="value/title">Title</td>
+      <td tal:content="value/longtitle">Title</td>
       <td class="text-right">
       </td>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/tables.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/tables.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/tables.py	(revision 5988)
@@ -6,5 +6,4 @@
 from waeup.sirp.widgets.table import YUITable as Table
 from waeup.sirp.widgets.table import Col
-from waeup.sirp.utils.helpers import getName
 
 class CodeAndTitleTableProvider(grok.Adapter):
@@ -42,5 +41,5 @@
             Col(
                 header='Title', sortable=True,
-                data = tuple([getName(data[x]) for x in data])),
+                data = tuple([data[x] for x in data])),
             )
         self.table = Table(self.title, cols=cols)
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/department.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/department.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/department.py	(revision 5988)
@@ -6,4 +6,5 @@
 from zope.interface import implementedBy
 from waeup.sirp.university.interfaces import IDepartment, IDepartmentAdd
+from waeup.sirp.university.vocabularies import inst_types
 
 class Department(grok.Container):
@@ -40,4 +41,9 @@
         return None
         
+    def longtitle(self):
+        return "%s %s (%s)" % (inst_types.getTerm(self.title_prefix).title, 
+                                                  self.title,
+                                                  self.code)
+        
 
 class DepartmentFactory(grok.GlobalUtility):
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/faculty.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/faculty.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/faculty.py	(revision 5988)
@@ -7,4 +7,5 @@
 from waeup.sirp.university.interfaces import (
     IFaculty, IFacultyAdd, IDepartment)
+from waeup.sirp.university.vocabularies import inst_types    
 
 class Faculty(grok.Container):
@@ -36,13 +37,8 @@
             del self[key]
 
-    #def getName(self, key):
-    #    """Get complete department name.
-    #    """
-    #    if key in self.keys():
-    #        dept = self[key]
-    #        prefix = dept.title_prefix
-    #        prefix = prefix[0].upper() + prefix[1:]
-    #        return '%s of %s' % (prefix, dept.title)
-
+    def longtitle(self):
+        return "%s %s (%s)" % (inst_types.getTerm(self.title_prefix).title, 
+                                                  self.title,
+                                                  self.code)
         
 class FacultyFactory(grok.GlobalUtility):
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/facultycontainer.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/facultycontainer.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/facultycontainer.py	(revision 5988)
@@ -22,11 +22,4 @@
             del self[key]
 
-    #def getName(self, key):
-    #    if key in self.keys():
-    #        fac = self[key]
-    #        prefix = fac.title_prefix
-    #        prefix = prefix[0].upper() + prefix[1:]
-    #        return '%s of %s' % (prefix, fac.title)
-            
 class FacultyContainerFactory(grok.GlobalUtility):
     """A factory for faculty containers.
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 5988)
@@ -9,4 +9,5 @@
                                                 application_category, 
                                                 study_mode,
+                                                inst_types,
                                                 CourseSource)                                   
 
@@ -28,9 +29,15 @@
         )
 
-    title_prefix = schema.TextLine(
+    title_prefix = schema.Choice(
         title = u'Title prefix',
         default = u'faculty',
-        required = True,
-        )
+        vocabulary = inst_types,
+        required = True,
+        )
+        
+    def longtitle():
+        """
+        Returns the long title of a faculty.
+        """        
         
 class IFacultyAdd(IFaculty):
@@ -72,6 +79,7 @@
         )
 
-    title_prefix = schema.TextLine(
+    title_prefix = schema.Choice(
         title = u'Title prefix',
+        vocabulary = inst_types,
         default = u'department',
         required = True,
@@ -80,5 +88,10 @@
     courses = Attribute("A container for courses.")
     certificates = Attribute("A container for certificates.")
-
+    
+    def longtitle():
+        """
+        Returns the long title of a department.
+        """
+        
 class IDepartmentAdd(IDepartment):
     """Representation of a university department.
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/vocabularies.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/vocabularies.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/vocabularies.py	(revision 5988)
@@ -10,4 +10,15 @@
     from zope.app.catalog.interfaces import ICatalog
 from zope.component import getUtility
+
+inst_types = SimpleWAeUPVocabulary(
+             ('Faculty of','faculty'),
+             ('Department of','department'),
+             ('School of','school_of'),
+             ('School for','school_for'),
+             ('Institute of','institute'),
+             ('Office for','office'),
+             ('Centre for','centre'),
+             ('College','college'),
+             )
                                    
 course_levels = SimpleWAeUPVocabulary(
Index: /main/waeup.sirp/trunk/src/waeup/sirp/utils/helpers.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/utils/helpers.py	(revision 5987)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/utils/helpers.py	(revision 5988)
@@ -118,25 +118,4 @@
             pass
     return html_code
-
-def getName(context):
-    """Construct a name out of an object with prefix and title.
-
-    The `context` has to provide `title_prefix` and `title`
-    attributes.
-
-        >>> from waeup.sirp.utils.helpers import getName
-        >>> class FakeObject(object):
-        ...     title_prefix = 'department'
-        ...     title = 'Strange Things'
-        >>> getName(FakeObject())
-        'Department of Strange Things'
-
-    As we can see in the result the `title_prefix` is rendered
-    uppercase.
-        
-    """
-    prefix = context.title_prefix
-    prefix = prefix[0].upper() + prefix[1:]
-    return '%s of %s' % (prefix, context.title)
 
 class FactoryBase(grok.GlobalUtility):
