Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7489)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7490)
@@ -615,25 +615,16 @@
 
 Clicking 'Save' we will stay on the settings form. So we can change
-the course again. This time we will return to the overview page
-afterwards:
-
-  >>> browser.getControl(name='form.title').value = "My renamed course"
-  >>> ctrl = browser.getControl("Save and return")
-  >>> ctrl.click()
-
-If we go to the settings page and click ``Cancel`` nothing will be
+the course again. If we click ``Cancel`` nothing will be
 changed:
 
-  >>> browser.getLink('Edit course').click()
   >>> browser.getControl(name='form.title').value = "Blah"
   >>> browser.getControl('Cancel').click()
 
-Our course was indeed renamed to ``My renamed course`` and not to
-``Blah``:
+Our course was not renamed to ``Blah``:
 
   >>> browser.open('http://localhost/myuniversity/faculties/TF/TD')
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
-  ...<td>My renamed course</td>...
+  ...<td>My test course</td>...
   ...
 
@@ -642,5 +633,5 @@
 
   >>> browser.open('http://localhost/myuniversity/faculties/search')
-  >>> browser.getControl(name='query').value = "My renamed course"
+  >>> browser.getControl(name='query').value = "My test course"
   >>> browser.getControl('Search').click()
   >>> print browser.contents
@@ -676,5 +667,5 @@
   >>> browser.open(
   ...     'http://localhost/myuniversity/faculties/TF/TD/@@manage#tab-2')
-  >>> 'My renamed course' in browser.contents
+  >>> 'My test course' in browser.contents
   True
 
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 7489)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 7490)
@@ -227,8 +227,8 @@
                 username,usertype,self.config.name,
                 data['body'],self.config.email_subject)
+        # Success is always True if sendContactForm didn't fail.
+        # TODO: Catch exceptions.
         if success:
             self.flash('Your message has been sent.')
-        else:
-            self.flash('An smtp server error occurred.')
         return
 
@@ -460,8 +460,8 @@
                 self.request.principal.id,usertype,self.config.name,
                 data['body'],self.config.email_subject)
+        # Success is always True if sendContactForm didn't fail.
+        # TODO: Catch exceptions.
         if success:
             self.flash('Your message has been sent.')
-        else:
-            self.flash('An smtp server error occurred.')
         return
 
@@ -1289,4 +1289,5 @@
     def save(self, **data):
         self.applyData(self.context, **data)
+        self.flash('Form has been saved.')
         return
 
@@ -1468,4 +1469,5 @@
     def save(self, **data):
         self.applyData(self.context, **data)
+        self.flash('Form has been saved.')
         return
 
@@ -1610,11 +1612,12 @@
     def save(self, **data):
         self.applyData(self.context, **data)
-        return
-
-    @action('Save and return')
-    def saveAndReturn(self, **data):
-        self.applyData(self.context, **data)
-        self.redirect(self.url(self.context))
-        return
+        self.flash('Form has been saved.')
+        return
+
+    #@action('Save and return')
+    #def saveAndReturn(self, **data):
+    #    self.applyData(self.context, **data)
+    #    self.redirect(self.url(self.context))
+    #    return
 
     @action('Cancel', validator=NullValidator)
@@ -1683,4 +1686,5 @@
     def save(self, **data):
         self.applyData(self.context, **data)
+        self.flash('Form has been saved.')
         return
 
@@ -1781,5 +1785,5 @@
     pnav = 1
 
-    @action('Save and return')
+    @action('Save and return', style='primary')
     def saveAndReturn(self, **data):
         parent = self.context.__parent__
@@ -1793,4 +1797,5 @@
             parent.addCourseRef(**data)
             parent.delCourseRef(data['course'].code, level=old_level)
+        self.flash('Form has been saved.')
         self.redirect(self.url(parent))
         return
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7489)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7490)
@@ -419,4 +419,9 @@
         datepicker.need() # Enable jQuery datepicker in date fields.
         tabs.need()
+        self.tab1 = self.tab2 = ''
+        qs = self.request.get('QUERY_STRING', '')
+        if not qs:
+            qs = 'tab1'
+        setattr(self, qs, 'active')
         super(StudentBaseManageFormPage, self).update()
         self.wf_info = IWorkflowInfo(self.context)
@@ -564,4 +569,9 @@
         datepicker.need() # Enable jQuery datepicker in date fields.
         tabs.need()
+        self.tab1 = self.tab2 = ''
+        qs = self.request.get('QUERY_STRING', '')
+        if not qs:
+            qs = 'tab1'
+        setattr(self, qs, 'active')
         return super(StudentClearanceManageFormPage, self).update()
 
@@ -714,6 +724,4 @@
         super(StudyCourseManageFormPage, self).update()
         tabs.need()
-        warning.need()
-        datatable.need()
         self.tab1 = self.tab2 = ''
         qs = self.request.get('QUERY_STRING', '')
@@ -721,5 +729,7 @@
             qs = 'tab1'
         setattr(self, qs, 'active')
-        return 
+        warning.need()
+        datatable.need()
+        return
 
     @action('Save', style='primary')
@@ -897,6 +907,4 @@
         super(StudyLevelManageFormPage, self).update()
         tabs.need()
-        warning.need()
-        datatable.need()
         self.tab1 = self.tab2 = ''
         qs = self.request.get('QUERY_STRING', '')
@@ -904,4 +912,6 @@
             qs = 'tab1'
         setattr(self, qs, 'active')
+        warning.need()
+        datatable.need()
         return
 
@@ -2061,5 +2071,4 @@
     def update(self):
         super(StudyLevelEditFormPage, self).update()
-    #    tabs.need()
         datatable.need()
         warning.need()
