Index: /main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py	(revision 7841)
@@ -83,9 +83,9 @@
 
     def getValues(self):
-        subjects_dict = getUtility(IKofaUtils).getExamSubjectsDict()
+        subjects_dict = getUtility(IKofaUtils).EXAM_SUBJECTS_DICT
         return sorted(subjects_dict.keys())
 
     def getTitle(self, value):
-        subjects_dict = getUtility(IKofaUtils).getExamSubjectsDict()
+        subjects_dict = getUtility(IKofaUtils).EXAM_SUBJECTS_DICT
         return "%s:" % subjects_dict[value]
 
@@ -93,9 +93,9 @@
 
     def getValues(self):
-        grades_dict = getUtility(IKofaUtils).getExamGradesDict()
+        grades_dict = getUtility(IKofaUtils).EXAM_GRADES_DICT
         return sorted(grades_dict.keys())
 
     def getTitle(self, value):
-        grades_dict = getUtility(IKofaUtils).getExamGradesDict()
+        grades_dict = getUtility(IKofaUtils).EXAM_GRADES_DICT
         return grades_dict[value]
 
@@ -189,7 +189,12 @@
     """
 
-    def storage():
-        """Return the initial storage path of the data center.
-        """
+    PORTAL_LANGUAGE = Attribute("Dict of global language setting")
+    PREFERRED_LANGUAGES_DICT = Attribute("Dict of preferred languages")
+    EXAM_SUBJECTS_DICT = Attribute("Dict of examination subjects")
+    EXAM_GRADES_DICT = Attribute("Dict of examination grades")
+    INST_TYPES_DICT = Attribute("Dict if institution types")
+    STUDY_MODES_DICT = Attribute("Dict of study modes")
+    APP_CATS_DICT = Attribute("Dict of application categories")
+    SEMESTER_DICT = Attribute("Dict of semesters or trimesters")
 
     def sendContactForm(
@@ -214,8 +219,4 @@
     def genPassword(length, chars):
         """Generate a random password.
-        """
-
-    def getVerdictsDict():
-        """Provide a dict of verdicts.
         """
 
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 7841)
@@ -552,5 +552,5 @@
     def current_mode(self):
         if self.context.certificate is not None:
-            studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
+            studymodes_dict = getUtility(IKofaUtils).STUDY_MODES_DICT
             return studymodes_dict[self.context.certificate.study_mode]
         return
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 7841)
@@ -40,5 +40,5 @@
     """
     def getValues(self, context):
-        verdicts_dict = getUtility(IStudentsUtils).getVerdictsDict()
+        verdicts_dict = getUtility(IStudentsUtils).VERDICTS_DICT
         return verdicts_dict.keys()
 
@@ -47,5 +47,5 @@
 
     def getTitle(self, context, value):
-        verdicts_dict = getUtility(IStudentsUtils).getVerdictsDict()
+        verdicts_dict = getUtility(IStudentsUtils).VERDICTS_DICT
         return verdicts_dict[value]
 
@@ -55,4 +55,12 @@
 
     """
+    def setReturningData(student):
+        """ This method defines what happens after school fee payment
+        depending on the student's senate verdict.
+
+        In the base configuration current level is always increased
+        by 100 no matter which verdict has been assigned.
+        """
+
     def getPaymentDetails(category, student):
         """Get the payment dates of a student for the payment category
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 7841)
@@ -177,4 +177,10 @@
 
     def setReturningData(self, student):
+        """ This method defines what happens after school fee payment
+        depending on the student's senate verdict.
+
+        In the base configuration current level is always increased
+        by 100 no matter which verdict has been assigned.
+        """
         student['studycourse'].current_level += 100
         student['studycourse'].current_session += 1
@@ -185,4 +191,7 @@
 
     def getPaymentDetails(self, category, student):
+        """Get the payment dates of a student for the payment category
+        specified.
+        """
         d = {}
         d['p_item'] = u''
@@ -211,4 +220,6 @@
 
     def getAccommodationDetails(self, student):
