Index: main/waeup.ikoba/trunk/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po	(revision 12192)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po	(revision 12300)
@@ -14,6 +14,6 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: WAeUP.KOFA\n"
-"POT-Creation-Date: Wed Dec 10 17:36:11 2014\n"
+"Project-Id-Version: WAeUP.Ikoba\n"
+"POT-Creation-Date: Tue Dec 23 07:48:12 2014\n"
 "PO-Revision-Date: 2014-11-13 14:47+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -49,6 +49,6 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:140 waeup/ikoba/browser/pages.py:779
-#: waeup/ikoba/browser/pages.py:1374 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:140 waeup/ikoba/browser/pages.py:763
+#: waeup/ikoba/browser/pages.py:1363 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -64,4 +64,55 @@
 msgstr ""
 
+#: waeup/ikoba/browser/fileviewlets.py:109
+#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
+#: waeup/ikoba/browser/templates/datacenterpage.pt:17
+#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
+msgid "File"
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:110
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:131
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:132
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:166
+msgid "No local file selected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/browser/fileviewlets.py:44
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:59
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/browser/fileviewlets.py:71
+msgid "Could not determine file type."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/browser/fileviewlets.py:76
+msgid "${a} file extension expected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/browser/fileviewlets.py:82
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/browser/fileviewlets.py:92
+msgid "File ${a} uploaded."
+msgstr ""
+
 #: waeup/ikoba/browser/interfaces.py:173
 msgid "Unique Identifier"
@@ -73,26 +124,30 @@
 
 #: waeup/ikoba/browser/interfaces.py:182
-#: waeup/ikoba/customers/interfaces.py:195
-#: waeup/ikoba/customers/interfaces.py:223 waeup/ikoba/interfaces.py:436
-#: waeup/ikoba/interfaces.py:512
+#: waeup/ikoba/customers/interfaces.py:196
+#: waeup/ikoba/customers/interfaces.py:224 waeup/ikoba/interfaces.py:456
+#: waeup/ikoba/interfaces.py:532
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:102 waeup/ikoba/customers/browser.py:860
-#: waeup/ikoba/customers/browser.py:1202
+#: waeup/ikoba/browser/layout.py:102 waeup/ikoba/customers/browser.py:874
+#: waeup/ikoba/customers/browser.py:1227 waeup/ikoba/documents/browser.py:233
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1052 waeup/ikoba/browser/pages.py:1081
-#: waeup/ikoba/browser/pages.py:1184 waeup/ikoba/browser/pages.py:1296
+#: waeup/ikoba/browser/pages.py:1039 waeup/ikoba/browser/pages.py:1068
+#: waeup/ikoba/browser/pages.py:1173 waeup/ikoba/browser/pages.py:1285
 msgid "Process CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1084
+#: waeup/ikoba/browser/pages.py:1071
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1085
+#: waeup/ikoba/browser/pages.py:1072
 msgid "Proceed to step 3"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1117
+msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
@@ -102,110 +157,106 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1128
-msgid "Double headers: each column name may only appear once. "
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1125
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1149 waeup/ikoba/browser/pages.py:1272
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1261
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1161
+#: waeup/ikoba/browser/pages.py:1150
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187 waeup/ikoba/browser/pages.py:1415
+#: waeup/ikoba/browser/pages.py:1176 waeup/ikoba/browser/pages.py:1404
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1188
+#: waeup/ikoba/browser/pages.py:1177
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1189
+#: waeup/ikoba/browser/pages.py:1178
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1190
+#: waeup/ikoba/browser/pages.py:1179
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:125 waeup/ikoba/browser/pages.py:788
+#: waeup/ikoba/browser/pages.py:1244
+msgid "Edit headers or replace imported file!"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:125 waeup/ikoba/browser/pages.py:772
 #: waeup/ikoba/customers/browser.py:197
 msgid "No item selected."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1255
-msgid "Edit headers or replace imported file!"
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1298
+#: waeup/ikoba/browser/pages.py:1287
 msgid "Process next"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1348
+#: waeup/ikoba/browser/pages.py:1337
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
 #. Default: ""
+#: waeup/ikoba/browser/pages.py:1339
+msgid "Successfully processed ${a} rows."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1347
+msgid "Show logfiles"
+msgstr ""
+
 #: waeup/ikoba/browser/pages.py:1350
-msgid "Successfully processed ${a} rows."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1358
-msgid "Show logfiles"
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1361
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1376 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1365 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1378
+#: waeup/ikoba/browser/pages.py:1367
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1386
+#: waeup/ikoba/browser/pages.py:1375
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
+#: waeup/ikoba/browser/pages.py:1390
+msgid "Invalid search expression."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1393
+msgid "No search results found."
+msgstr ""
+
 #: waeup/ikoba/browser/pages.py:1401
-msgid "Invalid search expression."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1404
-msgid "No search results found."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1412
 msgid "Edit data center settings"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1432
+#: waeup/ikoba/browser/pages.py:1421
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1435
+#: waeup/ikoba/browser/pages.py:1424
 msgid "Given storage path cannot be used: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1439
+#: waeup/ikoba/browser/pages.py:1428
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1451
+#: waeup/ikoba/browser/pages.py:1440
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1453
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Create CSV file"
 msgstr ""
@@ -213,31 +264,31 @@
 #. Default: ""
 #: waeup/ikoba/browser/pages.py:146 waeup/ikoba/customers/browser.py:210
-#: waeup/ikoba/customers/browser.py:790 waeup/ikoba/customers/browser.py:1125
+#: waeup/ikoba/customers/browser.py:799 waeup/ikoba/customers/browser.py:1149
 msgid "Successfully removed: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1479
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1523
+#: waeup/ikoba/browser/pages.py:1514
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1549 waeup/ikoba/customers/browser.py:507
-#: waeup/ikoba/customers/browser.py:589
+#: waeup/ikoba/browser/pages.py:1540 waeup/ikoba/customers/browser.py:509
+#: waeup/ikoba/customers/browser.py:591
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1560
+#: waeup/ikoba/browser/pages.py:1551
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574 waeup/ikoba/customers/browser.py:553
+#: waeup/ikoba/browser/pages.py:1565 waeup/ikoba/customers/browser.py:555
 msgid "You have successfully requested a password for the"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1578
