Index: main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.py	(revision 6458)
+++ main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.py	(revision 6459)
@@ -139,5 +139,6 @@
             if 'disable' in form:
                 try:
-                    self.context.disable(entry, self.request.principal.id)
+                    comment = u"Disabled by %s" % self.request.principal.id
+                    self.context.disable(entry, comment)
                     self.flash('%s disabled.' % entry)
                 except InvalidTransitionError:
@@ -145,5 +146,6 @@
             elif 'enable' in form:
                 try:
-                    self.context.enable(entry, self.request.principal.id)
+                    comment = u"Re-enabled by %s" % self.request.principal.id
+                    self.context.enable(entry, comment)
                     self.flash('%s (re-)enabled.' % entry)
                 except InvalidTransitionError:
Index: main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/tests/test_accesscodes.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/tests/test_accesscodes.py	(revision 6458)
+++ main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/tests/test_accesscodes.py	(revision 6459)
@@ -192,5 +192,5 @@
         history = IObjectHistory(self.ac1)
         msgs = history.messages
-        assert msgs[-1].endswith(' - Used (new state: used)')
+        assert msgs[-1].endswith('Used by system')
 
 class AccessCodeTests(FunctionalTestCase):
@@ -236,5 +236,5 @@
         # Access codes have a history.
         match = re.match(
-            '^../../.... ..:..:.. - Initialized \(new state: initialized\)',
+            '^../../.... ..:..:.. - Initialized by system',
             self.ac1.history)
         assert match is not None
Index: main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/workflow.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/workflow.py	(revision 6458)
+++ main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/workflow.py	(revision 6459)
@@ -121,8 +121,10 @@
     # append message to history
     timestamp = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
-    msg = '%s - %s (new state: %s)' % (
-        timestamp, event.destination.title(), event.destination)
+    msg = '%s -' % timestamp
     if event.comment is not None:
-        msg = '%s, %s' % (msg, event.comment)
+        msg = '%s %s' % (msg, event.comment)
+    else:
+        msg = '%s %s by system' % (msg,event.destination.title())
+
     history = IObjectHistory(obj)
     history.addMessage(msg)
Index: main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py	(revision 6458)
+++ main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py	(revision 6459)
@@ -425,5 +425,6 @@
 
         # Mark pin as used (this also fires a pin related transition)
-        invalidate_accesscode(pin)
+        comment = u"Invalidated by applicant"
+        invalidate_accesscode(pin, comment)
 
         if not pin in self.context.keys():
@@ -473,5 +474,5 @@
         ac_number = self.request.form.get('form.ac_number', None)
         pin = '%s-%s-%s' % (self.ac_prefix,ac_series,ac_number)
-        if not invalidate_accesscode(pin):
+        if not invalidate_accesscode(pin, comment=u"Invalidated by system"):
             self.flash('%s is not a valid access code.' % pin)
             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
@@ -740,5 +741,8 @@
     grok.name('edit')
     grok.require('waeup.handleApplication')
-    form_fields = grok.AutoFields(IApplicantEdit).omit('locked')
+    form_fields = grok.AutoFields(IApplicantEdit).omit(
+        'locked', 'course_admitted', 'application_date', 'student_id',
+        'screening_score',
+        )
     form_fields['passport'].custom_widget = EncodingImageFileWidget
     form_fields['date_of_birth'].custom_widget = FriendlyDateWidget('le-year')
