Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12225)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12246)
@@ -414,6 +414,6 @@
             dict(name=x, title=y) for x, y in allowed_transitions]
 
-    @action(_('Save'), style='primary')
-    def save(self, **data):
+    @action(_('Apply now'), style='primary')
+    def apply(self, **data):
         form = self.request.form
         if 'transition' in form and form['transition']:
@@ -421,4 +421,6 @@
             wf_info = IWorkflowInfo(self.context)
             wf_info.fireTransition(transition_id)
+            self.flash(_("Transition '%s' executed." % transition_id))
+            self.redirect(self.url(self.context))
         return
 
@@ -943,6 +945,6 @@
             dict(name=x, title=y) for x, y in allowed_transitions]
 
-    @action(_('Save'), style='primary')
-    def save(self, **data):
+    @action(_('Apply now'), style='primary')
+    def apply(self, **data):
         form = self.request.form
         if 'transition' in form and form['transition']:
@@ -951,6 +953,8 @@
             try:
                 wf_info.fireTransition(transition_id)
+                self.flash(_("Transition '%s' executed." % transition_id))
             except InvalidTransitionError, error:
                 self.flash(error, type="warning")
+            self.redirect(self.url(self.context))
         return
 
@@ -1289,6 +1293,6 @@
             dict(name=x, title=y) for x, y in allowed_transitions]
 
-    @action(_('Save'), style='primary')
-    def save(self, **data):
+    @action(_('Apply now'), style='primary')
+    def apply(self, **data):
         form = self.request.form
         if 'transition' in form and form['transition']:
@@ -1297,6 +1301,8 @@
             try:
                 wf_info.fireTransition(transition_id)
+                self.flash(_("Transition '%s' executed." % transition_id))
             except InvalidTransitionError, error:
                 self.flash(error, type="warning")
+            self.redirect(self.url(self.context))
         return
 
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py	(revision 12225)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py	(revision 12246)
@@ -313,5 +313,5 @@
         # Managers can trigger transitions
         self.browser.getControl(name="transition").value = ['start']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         # Managers can edit base
         self.browser.open(self.customer_path)
@@ -376,15 +376,20 @@
         self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['start']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['request']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['reject']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['request']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['approve']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.open(self.trigtrans_path)
         self.browser.getControl(name="transition").value = ['reset1']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         return
 
@@ -843,8 +848,9 @@
         self.browser.getLink("Transition").click()
         self.browser.getControl(name="transition").value = ['submit']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.getLink("Transition").click()
         # Document can only be verified if files have been uploaded before
         self.browser.getControl(name="transition").value = ['verify']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         self.assertTrue('No file uploaded' in self.browser.contents)
         self.assertEqual(document.state, 'submitted')
@@ -1031,5 +1037,5 @@
         self.browser.open(self.documents_path + '/d101/trigtrans')
         self.browser.getControl(name="transition").value = ['verify']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         self.assertEqual(
             getattr(self.document, 'sample_md5', None),
@@ -1163,7 +1169,8 @@
         self.browser.getLink("Transition").click()
         self.browser.getControl(name="transition").value = ['submit']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
+        self.browser.getLink("Transition").click()
         self.browser.getControl(name="transition").value = ['approve']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         self.assertEqual(contract.state, 'approved')
 
@@ -1326,11 +1333,12 @@
         self.browser.open(self.contracts_path + '/c101/trigtrans')
         self.browser.getControl(name="transition").value = ['approve']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         # InvalidTransitionError is catched
         self.assertTrue(
             '<div class="alert alert-warning">Attached documents must be verified first.</div>'
             in self.browser.contents)
+        self.browser.open(self.contracts_path + '/c101/trigtrans')
         IWorkflowState(self.document).setState('verified')
         self.browser.getControl(name="transition").value = ['approve']
-        self.browser.getControl("Save").click()
+        self.browser.getControl("Apply now").click()
         self.assertEqual(IWorkflowState(self.contract).getState(), 'approved')