+#: waeup/ikoba/browser/pages.py:1569
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
@@ -301,5 +352,6 @@
 
 #: waeup/ikoba/browser/pages.py:518 waeup/ikoba/customers/viewlets.py:205
-#: waeup/ikoba/customers/viewlets.py:326 waeup/ikoba/customers/viewlets.py:406
+#: waeup/ikoba/customers/viewlets.py:317 waeup/ikoba/customers/viewlets.py:389
+#: waeup/ikoba/documents/viewlets.py:60 waeup/ikoba/documents/viewlets.py:79
 #: waeup/ikoba/products/viewlets.py:60 waeup/ikoba/products/viewlets.py:79
 msgid "Manage"
@@ -330,13 +382,13 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:616 waeup/ikoba/browser/pages.py:755
-#: waeup/ikoba/browser/pages.py:1414 waeup/ikoba/customers/browser.py:366
-#: waeup/ikoba/customers/browser.py:416 waeup/ikoba/customers/browser.py:675
-#: waeup/ikoba/customers/browser.py:691 waeup/ikoba/customers/browser.py:872
-#: waeup/ikoba/customers/browser.py:890 waeup/ikoba/customers/browser.py:929
-#: waeup/ikoba/customers/browser.py:1213 waeup/ikoba/customers/browser.py:1236
-#: waeup/ikoba/customers/browser.py:1275 waeup/ikoba/products/browser.py:92
-#: waeup/ikoba/products/browser.py:104 waeup/ikoba/products/browser.py:174
-#: waeup/ikoba/products/browser.py:181
+#: waeup/ikoba/browser/pages.py:616 waeup/ikoba/browser/pages.py:737
+#: waeup/ikoba/browser/pages.py:1403 waeup/ikoba/customers/browser.py:366
+#: waeup/ikoba/customers/browser.py:679 waeup/ikoba/customers/browser.py:695
+#: waeup/ikoba/customers/browser.py:891 waeup/ikoba/customers/browser.py:909
+#: waeup/ikoba/customers/browser.py:1238 waeup/ikoba/customers/browser.py:1261
+#: waeup/ikoba/documents/browser.py:229 waeup/ikoba/documents/browser.py:242
+#: waeup/ikoba/documents/browser.py:266 waeup/ikoba/products/browser.py:92
+#: waeup/ikoba/products/browser.py:100 waeup/ikoba/products/browser.py:170
+#: waeup/ikoba/products/browser.py:177
 msgid "Save"
 msgstr ""
@@ -346,9 +398,11 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:645 waeup/ikoba/browser/pages.py:1083
-#: waeup/ikoba/browser/pages.py:1186 waeup/ikoba/customers/browser.py:831
-#: waeup/ikoba/customers/browser.py:1166 waeup/ikoba/products/browser.py:92
-#: waeup/ikoba/products/browser.py:93 waeup/ikoba/products/browser.py:108
-#: waeup/ikoba/products/browser.py:174 waeup/ikoba/products/browser.py:185
+#: waeup/ikoba/browser/pages.py:645 waeup/ikoba/browser/pages.py:1070
+#: waeup/ikoba/browser/pages.py:1175 waeup/ikoba/customers/browser.py:843
+#: waeup/ikoba/customers/browser.py:1192 waeup/ikoba/documents/browser.py:105
+#: waeup/ikoba/documents/browser.py:145 waeup/ikoba/documents/browser.py:229
+#: waeup/ikoba/documents/browser.py:246 waeup/ikoba/products/browser.py:92
+#: waeup/ikoba/products/browser.py:93 waeup/ikoba/products/browser.py:104
+#: waeup/ikoba/products/browser.py:170 waeup/ikoba/products/browser.py:181
 msgid "Cancel"
 msgstr ""
@@ -367,73 +421,69 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:732
-msgid "View portal configuration"
+#: waeup/ikoba/browser/pages.py:733
+msgid "Edit portal configuration"
 msgstr ""
 
 #: waeup/ikoba/browser/pages.py:745
-msgid "Edit portal configuration"
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:761
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:746
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:763
+#: waeup/ikoba/browser/pages.py:747
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:768
+#: waeup/ikoba/browser/pages.py:752
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:782 waeup/ikoba/customers/browser.py:166
+#: waeup/ikoba/browser/pages.py:766 waeup/ikoba/customers/browser.py:166
 #: waeup/ikoba/products/browser.py:93 waeup/ikoba/products/browser.py:95
 msgid "Remove selected"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:799
+#: waeup/ikoba/browser/pages.py:783
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:803
+#: waeup/ikoba/browser/pages.py:787
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:814
+#: waeup/ikoba/browser/pages.py:798
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:816 waeup/ikoba/browser/pages.py:832
-#: waeup/ikoba/browser/pages.py:1054 waeup/ikoba/browser/pages.py:1360
-#: waeup/ikoba/browser/pages.py:1377 waeup/ikoba/browser/pages.py:1416
-#: waeup/ikoba/browser/pages.py:1454
+#: waeup/ikoba/browser/pages.py:800 waeup/ikoba/browser/pages.py:816
+#: waeup/ikoba/browser/pages.py:1041 waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1366 waeup/ikoba/browser/pages.py:1405
+#: waeup/ikoba/browser/pages.py:1443
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:828
+#: waeup/ikoba/browser/pages.py:812
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:831
+#: waeup/ikoba/browser/pages.py:815
 msgid "Upload"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:871
+#: waeup/ikoba/browser/pages.py:855
 msgid "Import Manager"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:873
+#: waeup/ikoba/browser/pages.py:857
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:877
+#: waeup/ikoba/browser/pages.py:861
 msgid ""
 "File: ${a}\n"
@@ -447,15 +497,19 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:896
+#: waeup/ikoba/browser/pages.py:880
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:898 waeup/ikoba/browser/pages.py:1581
+#: waeup/ikoba/browser/pages.py:882 waeup/ikoba/browser/pages.py:1572
 #: waeup/ikoba/customers/browser.py:345
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:906
+#: waeup/ikoba/browser/pages.py:890
 msgid "Maximum number of files in the data center exceeded."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:905
+msgid "Only csv files are allowed."
 msgstr ""
 
@@ -464,13 +518,9 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:921
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:929
+#: waeup/ikoba/browser/pages.py:913
 msgid "File with same name was uploaded earlier."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:940
