Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8736)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8737)
@@ -62,5 +62,21 @@
 from waeup.kofa.browser.resources import toggleall
 from waeup.kofa.hostels.hostel import NOT_OCCUPIED
-from waeup.kofa.utils.helpers import get_current_principal, to_timezone, msave
+from waeup.kofa.utils.helpers import get_current_principal, to_timezone
+
+# Save function used for save methods in pages
+def msave(view, **data):
+    changed_fields = view.applyData(view.context, **data)
+    # Turn list of lists into single list
+    if changed_fields:
+        changed_fields = reduce(lambda x,y: x+y, changed_fields.values())
+    # Inform catalog if certificate has changed
+    # (applyData does this only for the context)
+    if 'certificate' in changed_fields:
+        notify(grok.ObjectModifiedEvent(view.context.student))
+    fields_string = ' + '.join(changed_fields)
+    view.flash(_('Form has been saved.'))
+    if fields_string:
+        view.context.writeLogMessage(view, 'saved: %s' % fields_string)
+    return
 
 def emit_lock_message(view):
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/container.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/container.py	(revision 8736)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/container.py	(revision 8737)
@@ -39,4 +39,7 @@
     _curr_stud_id = 10 ** 6
 
+    logger_name = 'waeup.kofa.${sitename}.students'
+    logger_filename = 'students.log'
+
     @property
     def unique_student_id(self):
@@ -77,13 +80,3 @@
         return
 
-    logger_name = 'waeup.kofa.${sitename}.students'
-    logger_filename = 'students.log'
-
-    def logger_info(self, ob_class, target, comment=None):
-        """Get the logger's info method.
-        """
-        self.logger.info('%s - %s - %s' % (
-                ob_class, target, comment))
-        return
-
 StudentsContainer = attrs_to_fields(StudentsContainer)
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/student.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 8736)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 8737)
@@ -63,5 +63,7 @@
     def writeLogMessage(self, view, message):
         ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
-        return self.__parent__.logger_info(ob_class,self.__name__,comment=None)
+        self.__parent__.logger.info(
+            '%s - %s - %s' % (ob_class, self.__name__, message))
+        return
 
     @property
Index: /main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py	(revision 8736)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py	(revision 8737)
@@ -86,4 +86,8 @@
         return
 
+    #def writeLogMessage(self, view, message):
+    #    ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
+    #    return self.__parent__.logger_info(ob_class,self.__name__,comment=None)
+
 class CertificateFactory(grok.GlobalUtility):
     """A factory for certificates.
@@ -151,6 +155,6 @@
         studycourse.certificate = None
         notify(grok.ObjectModifiedEvent(student))
-        student.__parent__.logger_info(
-            'ObjectRemovedEvent',student.__name__,'removed: certificate')
+        student.__parent__.logger.info(
+            'ObjectRemovedEvent - %s - removed: certificate' % student.__name__)
     return
 
Index: /main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py	(revision 8736)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py	(revision 8737)
@@ -690,8 +690,4 @@
     if changed_fields:
         changed_fields = reduce(lambda x,y: x+y, changed_fields.values())
-    # Inform catalog if certificate has changed
-    # (applyData does this only for the context)
-    if 'certificate' in changed_fields:
-        notify(grok.ObjectModifiedEvent(view.context.student))
     fields_string = ' + '.join(changed_fields)
     view.flash(_('Form has been saved.'))
