Index: main/waeup.kofa/trunk/CHANGES.txt
===================================================================
--- main/waeup.kofa/trunk/CHANGES.txt	(revision 14578)
+++ main/waeup.kofa/trunk/CHANGES.txt	(revision 14582)
@@ -4,4 +4,6 @@
 1.5.1.dev0 (unreleased)
 =======================
+
+* Simplify configuration of maximum credits.
 
 * Add `outstanding` attribute to course tickets.
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 14578)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 14582)
@@ -148,7 +148,5 @@
     max_credits = students_utils.maxCreditsExceeded(view.context, course)
     if max_credits:
-        view.flash(_(
-            'Total credits exceed ${a}.',
-            mapping = {'a': max_credits}), type="warning")
+        view.flash(_('Total credits exceeded.'), type="warning")
         return False
     try:
@@ -2734,8 +2732,7 @@
             return
         students_utils = getUtility(IStudentsUtils)
-        max_credits = students_utils.maxCredits(self.context)
-        if max_credits and self.context.total_credits > max_credits:
-            self.flash(_('Maximum credits of ${a} exceeded.',
-                mapping = {'a':max_credits}), type="warning")
+        max_credits = students_utils.maxCreditsExceeded(self.context)
+        if max_credits:
+            self.flash(_('Maximum credits exceeded.'), type="warning")
             return
         msg = self.context.course_registration_forbidden
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 14578)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 14582)
@@ -824,5 +824,5 @@
         self.browser.getControl("Add course ticket").click()
         self.assertMatches(
-            '...Total credits exceed 50...', self.browser.contents)
+            '...Total credits exceeded...', self.browser.contents)
         self.course.credits = 10
         self.browser.getControl("Add course ticket").click()
@@ -2510,5 +2510,5 @@
         self.browser.getControl("Add course ticket").click()
         self.assertMatches(
-            '...Total credits exceed 50...', self.browser.contents)
+            '...Total credits exceeded...', self.browser.contents)
         self.course.credits = 10
         self.browser.getControl("Add course ticket").click()
@@ -2536,5 +2536,5 @@
         self.student['studycourse']['200']['COURSE1'].credits = 60
         self.browser.getControl("Register course list").click()
-        self.assertTrue('Maximum credits of 50 exceeded' in self.browser.contents)
+        self.assertTrue('Maximum credits exceeded' in self.browser.contents)
         # Student can now remove the ticket
         ctrl = self.browser.getControl(name='val_id')
@@ -2605,5 +2605,5 @@
         # Carryover COURSE1 in level 200 already has 10 credits
         self.assertMatches(
-            '...Total credits exceed 50...', self.browser.contents)
+            '...Total credits exceeded...', self.browser.contents)
         # If COURSE1 is outstanding, its credits won't be considered
         self.student['studycourse']['200']['COURSE1'].outstanding = True
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 14578)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 14582)
@@ -1008,18 +1008,12 @@
         return pdf_stream
 
-    def maxCredits(self, studylevel):
-        """Return maximum credits.
-        At some universities maximum credits is not constant, it
-        depends on the student's study level. Set `maxCredits` None or 0
-        in order to deactivate the limitation.
-        """
-        return 50
-
-    def maxCreditsExceeded(self, studylevel, course):
-        max_credits = self.maxCredits(studylevel)
-        if max_credits and \
-            studylevel.total_credits + course.credits > max_credits:
-            return max_credits
-        return 0
+    def maxCreditsExceeded(self, studylevel, course=None):
+        """Return True if maximum credits is exceeded.
+        """
+        if course and studylevel.total_credits + course.credits > 50:
+            return True
+        elif studylevel.total_credits > 50:
+            return True
+        return False
 
     def getBedCoordinates(self, bedticket):