+#: waeup/ikoba/browser/pages.py:924
 msgid ""
 "Your file contains forbidden characters or has invalid CSV format. First "
@@ -739,4 +789,8 @@
 msgstr ""
 
+#: waeup/ikoba/browser/templates/filedisplay.pt:15
+msgid "HTML Element:"
+msgstr ""
+
 #: waeup/ikoba/browser/templates/loginpage.pt:10
 msgid "Password"
@@ -812,8 +866,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/templates/reportscontainerpage.pt:5
-msgid "Description"
-msgstr ""
-
 #: waeup/ikoba/browser/templates/reportscontainerpage.pt:50
 msgid "Create new report"
@@ -849,14 +899,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/templates/userscontainerpage.pt:5
-#: waeup/ikoba/products/browser_templates/productmanagepage.pt:37
-msgid "Name"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/userscontainerpage.pt:7
-#: waeup/ikoba/products/browser_templates/productmanagepage.pt:9
-msgid "Local Roles"
-msgstr ""
-
 #: waeup/ikoba/browser/viewlets.py:165
 msgid "Add"
@@ -900,54 +940,50 @@
 
 #: waeup/ikoba/browser/viewlets.py:93 waeup/ikoba/browser/viewlets.py:155
-#: waeup/ikoba/customers/viewlets.py:276 waeup/ikoba/customers/viewlets.py:341
-#: waeup/ikoba/customers/viewlets.py:415
+#: waeup/ikoba/customers/viewlets.py:276 waeup/ikoba/customers/viewlets.py:332
+#: waeup/ikoba/customers/viewlets.py:398
 msgid "Edit"
 msgstr ""
 
-#: waeup/ikoba/customers/batching.py:144 waeup/ikoba/customers/workflow.py:49
+#: waeup/ikoba/customers/batching.py:142
 msgid "Customer record created"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/customers/batching.py:199
+#: waeup/ikoba/customers/batching.py:197
 msgid "State '${a}' set"
 msgstr ""
 
-#: waeup/ikoba/customers/batching.py:379
-msgid "CustomerDocument Processor"
-msgstr ""
-
-#: waeup/ikoba/customers/batching.py:476
-msgid "Contract Processor"
-msgstr ""
-
-#: waeup/ikoba/customers/batching.py:62
+#: waeup/ikoba/customers/batching.py:461
+msgid "Customer Sample Document Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:562
+msgid "Customer Sample Contract Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:60
 msgid "Customer Processor"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1063 waeup/ikoba/customers/export.py:200
-#: waeup/ikoba/customers/viewlets.py:158
+#: waeup/ikoba/customers/browser.py:1082 waeup/ikoba/customers/viewlets.py:158
 msgid "Contracts"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/customers/browser.py:1103
+#: waeup/ikoba/customers/browser.py:1122
 msgid "${a}: Contracts"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1106
+#: waeup/ikoba/customers/browser.py:1125 waeup/ikoba/customers/browser.py:1164
+#: waeup/ikoba/customers/browser.py:1175
+msgid "Add contract"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:1130
 msgid "Remove selected contracts"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1112
+#: waeup/ikoba/customers/browser.py:1136
 msgid "No contract selected."
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:1141 waeup/ikoba/customers/viewlets.py:387
-msgid "Add contract"
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:1149
-msgid "Create contract"
 msgstr ""
 
@@ -960,17 +996,17 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1241
+#: waeup/ikoba/customers/browser.py:1266
 msgid "Apply now (final submit)"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1257
+#: waeup/ikoba/customers/browser.py:1282
 msgid "Trigger contract transition"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1303
+#: waeup/ikoba/customers/browser.py:1330
 msgid "Contracts of"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:1311
+#: waeup/ikoba/customers/browser.py:1338
 msgid "Customer Contracts"
 msgstr ""
@@ -985,4 +1021,5 @@
 
 #: waeup/ikoba/customers/browser.py:152 waeup/ikoba/customers/browser.py:195
+#: waeup/ikoba/customers/browser.py:529 waeup/ikoba/customers/browser.py:541
 msgid "No customer found."
 msgstr ""
@@ -1001,5 +1038,5 @@
 
 #: waeup/ikoba/customers/browser.py:231
-msgid "Customer record created."
+msgid "Customer created."
 msgstr ""
 
@@ -1048,35 +1085,41 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:413 waeup/ikoba/customers/browser.py:926
-#: waeup/ikoba/customers/browser.py:1272
+#: waeup/ikoba/customers/browser.py:413 waeup/ikoba/customers/browser.py:945
+#: waeup/ikoba/customers/browser.py:1297 waeup/ikoba/documents/browser.py:297
 msgid "No transition"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:438
+#: waeup/ikoba/customers/browser.py:416 waeup/ikoba/customers/browser.py:948
+#: waeup/ikoba/customers/browser.py:1300 waeup/ikoba/documents/browser.py:300
+msgid "Apply now"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:423 waeup/ikoba/customers/browser.py:956
+#: waeup/ikoba/customers/browser.py:1308 waeup/ikoba/documents/browser.py:308
+msgid "Transition '%s' executed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:440
 msgid "Customer account has been activated."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:458
+#: waeup/ikoba/customers/browser.py:460
 msgid "Customer account has been deactivated."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/customers/browser.py:477
+#: waeup/ikoba/customers/browser.py:479
 msgid "${a}: History"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:487
+#: waeup/ikoba/customers/browser.py:489
 msgid "Request password for first-time login"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:521
+#: waeup/ikoba/customers/browser.py:523
 msgid "An error occurred."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:527 waeup/ikoba/customers/browser.py:539
-msgid "No customer record found."
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:530
+#: waeup/ikoba/customers/browser.py:532
 msgid ""
 "Your password has already been set and used. Please proceed to the login "
@@ -1084,9 +1127,9 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:574
+#: waeup/ikoba/customers/browser.py:576
 msgid "Create customer account"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:612
+#: waeup/ikoba/customers/browser.py:614
 msgid "You have successfully created a customer account for the"
 msgstr ""
@@ -1098,57 +1141,59 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:633
+#: waeup/ikoba/customers/browser.py:635
 msgid "Your request was successful."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:649
-msgid "Upload files"
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:672
+#: waeup/ikoba/customers/browser.py:653 waeup/ikoba/customers/viewlets.py:296
+msgid "Change portrait"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:676
 msgid "Edit base data"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:688 waeup/ikoba/customers/viewlets.py:286