+        """Determine the accommodation dates of a student.
+        """
         d = {}
         d['error'] = u''
@@ -238,11 +249,16 @@
         return d
 
-    # In the standard configuration we select the first bed found,
-    # but can also randomize the selection if we like.
     def selectBed(self, available_beds):
+        """Select a bed from a list of available beds.
+
+        In the base configuration we select the first bed found,
+        but can also randomize the selection if we like.
+        """
         return available_beds[0]
 
     def renderPDF(self, view, filename='slip.pdf',
         student=None, studentview=None, tableheader=None, tabledata=None):
+        """Render pdf slips for various pages.
+        """
         # (0,0),(-1,-1) = whole table
         # (0,0),(0,-1) = first column
@@ -361,34 +377,31 @@
         return pdf.getpdfdata()
 
-    def getVerdictsDict(self):
-        """Provide a dictionary of verdicts.
-        """
-        return {
-            '0': 'not yet',
-            'A': 'Successful student',
-            'B': 'Student with carryover courses',
-            'C': 'Student on probation',
-            'D': 'Withdrawn from the faculty',
-            'E': 'Student who were previously on probation',
-            'F': 'Medical case',
-            'G': 'Absent from examination',
-            'H': 'Withheld results',
-            'I': 'Expelled/rusticated/suspended student',
-            'J': 'Temporary withdrawn from the university',
-            'K': 'Unregistered student',
-            'L': 'Referred student',
-            'M': 'Reinstatement',
-            'N': 'Student on transfer',
-            'O': 'NCE-III repeater',
-            'Y': 'No previous verdict',
-            'X': 'New 300 level student',
-            'Z': 'Successful student (provisional)',
-            'A1': 'First Class',
-            'A2': 'Second Class Upper',
-            'A3': 'Second Class Lower',
-            'A4': 'Third Class',
-            'A5': 'Pass',
-            'A6': 'Distinction',
-            'A7': 'Credit',
-            'A8': 'Merit',
-            }
+    VERDICTS_DICT = {
+        '0': 'not yet',
+        'A': 'Successful student',
+        'B': 'Student with carryover courses',
+        'C': 'Student on probation',
+        'D': 'Withdrawn from the faculty',
+        'E': 'Student who were previously on probation',
+        'F': 'Medical case',
+        'G': 'Absent from examination',
+        'H': 'Withheld results',
+        'I': 'Expelled/rusticated/suspended student',
+        'J': 'Temporary withdrawn from the university',
+        'K': 'Unregistered student',
+        'L': 'Referred student',
+        'M': 'Reinstatement',
+        'N': 'Student on transfer',
+        'O': 'NCE-III repeater',
+        'Y': 'No previous verdict',
+        'X': 'New 300 level student',
+        'Z': 'Successful student (provisional)',
+        'A1': 'First Class',
+        'A2': 'Second Class Upper',
+        'A3': 'Second Class Lower',
+        'A4': 'Third Class',
+        'A5': 'Pass',
+        'A6': 'Distinction',
+        'A7': 'Credit',
+        'A8': 'Merit',
+        }
Index: /main/waeup.kofa/trunk/src/waeup/kofa/university/department.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/university/department.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/university/department.py	(revision 7841)
@@ -73,5 +73,5 @@
 
     def longtitle(self):
-        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).INST_TYPES_DICT
         return "%s %s (%s)" % (
             insttypes_dict[self.title_prefix],
Index: /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 7841)
@@ -61,5 +61,5 @@
 
     def longtitle(self):
