Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12166)
@@ -843,10 +843,4 @@
     pnav = 4
 
-    #@property
-    #def label(self):
-    #    return _('${a}: Document ${b}', mapping = {
-    #        'a':self.context.customer.display_fullname,
-    #        'b':self.context.document_id})
-
     @property
     def label(self):
@@ -865,9 +859,9 @@
     deletion_warning = _('Are you sure?')
 
-    #@property
-    #def label(self):
-    #    return _('${a}: Document ${b}', mapping = {
-    #        'a':self.context.customer.display_fullname,
-    #        'b':self.context.document_id})
+    def update(self):
+        if not self.context.is_editable_by_manager:
+            emit_lock_message(self)
+            return
+        return super(DocumentManageFormPage, self).update()
 
     @property
@@ -888,5 +882,5 @@
 
     def update(self):
-        if not self.context.is_editable:
+        if not self.context.is_editable_by_customer:
             emit_lock_message(self)
             return
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/documents.py
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/documents.py	(revision 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/documents.py	(revision 12166)
@@ -90,5 +90,5 @@
 
     @property
-    def is_editable(self):
+    def is_editable_by_customer(self):
         try:
             # Customer must be approved
@@ -105,4 +105,16 @@
 
     @property
+    def is_editable_by_manager(self):
+        try:
+            # Document must be in state created
+            cond = self.state in getUtility(
+                ICustomersUtils).DOCMANAGE_DOCUMENT_STATES
+            if not cond:
+                return False
+        except AttributeError:
+            pass
+        return True
+
+    @property
     def translated_class_name(self):
         try:
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/export.py
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/export.py	(revision 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/export.py	(revision 12166)
@@ -157,5 +157,6 @@
             ICustomerDocument,
             exclude_attribs=False,
-            omit=['is_editable',
+            omit=['is_editable_by_customer',
+                  'is_editable_by_manager',
                   'translated_state',
                   'formatted_transition_date',
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/interfaces.py
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/interfaces.py	(revision 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/interfaces.py	(revision 12166)
@@ -240,5 +240,6 @@
     """
 
-    is_editable = Attribute('Document editable by customer')
+    is_editable_by_customer = Attribute('Document editable by customer')
+    is_editable_by_manager = Attribute('Document editable by manager')
     translated_class_name = Attribute('Translatable class name')
 
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 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py	(revision 12166)
@@ -853,4 +853,14 @@
         self.assertEqual(document.state, 'verified')
 
+        # Manage button and form is no longer available
+        self.browser.open(self.documents_path + '/d102/index')
+        self.assertFalse(
+            'href="http://localhost/app/customers/K1000000/documents/d102/manage"'
+            in self.browser.contents)
+        self.browser.open(self.documents_path + '/d102/manage')
+        self.assertTrue(
+            'The requested form is locked (read-only)'
+            in self.browser.contents)
+
         # Documents can be removed
         self.browser.getLink("Documents").click()
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/viewlets.py
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/viewlets.py	(revision 12165)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/viewlets.py	(revision 12166)
@@ -327,4 +327,10 @@
     target = 'manage'
 
+    @property
+    def target_url(self):
+        if not self.context.is_editable_by_manager:
+            return ''
+        return self.view.url(self.view.context, self.target)
+
 
 class DocumentEditActionButton(ManageActionButton):
@@ -338,5 +344,5 @@
     @property
     def target_url(self):
-        if not self.context.is_editable:
+        if not self.context.is_editable_by_customer:
             return ''
         return self.view.url(self.view.context, self.target)