+#: waeup/ikoba/customers/browser.py:692 waeup/ikoba/customers/viewlets.py:286
 msgid "Change password"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:702
+#: waeup/ikoba/customers/browser.py:706
 msgid "Password changed."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:728 waeup/ikoba/customers/viewlets.py:164
+#: waeup/ikoba/customers/browser.py:732 waeup/ikoba/customers/viewlets.py:164
+#: waeup/ikoba/documents/browser.py:61 waeup/ikoba/documents/browser.py:81
+#: waeup/ikoba/documents/viewlets.py:49
+#: waeup/ikoba/documents/browser_templates/containermanagepage.pt:3
 msgid "Documents"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/customers/browser.py:768
+#: waeup/ikoba/customers/browser.py:772
 msgid "${a}: Documents"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:771
+#: waeup/ikoba/customers/browser.py:775 waeup/ikoba/customers/browser.py:816
+#: waeup/ikoba/customers/browser.py:826 waeup/ikoba/documents/browser.py:95
+#: waeup/ikoba/documents/browser.py:118 waeup/ikoba/documents/browser.py:128
+msgid "Add document"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:780 waeup/ikoba/documents/browser.py:100
 msgid "Remove selected documents"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:777
+#: waeup/ikoba/customers/browser.py:786
 msgid "No document selected."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:806 waeup/ikoba/customers/viewlets.py:307
-msgid "Add document"
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:814 waeup/ikoba/documents/workflow.py:40
-msgid "Create document"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/customers/browser.py:824 waeup/ikoba/customers/browser.py:1159
-msgid "${a} created."
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/customers/browser.py:848 waeup/ikoba/customers/browser.py:870
-#: waeup/ikoba/customers/browser.py:1191 waeup/ikoba/customers/browser.py:1211
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:837 waeup/ikoba/customers/browser.py:1186
+#: waeup/ikoba/documents/browser.py:138
+msgid "${a} added."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:863 waeup/ikoba/customers/browser.py:889
+#: waeup/ikoba/customers/browser.py:1216 waeup/ikoba/customers/browser.py:1236
 msgid "${a}"
 msgstr ""
@@ -1158,30 +1203,32 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:895
+#: waeup/ikoba/customers/browser.py:914
 msgid "Final Submit"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:899 waeup/ikoba/customers/browser.py:1245
+#: waeup/ikoba/customers/browser.py:918 waeup/ikoba/customers/browser.py:1270
 msgid "Form has been submitted."
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:911
+#: waeup/ikoba/customers/browser.py:930 waeup/ikoba/documents/browser.py:282
 msgid "Trigger document transition"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:957
-msgid "Documents of"
-msgstr ""
-
-#: waeup/ikoba/customers/browser.py:96 waeup/ikoba/customers/export.py:135
+#: waeup/ikoba/customers/browser.py:96 waeup/ikoba/customers/export.py:130
 #: waeup/ikoba/customers/viewlets.py:52
 msgid "Customers"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:965 waeup/ikoba/customers/export.py:169
+#: waeup/ikoba/customers/browser.py:978
+msgid "Documents of"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:986
 msgid "Customer Documents"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:971 waeup/ikoba/customers/browser.py:1317
+#: waeup/ikoba/customers/browser.py:992 waeup/ikoba/customers/browser.py:1344
+#: waeup/ikoba/documents/browser_templates/containerpage.pt:8
+#: waeup/ikoba/documents/browser_templates/containermanagepage.pt:9
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:4
 #: waeup/ikoba/customers/browser_templates/contractsmanagepage.pt:8
@@ -1190,5 +1237,7 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:972 waeup/ikoba/customers/browser.py:1318
+#: waeup/ikoba/customers/browser.py:993 waeup/ikoba/customers/browser.py:1345
+#: waeup/ikoba/documents/browser_templates/containerpage.pt:9
+#: waeup/ikoba/documents/browser_templates/containermanagepage.pt:10
 #: waeup/ikoba/customers/browser_templates/contractsmanagepage.pt:9
 #: waeup/ikoba/customers/browser_templates/documentsmanagepage.pt:9
@@ -1198,5 +1247,7 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:973 waeup/ikoba/customers/browser.py:1319
+#: waeup/ikoba/customers/browser.py:994 waeup/ikoba/customers/browser.py:1346
+#: waeup/ikoba/documents/browser_templates/containerpage.pt:10
+#: waeup/ikoba/documents/browser_templates/containermanagepage.pt:11
 #: waeup/ikoba/customers/browser_templates/contractsmanagepage.pt:10
 #: waeup/ikoba/customers/browser_templates/documentsmanagepage.pt:10
@@ -1204,10 +1255,10 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:974 waeup/ikoba/customers/browser.py:1320
+#: waeup/ikoba/customers/browser.py:995 waeup/ikoba/customers/browser.py:1347
 #: waeup/ikoba/customers/browser_templates/containerpage.pt:33
 msgid "State"
 msgstr ""
 
-#: waeup/ikoba/customers/browser.py:975 waeup/ikoba/customers/browser.py:1321
+#: waeup/ikoba/customers/browser.py:996 waeup/ikoba/customers/browser.py:1348
 #: waeup/ikoba/customers/browser_templates/contractsmanagepage.pt:12
 #: waeup/ikoba/customers/browser_templates/documentsmanagepage.pt:12
@@ -1262,20 +1313,4 @@
 msgstr ""
 
-#: waeup/ikoba/customers/browser_templates/documentaddform.pt:7
-msgid "Document Type"
-msgstr ""
-
-#: waeup/ikoba/customers/browser_templates/documenteditpage.pt:12
-msgid "Files"
-msgstr ""
-
-#: waeup/ikoba/customers/browser_templates/documenteditpage.pt:7
-msgid "Metadata"
-msgstr ""
-
-#: waeup/ikoba/customers/browser_templates/documentpage.pt:16
-msgid "Document Type:"
-msgstr ""
-
 #. Default: "Ikoba is creating a temporary customer password which will replace the original password chosen by the customer. The password will be valid for ${minutes} minutes. The customer can't login during this time period. After expiration the customer can login with the original password again."
 #: waeup/ikoba/customers/browser_templates/loginasstep1.pt:6
@@ -1336,96 +1371,57 @@
 msgstr ""
 