-        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).INST_TYPES_DICT
         result = "%s %s (%s)" % (
             insttypes_dict[self.title_prefix],
Index: /main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py	(revision 7841)
@@ -46,5 +46,5 @@
             # see sources below
             from waeup.kofa.interfaces import IKofaUtils
-            return getUtility(IKofaUtils).getSemesterDict().keys()
+            return getUtility(IKofaUtils).SEMESTER_DICT.keys()
         except:
             return [9]
@@ -56,5 +56,5 @@
         try:
             from waeup.kofa.interfaces import IKofaUtils
-            semesters_dict = getUtility(IKofaUtils).getSemesterDict()
+            semesters_dict = getUtility(IKofaUtils).SEMESTER_DICT
             return semesters_dict[value]
         except:
@@ -66,5 +66,5 @@
     """
     def getValues(self, context):
-        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).INST_TYPES_DICT
         return sorted(insttypes_dict.keys())
 
@@ -73,5 +73,5 @@
 
     def getTitle(self, context, value):
-        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).INST_TYPES_DICT
         return insttypes_dict[value]
 
@@ -81,5 +81,5 @@
     """
     def getValues(self, context):
-        appcats_dict = getUtility(IKofaUtils).getAppCatDict()
+        appcats_dict = getUtility(IKofaUtils).APP_CATS_DICT
         return sorted(appcats_dict.keys())
 
@@ -88,5 +88,5 @@
 
     def getTitle(self, context, value):
-        appcats_dict = getUtility(IKofaUtils).getAppCatDict()
+        appcats_dict = getUtility(IKofaUtils).APP_CATS_DICT
         return appcats_dict[value]
 
@@ -96,5 +96,5 @@
     """
     def getValues(self, context):
-        studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
+        studymodes_dict = getUtility(IKofaUtils).STUDY_MODES_DICT
         return sorted(studymodes_dict.keys())
 
@@ -103,5 +103,5 @@
 
     def getTitle(self, context, value):
-        studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
+        studymodes_dict = getUtility(IKofaUtils).STUDY_MODES_DICT
         return studymodes_dict[value]
 
Index: /main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py	(revision 7840)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py	(revision 7841)
@@ -57,115 +57,106 @@
         }
 
-    def getExamSubjectsDict(self):
-        """Provide a dictionary of exam subjects.
-        """
-        return {
-            'accounts': 'Accounts',
-            'add_general_science': 'Add General Science',
-            'add_maths': 'Add Maths',
-            'agricultural_science': 'Agricultural Science',
-            'applied_electricity': 'Applied Electricity',
-            'arabi': 'Arabic',
-            'arithmetics': 'Arithmetics',
-            'art': 'Art',
-            'auto_mechanics': 'Auto Mechanics',
-            'basic_electricity': 'Basic Electricity',
-            'bible_knowledge': 'Bible Knowledge',
-            'biology': 'Biology',
-            'biology_alt_syl': 'Biology (Alt.Syl)',
-            'book_keeping': 'Book Keeping',
-            'building_construction': 'Building Construction',
-            'business_management': 'Business Management',
-            'business_construction_management': 'Business/Construction Management (Adv)',
-            'chemistry': 'Chemistry',
-            'chemistry_alt_syl': 'Chemistry (Alt.Syl)',
-            'christian_religious_studies': 'Christian Religious Studies',
-            'clerical_office_duties': 'Clerical Office Duties',
-            'clothing_and_textiles': 'Clothing and Textiles',
-            'commerce': 'Commerce',
-            'economics': 'Economics',
-            'education': 'Education',
-            'efik': 'Efik',
-            'electronics': 'Electronics',
-            'elementary_surveying': 'Elementary Surveying',
-            'english_language': 'English Language',
-            'engineering_science': 'Engineering Science',
-            'financial_accounting': 'Financial Accounting',
-            'food_and_nutrition': 'Food and Nutrition',
-            'french': 'French',
-            'further_mathematics': 'Further Mathematics',
-            'general_science': 'General Science',
-            'geography': 'Geography',
-            'german': 'German',
-            'government': 'Government',
-            'hausa': 'Hausa',
-            'hausa_literature': 'Hausa Literature',
-            'health_science': 'Health Science',
-            'history': 'History',
-            'home_management': 'Home Management',
-            'industrial_electrical_installation': 'Industrial Elect Installation (Adv)',
-            'intergrated_science': 'Intergrated Science',
-            'islamic_studies': 'Islamic Studies',
-            'literature_in_english': 'Literature in English',
-            'literature_in_nigerian_languages': 'Literature in Nigerian Languages',
-            'igbo': 'Igbo',
-            'igbo_literature': 'Igbo Literature',
-            'yoruba': 'Yoruba',
-            'yoruba_literature': 'Yoruba Literature',
-            'management_in_living': 'Management in Living',
-            'mathematics': 'Mathematics',
-            'metalwork': 'Metalwork',
-            'music': 'Music',
-            'nigerian_language': 'Nigerian Language',
-            'office_practice': 'Office Practice',
-            'physical_education': 'Physical Education',
-            'physical_health_education': 'Physical and Health Education',
-            'physics': 'Physics',
-            'physics_alt_syl': 'Physics (Alt.Syl)',
-            'principles_of_cost_accounting': 'Principles of Cost Accounting',
-            'rural_science': 'Rural Science',
-            'science': 'Science',
-            'secretarial_duties': 'Secretarial Duties',
-            'shorthand': 'Shorthand',
-            'sierra_leone_studies': 'Sierra Leone Studies',
-            'sierra_leone_languages': 'Sierra Leone Languages',
-            'social_studies': 'Social Studies',
-            'statistics': 'Statistics',
-            'teaching_practice': 'Teaching Practice',
-            'technical_drawing': 'Technical Drawing',
-            'typewriting': 'Typewriting',
-            'visual_art': 'Visual Art',
-            'woodwork': 'Woodwork',
-            'winding_elect_machines': 'Winding of Elect Machines and Elect Eng Sc'
-            }
-
-    def getExamGradesDict(self):
-        """Provide a dictionary of exam grades.
-        """
-        return {
-            'A1': 'Excellent (A1)',
-            'A2': 'Very Good (A2)',
-            'A3': 'Good (A3)',
-            'B2': 'Very Good (B2)',
-            'B3': 'Good (B3)',
-            'C4': 'Credit (C4)',
-            'C5': 'Credit (C5)',
-            'C6': 'Credit (C6)',
-            'D7': 'Pass (D7)',
-            'E8': 'Pass (E8)',
-            'F9': 'Fail (F9)',
-            'Aa': 'A (a)',
-            'Bb': 'B (b)',
-            'Cc': 'C (c)',
-            'Dd': 'D (d)',
-            'Ee': 'E (e)',
-            'Ff': 'F (f)',
-            'Gg': 'G (g)'
-            }
-
-    def getInstTypeDict(self):
-        """Provide a dictionary of study modes.
-        """
-        return {
+    EXAM_SUBJECTS_DICT = {
+        'accounts': 'Accounts',
+        'add_general_science': 'Add General Science',
+        'add_maths': 'Add Maths',
+        'agricultural_science': 'Agricultural Science',
+        'applied_electricity': 'Applied Electricity',
+        'arabi': 'Arabic',
+        'arithmetics': 'Arithmetics',
+        'art': 'Art',
+        'auto_mechanics': 'Auto Mechanics',
+        'basic_electricity': 'Basic Electricity',
+        'bible_knowledge': 'Bible Knowledge',
+        'biology': 'Biology',
+        'biology_alt_syl': 'Biology (Alt.Syl)',
+        'book_keeping': 'Book Keeping',
+        'building_construction': 'Building Construction',
+        'business_management': 'Business Management',
+        'business_construction_management': 'Business/Construction Management (Adv)',
+        'chemistry': 'Chemistry',
+        'chemistry_alt_syl': 'Chemistry (Alt.Syl)',
+        'christian_religious_studies': 'Christian Religious Studies',
+        'clerical_office_duties': 'Clerical Office Duties',
+        'clothing_and_textiles': 'Clothing and Textiles',
+        'commerce': 'Commerce',
+        'economics': 'Economics',
+        'education': 'Education',
+        'efik': 'Efik',
+        'electronics': 'Electronics',
+        'elementary_surveying': 'Elementary Surveying',
+        'english_language': 'English Language',
+        'engineering_science': 'Engineering Science',
+        'financial_accounting': 'Financial Accounting',
+        'food_and_nutrition': 'Food and Nutrition',
+        'french': 'French',
+        'further_mathematics': 'Further Mathematics',
+        'general_science': 'General Science',
+        'geography': 'Geography',
+        'german': 'German',
+        'government': 'Government',
+        'hausa': 'Hausa',
+        'hausa_literature': 'Hausa Literature',
+        'health_science': 'Health Science',
+        'history': 'History',
+        'home_management': 'Home Management',
+        'industrial_electrical_installation': 'Industrial Elect Installation (Adv)',
+        'intergrated_science': 'Intergrated Science',
+        'islamic_studies': 'Islamic Studies',
+        'literature_in_english': 'Literature in English',
+        'literature_in_nigerian_languages': 'Literature in Nigerian Languages',
+        'igbo': 'Igbo',
+        'igbo_literature': 'Igbo Literature',
+        'yoruba': 'Yoruba',
+        'yoruba_literature': 'Yoruba Literature',
+        'management_in_living': 'Management in Living',
+        'mathematics': 'Mathematics',
+        'metalwork': 'Metalwork',
+        'music': 'Music',
+        'nigerian_language': 'Nigerian Language',
+        'office_practice': 'Office Practice',
+        'physical_education': 'Physical Education',
+        'physical_health_education': 'Physical and Health Education',
+        'physics': 'Physics',
+        'physics_alt_syl': 'Physics (Alt.Syl)',
+        'principles_of_cost_accounting': 'Principles of Cost Accounting',
+        'rural_science': 'Rural Science',
+        'science': 'Science',
+        'secretarial_duties': 'Secretarial Duties',
+        'shorthand': 'Shorthand',
+        'sierra_leone_studies': 'Sierra Leone Studies',
+        'sierra_leone_languages': 'Sierra Leone Languages',
+        'social_studies': 'Social Studies',
+        'statistics': 'Statistics',
+        'teaching_practice': 'Teaching Practice',
+        'technical_drawing': 'Technical Drawing',
+        'typewriting': 'Typewriting',
+        'visual_art': 'Visual Art',
+        'woodwork': 'Woodwork',
+        'winding_elect_machines': 'Winding of Elect Machines and Elect Eng Sc'
+        }
+
+    EXAM_GRADES_DICT = {
+        'A1': 'Excellent (A1)',
+        'A2': 'Very Good (A2)',
+        'A3': 'Good (A3)',
+        'B2': 'Very Good (B2)',
+        'B3': 'Good (B3)',
+        'C4': 'Credit (C4)',
+        'C5': 'Credit (C5)',
+        'C6': 'Credit (C6)',
+        'D7': 'Pass (D7)',
+        'E8': 'Pass (E8)',
+        'F9': 'Fail (F9)',
+        'Aa': 'A (a)',
+        'Bb': 'B (b)',
+        'Cc': 'C (c)',
+        'Dd': 'D (d)',
+        'Ee': 'E (e)',
+        'Ff': 'F (f)',
+        'Gg': 'G (g)'
+        }
+
+    INST_TYPES_DICT = {
         'faculty': 'Faculty of',
         'department': 'Department of',
@@ -177,8 +168,5 @@
         }
 
-    def getStudyModesDict(self):
-        """Provide a dictionary of study modes.
-        """
-        return {
+    STUDY_MODES_DICT = {
         'rmd_ft': 'Remedial with deficiencies',
         'dp_pt': 'Diploma Part Time',
@@ -200,8 +188,5 @@
         }
 
-    def getAppCatDict(self):
-        """Provide a dictionary of study modes.
-        """
-        return {
+    APP_CATS_DICT = {
         'basic': 'PUME, PDE, PCE, PRENCE',
         'no': 'no application',
@@ -211,8 +196,5 @@
         }
 
-    def getSemesterDict(self):
-        """Provide a dictionary of semester or trimester types.
-        """
-        return {
+    SEMESTER_DICT = {
         1: 'First Semester',
         2: 'Second Semester',