-#: waeup/ikoba/customers/contracts.py:145
+#: waeup/ikoba/customers/contracts.py:150
 msgid "Attached documents must be verified first."
 msgstr ""
 
-#: waeup/ikoba/customers/documents.py:147
+#: waeup/ikoba/customers/documents.py:170
 msgid "No file uploaded."
 msgstr ""
 
-#. Default: ""
-#: waeup/ikoba/customers/fileviewlets.py:106
-msgid "File ${a} uploaded."
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:123
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:124
-msgid "Scan"
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:145
-msgid "Upload selected file"
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:146
-msgid "Delete"
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:183
-msgid "No local file selected."
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:229
+#: waeup/ikoba/customers/export.py:194
+msgid "Customer Sample Documents"
+msgstr ""
+
+#: waeup/ikoba/customers/export.py:244
+msgid "Customer Sample Contracts"
+msgstr ""
+
+#: waeup/ikoba/customers/fileviewlets.py:134
+#: waeup/ikoba/customers/fileviewlets.py:135
+#: waeup/ikoba/documents/fileviewlets.py:39
+#: waeup/ikoba/documents/fileviewlets.py:40
+msgid "PDF File"
+msgstr ""
+
+#: waeup/ikoba/customers/fileviewlets.py:155
+#: waeup/ikoba/customers/fileviewlets.py:156
+#: waeup/ikoba/documents/fileviewlets.py:53
+#: waeup/ikoba/documents/fileviewlets.py:54
+msgid "PDF Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/fileviewlets.py:48
 #: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
 msgid "Passport Picture"
 msgstr ""
 
-#: waeup/ikoba/customers/fileviewlets.py:241
+#: waeup/ikoba/customers/fileviewlets.py:60
 msgid "Passport Picture (jpg only)"
 msgstr ""
 
-#: waeup/ikoba/customers/fileviewlets.py:271
-#: waeup/ikoba/customers/fileviewlets.py:272
-#: waeup/ikoba/customers/fileviewlets.py:292
-#: waeup/ikoba/customers/fileviewlets.py:293
+#: waeup/ikoba/customers/fileviewlets.py:90
+#: waeup/ikoba/customers/fileviewlets.py:91
+#: waeup/ikoba/customers/fileviewlets.py:111
+#: waeup/ikoba/customers/fileviewlets.py:112
 msgid "Sample Scan"
 msgstr ""
 
-#: waeup/ikoba/customers/fileviewlets.py:315
-#: waeup/ikoba/customers/fileviewlets.py:316
-msgid "PDF File"
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:336
-#: waeup/ikoba/customers/fileviewlets.py:337
-msgid "PDF Scan"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/customers/fileviewlets.py:58
-msgid "${a} deleted."
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:73
-msgid "Uploaded file is too big."
-msgstr ""
-
-#: waeup/ikoba/customers/fileviewlets.py:85
-msgid "Could not determine file type."
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/customers/fileviewlets.py:90
-msgid "${a} file extension expected."
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/customers/fileviewlets.py:96
-msgid "Only the following extensions are allowed: ${a}"
-msgstr ""
-
 #: waeup/ikoba/customers/interfaces.py:103
-#: waeup/ikoba/customers/interfaces.py:213
+#: waeup/ikoba/customers/interfaces.py:214
 msgid "Middle Name"
 msgstr ""
 
 #: waeup/ikoba/customers/interfaces.py:108
-#: waeup/ikoba/customers/interfaces.py:218
+#: waeup/ikoba/customers/interfaces.py:219
 msgid "Last Name (Surname)"
 msgstr ""
@@ -1436,6 +1432,6 @@
 
 #: waeup/ikoba/customers/interfaces.py:119
-#: waeup/ikoba/customers/interfaces.py:156
-#: waeup/ikoba/customers/interfaces.py:185
+#: waeup/ikoba/customers/interfaces.py:157
+#: waeup/ikoba/customers/interfaces.py:186
 msgid "Registration Number"
 msgstr ""
@@ -1445,26 +1441,30 @@
 msgstr ""
 
-#: waeup/ikoba/customers/interfaces.py:131 waeup/ikoba/interfaces.py:441
-#: waeup/ikoba/interfaces.py:519
+#: waeup/ikoba/customers/interfaces.py:132 waeup/ikoba/interfaces.py:461
+#: waeup/ikoba/interfaces.py:539
 msgid "Phone"
 msgstr ""
 
-#: waeup/ikoba/customers/interfaces.py:284
+#: waeup/ikoba/customers/interfaces.py:247
+#: waeup/ikoba/documents/interfaces.py:52
+msgid "Document Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:296
+msgid "Contract Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:302
 msgid "Contract Title"
 msgstr ""
 
-#: waeup/ikoba/customers/interfaces.py:289
-#: waeup/ikoba/documents/interfaces.py:63
-msgid "Last Transition Date"
-msgstr ""
-
-#: waeup/ikoba/customers/interfaces.py:295
 #: waeup/ikoba/customers/interfaces.py:307
+#: waeup/ikoba/customers/interfaces.py:319
+#: waeup/ikoba/customers/interfaces.py:343
+msgid "Product"
+msgstr ""
+
 #: waeup/ikoba/customers/interfaces.py:331
-msgid "Product"
-msgstr ""
-
-#: waeup/ikoba/customers/interfaces.py:319
-#: waeup/ikoba/customers/interfaces.py:337
+#: waeup/ikoba/customers/interfaces.py:349
 msgid "Document"
 msgstr ""
@@ -1489,6 +1489,6 @@
 
 #: waeup/ikoba/customers/interfaces.py:98
-#: waeup/ikoba/customers/interfaces.py:190
-#: waeup/ikoba/customers/interfaces.py:208
+#: waeup/ikoba/customers/interfaces.py:191
+#: waeup/ikoba/customers/interfaces.py:209
 msgid "First Name"
 msgstr ""
@@ -1503,38 +1503,59 @@
 
 #: waeup/ikoba/customers/utils.py:239
+#: waeup/ikoba/documents/browser_templates/documentpage.pt:25
 #: waeup/ikoba/customers/browser_templates/documentpage.pt:25
 msgid "Connected Files"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:302 waeup/ikoba/customers/utils.py:310
-#: waeup/ikoba/documents/utils.py:39
+#: waeup/ikoba/customers/utils.py:300 waeup/ikoba/customers/utils.py:307
+#: waeup/ikoba/customers/utils.py:315 waeup/ikoba/documents/utils.py:34
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:303
+#: waeup/ikoba/customers/utils.py:301
 msgid "started"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:304
+#: waeup/ikoba/customers/utils.py:302
 msgid "requested"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:305 waeup/ikoba/customers/utils.py:312
+#: waeup/ikoba/customers/utils.py:303 waeup/ikoba/customers/utils.py:309
 msgid "approved"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:311
+#: waeup/ikoba/customers/utils.py:308
 msgid "submitted for approval"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:313 waeup/ikoba/documents/utils.py:42
+#: waeup/ikoba/customers/utils.py:310 waeup/ikoba/customers/utils.py:318
 msgid "rejected"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:314 waeup/ikoba/documents/utils.py:43
+#: waeup/ikoba/customers/utils.py:311 waeup/ikoba/customers/utils.py:319
 msgid "expired"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:364 waeup/ikoba/customers/viewlets.py:135
+#: waeup/ikoba/customers/utils.py:316
+msgid "submitted for verification"
+msgstr ""
+
+#: waeup/ikoba/customers/utils.py:317
+msgid "verified"
+msgstr ""
+
+#: waeup/ikoba/customers/utils.py:323
+msgid "Sample Document"
+msgstr ""
+
+#: waeup/ikoba/customers/utils.py:324 waeup/ikoba/documents/utils.py:39
+msgid "PDF Document"
+msgstr ""
+
+#: waeup/ikoba/customers/utils.py:328
+msgid "Sample Contract"
+msgstr ""
+
+#: waeup/ikoba/customers/utils.py:371 waeup/ikoba/customers/viewlets.py:135
 #: waeup/ikoba/customers/viewlets.py:152
 #: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
@@ -1543,9 +1564,9 @@
 
 #. Default: ""
-#: waeup/ikoba/customers/utils.py:386
+#: waeup/ikoba/customers/utils.py:393
 msgid "${a} Workflow History"
 msgstr ""
 
-#: waeup/ikoba/customers/utils.py:392
+#: waeup/ikoba/customers/utils.py:399
 msgid "Customer Workflow History"
 msgstr ""
@@ -1563,6 +1584,6 @@
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:215 waeup/ikoba/customers/viewlets.py:357
-#: waeup/ikoba/customers/viewlets.py:431
+#: waeup/ikoba/customers/viewlets.py:215 waeup/ikoba/customers/viewlets.py:348
+#: waeup/ikoba/customers/viewlets.py:414 waeup/ikoba/documents/viewlets.py:89
 msgid "Transition"
 msgstr ""
@@ -1584,26 +1605,22 @@
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:296
-msgid "Change portrait"
-msgstr ""
-
-#: waeup/ikoba/customers/viewlets.py:317
+#: waeup/ikoba/customers/viewlets.py:308
 msgid "Download documents overview"
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:366 waeup/ikoba/customers/viewlets.py:440
-#: waeup/ikoba/products/viewlets.py:69
+#: waeup/ikoba/customers/viewlets.py:357 waeup/ikoba/customers/viewlets.py:423
+#: waeup/ikoba/documents/viewlets.py:69 waeup/ikoba/products/viewlets.py:69
 msgid "View"
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:377
+#: waeup/ikoba/customers/viewlets.py:368
 msgid "Download document slip"
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:397
+#: waeup/ikoba/customers/viewlets.py:380
 msgid "Download contracts overview"
 msgstr ""
 
-#: waeup/ikoba/customers/viewlets.py:451
+#: waeup/ikoba/customers/viewlets.py:434
 msgid "Download contract slip"
 msgstr ""
@@ -1621,103 +1638,221 @@
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:153
-msgid "Create contract record"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:156
-msgid "Contract record created"
+#: waeup/ikoba/customers/workflow.py:152
+msgid "Create contract"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:155
+msgid "Contract created"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:160
+msgid "Submit for approval"
 msgstr ""
 
 #: waeup/ikoba/customers/workflow.py:161
-msgid "Submit for approval"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:162
 msgid "Submitted for approval"
 msgstr ""
 
+#: waeup/ikoba/customers/workflow.py:167
+msgid "Approve"
+msgstr ""
+
 #: waeup/ikoba/customers/workflow.py:168
-msgid "Approve"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:169
 msgid "Approved"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:175 waeup/ikoba/documents/workflow.py:62
+#: waeup/ikoba/customers/workflow.py:174 waeup/ikoba/customers/workflow.py:289
 msgid "Reject"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:176 waeup/ikoba/documents/workflow.py:63
+#: waeup/ikoba/customers/workflow.py:175 waeup/ikoba/customers/workflow.py:290
 msgid "REJECTED"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:203 waeup/ikoba/customers/workflow.py:204
-#: waeup/ikoba/documents/workflow.py:90 waeup/ikoba/documents/workflow.py:91
+#: waeup/ikoba/customers/workflow.py:202 waeup/ikoba/customers/workflow.py:203
+#: waeup/ikoba/customers/workflow.py:317 waeup/ikoba/customers/workflow.py:318
 msgid "Set to expired"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:46
+#: waeup/ikoba/customers/workflow.py:267 waeup/ikoba/documents/workflow.py:37
+msgid "Create document"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:270 waeup/ikoba/documents/workflow.py:40
+msgid "Document created"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:275
+msgid "Submit for verification"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:276
+msgid "Submitted for verification"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:282
+msgid "Verify"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:283
+msgid "Verified"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:45
 msgid "Create customer"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:54
+#: waeup/ikoba/customers/workflow.py:48
+msgid "Customer created"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:53
 msgid "Start registration"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:57
+#: waeup/ikoba/customers/workflow.py:56
 msgid "Customer registration started"
 msgstr ""
 
+#: waeup/ikoba/customers/workflow.py:61
+msgid "Request registration"
+msgstr ""
+
 #: waeup/ikoba/customers/workflow.py:62
-msgid "Request registration"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:63
 msgid "Customer registration requested"
 msgstr ""
 
+#: waeup/ikoba/customers/workflow.py:68
+msgid "Approve customer"
+msgstr ""
+
 #: waeup/ikoba/customers/workflow.py:69
-msgid "Approve customer"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:70
 msgid "Customer registration approved"
 msgstr ""
 
+#: waeup/ikoba/customers/workflow.py:75
+msgid "Reject customer"
+msgstr ""
+
 #: waeup/ikoba/customers/workflow.py:76
-msgid "Reject customer"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:77
 msgid "Customer registration rejected"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:83 waeup/ikoba/customers/workflow.py:97
+#: waeup/ikoba/customers/workflow.py:82 waeup/ikoba/customers/workflow.py:96
 msgid "Reset customer"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:84
+#: waeup/ikoba/customers/workflow.py:83
 msgid "Reset to initial customer state"
 msgstr ""
 
+#: waeup/ikoba/customers/workflow.py:89
+msgid "Reset to requested"
+msgstr ""
+
 #: waeup/ikoba/customers/workflow.py:90
-msgid "Reset to requested"
-msgstr ""
-
-#: waeup/ikoba/customers/workflow.py:91
 msgid "Reset to 'requested'"
 msgstr ""
 
-#: waeup/ikoba/customers/workflow.py:98 waeup/ikoba/customers/workflow.py:182
-#: waeup/ikoba/customers/workflow.py:183 waeup/ikoba/customers/workflow.py:189
-#: waeup/ikoba/customers/workflow.py:190 waeup/ikoba/customers/workflow.py:196
-#: waeup/ikoba/customers/workflow.py:197 waeup/ikoba/customers/workflow.py:210
-#: waeup/ikoba/customers/workflow.py:211 waeup/ikoba/documents/workflow.py:69
-#: waeup/ikoba/documents/workflow.py:70 waeup/ikoba/documents/workflow.py:76
-#: waeup/ikoba/documents/workflow.py:77 waeup/ikoba/documents/workflow.py:83
-#: waeup/ikoba/documents/workflow.py:84 waeup/ikoba/documents/workflow.py:97
-#: waeup/ikoba/documents/workflow.py:98
+#: waeup/ikoba/customers/workflow.py:97 waeup/ikoba/customers/workflow.py:181
+#: waeup/ikoba/customers/workflow.py:182 waeup/ikoba/customers/workflow.py:188
+#: waeup/ikoba/customers/workflow.py:189 waeup/ikoba/customers/workflow.py:195
+#: waeup/ikoba/customers/workflow.py:196 waeup/ikoba/customers/workflow.py:209
+#: waeup/ikoba/customers/workflow.py:210 waeup/ikoba/customers/workflow.py:296
+#: waeup/ikoba/customers/workflow.py:297 waeup/ikoba/customers/workflow.py:303
+#: waeup/ikoba/customers/workflow.py:304 waeup/ikoba/customers/workflow.py:310
+#: waeup/ikoba/customers/workflow.py:311 waeup/ikoba/customers/workflow.py:324
+#: waeup/ikoba/customers/workflow.py:325
 msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/documents/batching.py:129
+msgid "Public PDF Document Processor"
+msgstr ""
+
+#: waeup/ikoba/documents/batching.py:140
+msgid "Public HTML Document Processor"
+msgstr ""
+
+#: waeup/ikoba/documents/browser.py:203
+#: waeup/ikoba/documents/fileviewlets.py:69
+msgid "The document requested has not yet been published."
+msgstr ""
+
+#: waeup/ikoba/documents/browser.py:230 waeup/ikoba/documents/browser.py:255
+#: waeup/ikoba/products/browser.py:171 waeup/ikoba/products/browser.py:190
+msgid "Remove selected local roles"
+msgstr ""
+
+#: waeup/ikoba/documents/browser.py:231 waeup/ikoba/documents/browser.py:251
+#: waeup/ikoba/products/browser.py:172 waeup/ikoba/products/browser.py:186
+msgid "Add local role"
+msgstr ""
+
+#: waeup/ikoba/documents/browser.py:240
+msgid "Manage document "
+msgstr ""
+
+#: waeup/ikoba/documents/browser.py:93
+msgid "Manage document section"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/containerpage.pt:1
+#: waeup/ikoba/products/browser_templates/containerpage.pt:1
+msgid "There are no subobjects registered yet."
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/documentaddform.pt:7
+#: waeup/ikoba/customers/browser_templates/documentaddform.pt:7
+msgid "Document Type"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:9
+#: waeup/ikoba/customers/browser_templates/documenteditpage.pt:12
+msgid "Files"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/documentpage.pt:16
+#: waeup/ikoba/documents/browser_templates/htmldocumentpage.pt:16
+#: waeup/ikoba/customers/browser_templates/documentpage.pt:16
+msgid "Document Type:"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/htmldocumentmanagepage.pt:37
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:48
+#: waeup/ikoba/browser/templates/userscontainerpage.pt:5
+#: waeup/ikoba/products/browser_templates/productmanagepage.pt:37
+msgid "Name"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/htmldocumentmanagepage.pt:39
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:50
+#: waeup/ikoba/products/browser_templates/productmanagepage.pt:39
+msgid "Local Role"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/htmldocumentmanagepage.pt:6
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:6
+#: waeup/ikoba/customers/browser_templates/documenteditpage.pt:7
+msgid "Metadata"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/htmldocumentmanagepage.pt:9
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:12
+#: waeup/ikoba/browser/templates/userscontainerpage.pt:7
+#: waeup/ikoba/products/browser_templates/productmanagepage.pt:9
+msgid "Local Roles"
+msgstr ""
+
+#: waeup/ikoba/documents/browser_templates/htmldocumentpage.pt:25
+msgid "Content:"
+msgstr ""
+
+#: waeup/ikoba/documents/export.py:100
+msgid "Public HTML Documents"
+msgstr ""
+
+#: waeup/ikoba/documents/export.py:91
+msgid "Public PDF Documents"
 msgstr ""
 
@@ -1726,160 +1861,167 @@
 msgstr ""
 
+#: waeup/ikoba/documents/interfaces.py:78
+#: waeup/ikoba/browser/templates/reportscontainerpage.pt:5
+msgid "Description"
+msgstr ""
+
+#: waeup/ikoba/documents/interfaces.py:97
+msgid "Multilingual content in HTML format"
+msgstr ""
+
+#: waeup/ikoba/documents/utils.py:35
+msgid "published"
+msgstr ""
+
 #: waeup/ikoba/documents/utils.py:40
-msgid "submitted for verification"
-msgstr ""
-
-#: waeup/ikoba/documents/utils.py:41
-msgid "verified"
-msgstr ""
-
-#: waeup/ikoba/documents/workflow.py:43
-msgid "Document created"
+msgid "HTML Document"
+msgstr ""
+
+#: waeup/ikoba/documents/workflow.py:45
+msgid "Publish document"
 msgstr ""
 
 #: waeup/ikoba/documents/workflow.py:48
-msgid "Submit for verification"
-msgstr ""
-
-#: waeup/ikoba/documents/workflow.py:49
-msgid "Submitted for verification"
-msgstr ""
-
-#: waeup/ikoba/documents/workflow.py:55
-msgid "Verify"
+msgid "Document published"
+msgstr ""
+
+#: waeup/ikoba/documents/workflow.py:53
+msgid "Retract documet"
 msgstr ""
 
 #: waeup/ikoba/documents/workflow.py:56
-msgid "Verified"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:213
+msgid "Document retracted"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:233
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:217
+#: waeup/ikoba/interfaces.py:237
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:369
+#: waeup/ikoba/interfaces.py:389
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:395
+#: waeup/ikoba/interfaces.py:415
 msgid "Email Address:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:402
+#: waeup/ikoba/interfaces.py:422
 msgid "Email to:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:409
+#: waeup/ikoba/interfaces.py:429
 msgid "Subject:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:413
+#: waeup/ikoba/interfaces.py:433
 msgid "Full Name:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:417
+#: waeup/ikoba/interfaces.py:437
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:446 waeup/ikoba/interfaces.py:502
+#: waeup/ikoba/interfaces.py:466 waeup/ikoba/interfaces.py:522
 msgid "Public Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:456 waeup/ikoba/interfaces.py:457
+#: waeup/ikoba/interfaces.py:476 waeup/ikoba/interfaces.py:477
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:463
+#: waeup/ikoba/interfaces.py:483
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464
+#: waeup/ikoba/interfaces.py:484
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:493
+#: waeup/ikoba/interfaces.py:513
+#: waeup/ikoba/documents/browser_templates/htmldocumentmanagepage.pt:35
+#: waeup/ikoba/documents/browser_templates/documentmanagepage.pt:46
 #: waeup/ikoba/products/browser_templates/productmanagepage.pt:35
 msgid "User Id"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:498
+#: waeup/ikoba/interfaces.py:518
 #: waeup/ikoba/customers/browser_templates/containerpage.pt:34
 msgid "Full Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:508
+#: waeup/ikoba/interfaces.py:528
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:545
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:572
+#: waeup/ikoba/interfaces.py:592
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:573
+#: waeup/ikoba/interfaces.py:593
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:578
+#: waeup/ikoba/interfaces.py:598
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:584
+#: waeup/ikoba/interfaces.py:604
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:616
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:602
+#: waeup/ikoba/interfaces.py:622
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:609
+#: waeup/ikoba/interfaces.py:629
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:610
+#: waeup/ikoba/interfaces.py:630
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:615
+#: waeup/ikoba/interfaces.py:635
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:622
+#: waeup/ikoba/interfaces.py:642
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
+#: waeup/ikoba/interfaces.py:65
 msgid "new"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
+#: waeup/ikoba/interfaces.py:66
 msgid "completed"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
+#: waeup/ikoba/interfaces.py:67
 msgid "pending"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:67
+#: waeup/ikoba/interfaces.py:68
 msgid "active"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
+#: waeup/ikoba/interfaces.py:69
 msgid "assigned"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:69
+#: waeup/ikoba/interfaces.py:70
 msgid "callbacks"
 msgstr ""
@@ -1974,26 +2116,18 @@
 msgstr ""
 
-#: waeup/ikoba/products/browser.py:129
+#: waeup/ikoba/products/browser.py:125
 msgid "Create product"
 msgstr ""
 
+#: waeup/ikoba/products/browser.py:132
+msgid "The Id chosen already exists."
+msgstr ""
+
+#. Default: ""
 #: waeup/ikoba/products/browser.py:136
-msgid "The Id chosen already exists."
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/products/browser.py:140
 msgid "Product ${a} added."
 msgstr ""
 
-#: waeup/ikoba/products/browser.py:175 waeup/ikoba/products/browser.py:194
-msgid "Remove selected local roles"
-msgstr ""
-
-#: waeup/ikoba/products/browser.py:176 waeup/ikoba/products/browser.py:190
-msgid "Add local role"
-msgstr ""
-
-#: waeup/ikoba/products/browser.py:179
+#: waeup/ikoba/products/browser.py:175
 msgid "Manage product "
 msgstr ""
@@ -2010,19 +2144,7 @@
 msgstr ""
 
-#: waeup/ikoba/products/browser.py:93 waeup/ikoba/products/browser.py:113
-#: waeup/ikoba/products/browser.py:126
+#: waeup/ikoba/products/browser.py:93 waeup/ikoba/products/browser.py:109
+#: waeup/ikoba/products/browser.py:122
 msgid "Add product"
-msgstr ""
-
-#: waeup/ikoba/products/browser.py:98
-msgid "You are not allowed to remove products."
-msgstr ""
-
-#: waeup/ikoba/products/browser_templates/containerpage.pt:1
-msgid "There are no subobjects registered yet."
-msgstr ""
-
-#: waeup/ikoba/products/browser_templates/productmanagepage.pt:39
-msgid "Local Role"
 msgstr ""
 
@@ -2038,9 +2160,9 @@
 msgstr ""
 
-#: waeup/ikoba/products/interfaces.py:52
+#: waeup/ikoba/products/interfaces.py:53
 msgid "Product Title"
 msgstr ""
 
-#: waeup/ikoba/products/interfaces.py:58
+#: waeup/ikoba/products/interfaces.py:59
 msgid "Contract Category"
 msgstr ""
@@ -2050,5 +2172,5 @@
 msgstr ""
 
-#: waeup/ikoba/userscontainer.py:79
+#: waeup/ikoba/userscontainer.py:76
 msgid "Users"
 msgstr ""
@@ -3050,5 +3172,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:145
+#: waeup/ikoba/utils/utils.py:163
 msgid ""
 "Fullname: ${a}\n"
@@ -3060,5 +3182,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:197
+#: waeup/ikoba/utils/utils.py:215
 msgid ""
 "Dear ${a},\n"
