Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/loginasstep1.pt
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/loginasstep1.pt	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/loginasstep1.pt	(revision 11980)
@@ -1,5 +1,5 @@
 <form i18n:domain="waeup.ikoba" method="post">
   <p i18n:translate="login_as_intro_1">
-    Kofa is creating a temporary customer password which will replace the
+    Ikoba is creating a temporary customer password which will replace the
     original password chosen by the customer. The password will be valid
     for
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/requestpwmailsent.pt
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/requestpwmailsent.pt	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser_templates/requestpwmailsent.pt	(revision 11980)
@@ -13,5 +13,5 @@
   </p>
   <p  i18n:translate="">
-    Thanks for using Kofa!
+    Thanks for using Ikoba!
   </p>
 </tal:only_email>
@@ -43,5 +43,5 @@
   </p>
   <p  i18n:translate="">
-    Thanks for using Kofa!
+    Thanks for using Ikoba!
   </p>
 </tal:credentials>
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/de/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/de/LC_MESSAGES/waeup.ikoba.po	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/de/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.KOFA\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2012-10-15 13:21+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -37,5 +37,5 @@
 msgstr "Portaleinstellungen"
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr "Verwaltung"
@@ -46,11 +46,11 @@
 msgstr "Portalkonfiguration"
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr "Benutzer"
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -62,9 +62,4 @@
 msgid "Reports"
 msgstr "Reimportieren"
-
-#: waeup/ikoba/browser/breadcrumbs.py:166
-#, fuzzy
-msgid "Student Data Exports"
-msgstr "Studiengangdaten"
 
 #: waeup/ikoba/browser/breadcrumbs.py:92
@@ -83,18 +78,28 @@
 "Registrierungsnummer"
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr "Emailadresse"
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 #, fuzzy
 msgid "Are you sure?"
 msgstr "'Sind Sie sicher?'"
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
-msgstr "Verarbeite CSF-Datei"
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr "Es sind nur csv-Dateien erlaubt."
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr "Eine Datei gleichen Namens wurde bereits hochgeladen."
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
+msgstr ""
 
 #. Default: ""
@@ -103,54 +108,60 @@
 msgstr "Lokale Rolle erfolgreich entfernt: ${a}"
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr "Verarbeite CSF-Datei"
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr "Zurück zu Schritt 1"
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr "Gehe zu Schritt 3"
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr "Doppelte Spaltenüberschrift"
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr "Tauschen Sie die Importdatei aus!"
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr "Import abgebrochen."
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr "Nur Aktualisierungsmodus!"
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr "Nichts ausgewählt."
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr "Zurücksetzen"
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr "Spaltenüberschrift setzen"
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr "Zurück zu Schritt 2"
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr "Import durchführen"
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr "Nichts ausgewählt."
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 "Bearbeiten Sie die Spaltenüberschrift oder tauschen Sie die Importdatei aus."
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 #, fuzzy
 msgid "Process next"
@@ -158,98 +169,98 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr "Bearbeitung von ${a} Zeilen fehlgeschlagen."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr "${a} Zeilen erfolgreich verarbeitet."
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr "Logdateien anzeigen"
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr "Zeigen"
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr "Suchen"
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr "Geben Sie einen regulären Ausdruck ein ..."
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr "Erfolgreich entfernt: ${a}"
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 "Logdateien können nur auf Unix-basierten Betriebsystem durchsucht werden."
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr "Ungültiger Suchausdruck"
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr "Keinen Datensatz gefunden."
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr "Einstellungen des Datenzentrums bearbeiten"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr "Erfolgreich entfernt: ${a}"
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr "Datei existiert (nicht kopiert): ${a}"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 #, fuzzy
 msgid "Given storage path cannot be used. ${a}"
 msgstr "Der Datenpfad kann nicht verwendet werden."
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr "Neuen Datenpfad erfolgreich gesetzt."
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr "Portaldaten als CSV-Datei herunterladen"
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 #, fuzzy
 msgid "Create CSV file"
 msgstr "CSV-Datei exportieren"
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 #, fuzzy
 msgid "Discarded export"
 msgstr "Verworfene Export-Ergebnisse"
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr "Neues Passwort zusenden"
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr "Zugangsdaten an Email-Adresse senden"
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr "Keinen Datensatz gefunden."
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr "Sie haben erfolgreich ein Passwort angefordert für das"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
@@ -257,5 +268,5 @@
 "${a}."
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr "Das Formular wurde gespeichert."
@@ -263,22 +274,28 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr "Einloggen"
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr "Sie sind jetzt eingeloggt."
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+#, fuzzy
+msgid "Your account has been temporarily deactivated."
+msgstr "Kurseliste wurde validiert."
+
+#: waeup/ikoba/browser/pages.py:316
+#, fuzzy
+msgid "Your account has been deactivated."
+msgstr "Kurseliste wurde validiert."
+
+#: waeup/ikoba/browser/pages.py:319
 #, fuzzy
 msgid "You entered invalid credentials."
 msgstr "Sie haben falsche Zugangsdaten eingegeben."
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 #, fuzzy
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
@@ -286,44 +303,44 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr "Kontaktiere ${a}"
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr "Jetzt senden"
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr "Ihre Nachricht wurde verschickt."
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr "Sende jetzt"
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr "Es trat ein smtp-Serverfehler auf."
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 #, fuzzy
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr "<h1>Willkommen bei WAeUP.Kofa</h1>"
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr "Verwalten"
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr "Entfernen"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr "Benutzerkonto ${a} erfolgreich gelöscht."
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -331,122 +348,124 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr "Benutzerkonto ${a} erfolgreich hinzugefügt."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr "Benutzer bearbeiten"
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr "Speichern"
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr "Benutzereinstellungen wurden gespeichert."
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr "Abbruch"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr "Sende Nachricht an ${a}"
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr "Meine Präferenzen"
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr "Meine Rollen"
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr "Portal-Konfiguration betrachten"
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr "Portalkonfiguration bearbeiten"
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr "Plugins aktualisieren"
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr "Session-Konfiguration hinzufügen"
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr "Ausgewählte Objekte löschen"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr "Session ${a}-Konfiguration"
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr "Plugins wurden aktualisiert, siehe Logdatei."
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr "Session-Konfiguration hinzufügen"
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr "Die Session existiert bereits."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr "Session ${a}-Konfiguration bearbeiten"
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr "OSError: Die Datei konnte nicht gelöscht werden."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 msgid "Successfully deleted: ${a}"
 msgstr "Successfully deleted: ${a}"
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 #, fuzzy
 msgid "Processed Files"
 msgstr "Verarbeite CSF-Datei"
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr "Zurück zum Datenzentrum"
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 #, fuzzy
 msgid "Upload portal data as CSV file"
 msgstr "Portaldaten als CSV-Datei herunterladen"
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr "Hochladen"
@@ -456,5 +475,5 @@
 msgstr "Keine lokalen Rollen ausgewählt."
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 #, fuzzy
 msgid "Import Manager"
@@ -462,5 +481,5 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 #, fuzzy
 msgid "${a}: ${b} uploaded"
@@ -468,5 +487,5 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -480,30 +499,17 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr "Alle Import-Manager wurden per Email benachrichtigt."
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr "Es trat ein smtp-Serverfehler auf."
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 #, fuzzy
 msgid "Maximum number of files in the data center exceeded."
 msgstr "Maximale Anzahl der Credit-Punkte von ${a} überschritten."
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr "Es sind nur csv-Dateien erlaubt."
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr "Eine Datei gleichen Namens wurde bereits hochgeladen."
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
-msgstr ""
 
 #: waeup/ikoba/browser/pdf.py:156
@@ -571,9 +577,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -622,10 +628,4 @@
 "datasets."
 msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
-msgstr "Datei"
 
 #: waeup/ikoba/browser/templates/datacenterimport1page.pt:1
@@ -824,5 +824,5 @@
 "im Browser aktiviert sind."
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
@@ -833,5 +833,5 @@
 "\"setpassword\"> hier</a></strong>."
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 msgid "login_trouble4"
@@ -841,5 +841,5 @@
 "<strong><a href=\"requestpw\"> hier</a></strong>."
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -902,24 +902,30 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr "Kontakt"
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr "Ausloggen"
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-#, fuzzy
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+#, fuzzy
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr "WAeUP.Kofa - Student Management System"
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 msgid "Retype Password:"
 msgstr "Wiederhole Passwort:"
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr "Passwort:"
@@ -941,5 +947,5 @@
 msgstr "Any link text"
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr "Email versenden"
@@ -980,193 +986,673 @@
 msgstr "Bearbeiten"
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr "Kurse registriert"
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr "Kurse validiert"
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr "rückgemeldet"
-
-#: waeup/ikoba/interfaces.py:103
-#, fuzzy
-msgid "graduated"
-msgstr "neu"
-
-#: waeup/ikoba/interfaces.py:104
-#, fuzzy
-msgid "transcript requested"
-msgstr "Einschreibung beantragt"
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+#, fuzzy
+msgid "Customer record created"
+msgstr "Student erzeugt"
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+msgid "State '${a}' set"
+msgstr "Zustand '${a}' gesetzt"
+
+#: waeup/ikoba/customers/batching.py:57
+#, fuzzy
+msgid "Customer Processor"
+msgstr "Prozessor:"
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr "Leerer Suchtext"
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr "Nur Jafreszahlen erlaubt (z.B. 2011)"
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+#, fuzzy
+msgid "No customer found."
+msgstr "Keinen Datensatz gefunden."
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+#, fuzzy
+msgid "Manage customer section"
+msgstr "Studenten verwalten"
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+#, fuzzy
+msgid "Add customer"
+msgstr "Benutzer hinzufügen"
+
+#: waeup/ikoba/customers/browser.py:184
+#, fuzzy
+msgid "Create customer record"
+msgstr "Studenten erzeugen"
+
+#: waeup/ikoba/customers/browser.py:189
+#, fuzzy
+msgid "Customer record created."
+msgstr "Student erzeugt."
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr "Setze temporäres Passwort für ${a}"
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr "Jetzt einloggen"
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+#, fuzzy
+msgid "Login as ${a}"
+msgstr "Kontaktiere ${a}"
+
+#: waeup/ikoba/customers/browser.py:235
+#, fuzzy
+msgid "You successfully logged in as customer."
+msgstr "Sie haben erfolgreich Ihr Passwort geändert für das"
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr "${a}: Basisdaten (Konto gesperrt)"
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr "${a}: Basisdaten"
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr "gesetzt"
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr "ungesetzt"
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr "Basisdaten verwalten"
+
+#: waeup/ikoba/customers/browser.py:353
+#, fuzzy
+msgid "Trigger registration transition"
+msgstr "Zustandsänderung der Registrierung:"
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr "Keine Änderung"
+
+#: waeup/ikoba/customers/browser.py:389
+#, fuzzy
+msgid "Customer account has been activated."
+msgstr "Kurseliste wurde validiert."
+
+#: waeup/ikoba/customers/browser.py:408
+#, fuzzy
+msgid "Customer account has been deactivated."
+msgstr "Kurseliste wurde validiert."
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr "${a}: Historie"
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr "Passwort zum erstmaligen Einloggen beantragen"
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr "Es ein Fehler auf."
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+#, fuzzy
+msgid "No customer record found."
+msgstr "Keinen Studenten gefunden."
+
+#: waeup/ikoba/customers/browser.py:479
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+"Das Passwort wurde bereits gesetzt und benutzt. Bitte gehen Sie zu Login-"
+"Seite."
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr "Ihre Passwortanfrage war erfolgreich."
+
+#: waeup/ikoba/customers/browser.py:537
+#, fuzzy
+msgid "Upload files"
+msgstr "Datei hochladen"
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr "Basisdaten editieren"
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr "Passwort ändern"
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr "Passwort geändert"
+
+#: waeup/ikoba/customers/browser.py:82
+#, fuzzy
+msgid "Find customers"
+msgstr "Student hinzufügen"
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+#, fuzzy
+msgid "Find customer(s)"
+msgstr "Student hinzufügen"
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr "Alle auswählen"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr "mit Name"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr "mit Regsistrierungsnummer"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr "Suchergebnisse"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr "Registrierungsnummer"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr "Status"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+msgstr "mit Id"
+
+#. 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
+msgid "login_as_intro_1"
+msgstr ""
+"Kofa erzeugt automatisch ein temporäres Passwort, welches das originale "
+"Passwort des Studenten ersetzt. Das Passwort bleibt für ${minutes} Minuten "
+"gültig. Während dieser Zeit kann sich der Student nicht einloggen. Nach "
+"Verfall des temporären Passworts kann das originale Passwort wieder "
+"verwendet werden. "
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+msgid "login_as_intro_2"
+msgstr ""
+"Das temporäre Passwort \"${password}\" wurde gesetzt. Sie können sich durch "
+"Anklicken des Buttons unten jetzt einloggen."
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+"Wenn Ihr Datensatz gefunden wurde, werden die Zugangsdaten an die zur "
+"Verfügung gestellte Emailadresse versendet. Um sich einloggen zu können, "
+"müssen Sie somit eine gültige Email-Adresse besitzen!"
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+"Bitte helfen Sie uns, Missbrauch des Dienstes zu vermeiden, indem Sie das "
+"folgende Captcha lösen:"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+"Email konnte nicht versendet werden. Bitte versuchen Sie es später noch "
+"einmal."
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+#, fuzzy
+msgid "Thanks for using Ikoba!"
+msgstr "Vielen Dank, dass Sie Kofa verwendet haben!"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr "Ihre Zugangsdaten sind:"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr "Benutzername:"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+"EIne Email mit Ihren Benutzernamen und Ihrem Passwort wurde versendet an"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr "Drucken Sie diese Seite und gehen Sie zu "
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+"Bitte achten Sie auf Groß- und Kleinschreibung bei Passwörtern und halten "
+"Sie Ihr Passwort geheim."
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr "Bitte prüfen Sie den Eingang dieser Email und fahren Sie dann fort."
+
+#: waeup/ikoba/customers/files.py:113
+#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
+#: waeup/ikoba/browser/templates/datacenterpage.pt:17
+#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
+msgid "File"
+msgstr "Datei"
+
+#: waeup/ikoba/customers/files.py:114
+msgid "Scan"
+msgstr "Scan"
+
+#: waeup/ikoba/customers/files.py:137
+#, fuzzy
+msgid "Upload selected file"
+msgstr "Neue Datei hochladen"
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr "Keine lokale Datei ausgewählt."
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr "Passbild"
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr "Passbild (nur jpg)"
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr "${a} gelöscht."
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr "Das hochgeladene Bild ist zu groß!"
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr "Dateityp konnte nicht ermittelt werden."
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr "${a} Dateiendung erwartet."
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+msgid "Only the following extensions are allowed: ${a}"
+msgstr "Nur die folgenden Erweiterungen sind erlaubt: ${a}"
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr "Datei ${a} hochgeladen."
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr "Konto gesperrt"
+
+#: waeup/ikoba/customers/interfaces.py:110
+#, fuzzy
+msgid "Reasons for Deactivation"
+msgstr "Response-Beschreibung"
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr "Studenten Id"
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr "Vorname"
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr "Zweiter Vorname"
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr "Nachname"
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr "Geschlecht"
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr "Registrierungsnummer"
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr "Emailadresse"
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr "Telefon"
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr "Historie"
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr "Basisdaten"
+
+#: waeup/ikoba/customers/viewlets.py:185
+#, fuzzy
+msgid "Trigger transition"
+msgstr "Keine Änderung"
+
+#: waeup/ikoba/customers/viewlets.py:194
+#, fuzzy
+msgid "Login as customer"
+msgstr "nach Studenten"
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr "Deaktiviere Konto"
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr "Aktiviere Konto"
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr "Meine Daten"
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr "männlich"
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr "weiblich"
+
+#: waeup/ikoba/customers/workflow.py:39
+#, fuzzy
+msgid "Create customer"
+msgstr "Wohnheim erzeugen"
+
+#: waeup/ikoba/customers/workflow.py:47
+#, fuzzy
+msgid "Start registration"
+msgstr "Kurseregistrierung starten"
+
+#: waeup/ikoba/customers/workflow.py:50
+#, fuzzy
+msgid "Customer registration started"
+msgstr "Kursregistrierung wurde gestartet."
+
+#: waeup/ikoba/customers/workflow.py:55
+#, fuzzy
+msgid "Request registration"
+msgstr "Kurseregistrierung starten"
+
+#: waeup/ikoba/customers/workflow.py:56
+#, fuzzy
+msgid "Customer registration requested"
+msgstr "Kursregistrierung wurde gestartet."
+
+#: waeup/ikoba/customers/workflow.py:62
+#, fuzzy
+msgid "Approve customer"
+msgstr "Zahlung bestätigen"
+
+#: waeup/ikoba/customers/workflow.py:63
+#, fuzzy
+msgid "Customer registration approved"
+msgstr "Kursregistrierungsbeleg"
+
+#: waeup/ikoba/customers/workflow.py:69
+#, fuzzy
+msgid "Reject customer"
+msgstr "Kurseregistrierung zurückweisen"
+
+#: waeup/ikoba/customers/workflow.py:70
+#, fuzzy
+msgid "Customer registration rejected"
+msgstr "Kursregistrierung wurde gestartet."
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+#, fuzzy
+msgid "Reset customer"
+msgstr "Auf 'eingeschrieben' zurücksetzen"
+
+#: waeup/ikoba/customers/workflow.py:77
+#, fuzzy
+msgid "Reset to initial customer state"
+msgstr "Auf 'initialisiert' zurücksetzen"
+
+#: waeup/ikoba/customers/workflow.py:83
+#, fuzzy
+msgid "Reset to requested"
+msgstr "Auf 'eingeschrieben' zurücksetzen"
+
+#: waeup/ikoba/customers/workflow.py:84
+#, fuzzy
+msgid "Reset to 'requested'"
+msgstr "Auf 'eingeschrieben' zurücksetzen"
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr "Auf 'initialisiert' zurücksetzen"
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr "Fach"
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr "Note"
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr "Prozessorname"
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr "Emailadresse:"
 
-#: waeup/ikoba/interfaces.py:425
+#: waeup/ikoba/interfaces.py:410
 msgid "Email to:"
 msgstr "Email an:"
 
-#: waeup/ikoba/interfaces.py:432
+#: waeup/ikoba/interfaces.py:417
 msgid "Subject:"
 msgstr "Betreff:"
 
-#: waeup/ikoba/interfaces.py:436
+#: waeup/ikoba/interfaces.py:421
 msgid "Full Name:"
 msgstr "Vollständiger Name:"
 
-#: waeup/ikoba/interfaces.py:440
+#: waeup/ikoba/interfaces.py:425
 msgid "Text:"
 msgstr "Text:"
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr "Telefon"
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 msgid "Public Name"
 msgstr "Öffentlicher Name"
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 #, fuzzy
 msgid "Number of failed logins"
 msgstr "Zugangscode-Nummer"
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:516
+#: waeup/ikoba/interfaces.py:501
 msgid "User Id"
 msgstr "Benutzer Id"
 
-#: waeup/ikoba/interfaces.py:521
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
 msgid "Full Name"
 msgstr "Vollständiger Name"
 
-#: waeup/ikoba/interfaces.py:531
+#: waeup/ikoba/interfaces.py:516
 msgid "Description/Notice"
 msgstr "Beschreibung/Nachricht"
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr "Portalweite Rollen:"
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr "neu"
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr "abgeschlossen"
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr "unerledigt"
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr "aktiv"
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr "Name der Universität"
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr "Deomo-Universität"
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr "Abkürzung"
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr "zugewiesen"
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr "Inhalt im HTML-Format"
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+#, fuzzy
+msgid "callbacks"
+msgstr "Bitte um Rückruf"
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr "Name des Administrators"
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr "Emailadresse des Administrators"
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr "neu"
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr "Betreff der Email an Administrator"
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 #, fuzzy
 msgid "Ikoba Contact"
 msgstr "Kofa-Kontakt"
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr "SMTP Dienst"
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr "abgeschlossen"
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr "Captcha für öffentliche Registrierung"
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr "unerledigt"
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr "aktiv"
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr "zugewiesen"
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr "Akademische Session"
 
-#: waeup/ikoba/interfaces.py:68
-#, fuzzy
-msgid "callbacks"
-msgstr "Bitte um Rückruf"
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr "neu"
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr "zugelassen"
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr "Einschreibung begonnen"
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr "begonnen"
+
+#: waeup/ikoba/interfaces.py:88
+#, fuzzy
+msgid "requested"
 msgstr "Einschreibung beantragt"
 
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr "eingeschrieben"
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
-msgstr "Gebühren bezahlt"
+#: waeup/ikoba/interfaces.py:89
+#, fuzzy
+msgid "approved"
+msgstr "Zahlung bestätigt"
 
 #: waeup/ikoba/mandates/browser.py:36
@@ -2266,5 +2752,5 @@
 msgstr "Guernsey"
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2282,10 +2768,11 @@
 "${e}\n"
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
+#, fuzzy
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
@@ -2351,4 +2838,37 @@
 msgstr "Ausgewählte Elemente löschen"
 
+#, fuzzy
+#~ msgid "Student Data Exports"
+#~ msgstr "Studiengangdaten"
+
+#~ msgid "courses registered"
+#~ msgstr "Kurse registriert"
+
+#~ msgid "courses validated"
+#~ msgstr "Kurse validiert"
+
+#~ msgid "returning"
+#~ msgstr "rückgemeldet"
+
+#, fuzzy
+#~ msgid "graduated"
+#~ msgstr "neu"
+
+#, fuzzy
+#~ msgid "transcript requested"
+#~ msgstr "Einschreibung beantragt"
+
+#~ msgid "admitted"
+#~ msgstr "zugelassen"
+
+#~ msgid "clearance started"
+#~ msgstr "Einschreibung begonnen"
+
+#~ msgid "cleared"
+#~ msgstr "eingeschrieben"
+
+#~ msgid "school fee paid"
+#~ msgstr "Gebühren bezahlt"
+
 #~ msgid "Batch creation cancelled."
 #~ msgstr "Zugangscodeerzeugung abgebrochen."
@@ -2582,7 +3102,4 @@
 #~ msgid "Application record imported"
 #~ msgstr "Antragsteller-Datensatz importiert"
-
-#~ msgid "State '${a}' set"
-#~ msgstr "Zustand '${a}' gesetzt"
 
 #~ msgid "The requested form is locked (read-only)."
@@ -2617,19 +3134,6 @@
 #~ msgstr "Außerhalb des Antragszeitraums."
 
-#~ msgid "An error occurred."
-#~ msgstr "Es ein Fehler auf."
-
 #~ msgid "No application record found."
 #~ msgstr "Es wurde kein passender Datensatz gefunden."
-
-#~ msgid ""
-#~ "Your password has already been set and used. Please proceed to the login "
-#~ "page."
-#~ msgstr ""
-#~ "Das Passwort wurde bereits gesetzt und benutzt. Bitte gehen Sie zu Login-"
-#~ "Seite."
-
-#~ msgid "Empty search string"
-#~ msgstr "Leerer Suchtext"
 
 #~ msgid "You have successfully been registered for the"
@@ -2715,10 +3219,4 @@
 #~ msgstr "Antragsteller"
 
-#~ msgid "set"
-#~ msgstr "gesetzt"
-
-#~ msgid "unset"
-#~ msgstr "ungesetzt"
-
 #~ msgid "${a} <br /> Application Record ${b}"
 #~ msgstr "${a} <br /> Antrag ${b}"
@@ -2780,7 +3278,4 @@
 #~ msgid "${a} <br /> Application Form ${b}"
 #~ msgstr "${a} <br /> Antragsformular ${b}"
-
-#~ msgid "No transition"
-#~ msgstr "Keine Änderung"
 
 #~ msgid "No payment selected."
@@ -2927,28 +3422,10 @@
 #~ msgstr "Ordner für Antragsteller verwalten"
 
-#~ msgid "Account suspended"
-#~ msgstr "Konto gesperrt"
-
 #~ msgid "Applicant Id"
 #~ msgstr "Antragsteller Id"
 
-#~ msgid "Registration Number"
-#~ msgstr "Registrierungsnummer"
-
-#~ msgid "First Name"
-#~ msgstr "Vorname"
-
-#~ msgid "Middle Name"
-#~ msgstr "Zweiter Vorname"
-
-#~ msgid "Last Name (Surname)"
-#~ msgstr "Nachname"
-
 #~ msgid "Date of Birth"
 #~ msgstr "Geburtsdatum"
 
-#~ msgid "Sex"
-#~ msgstr "Geschlecht"
-
 #~ msgid "1st Choice Course of Study"
 #~ msgstr "Studienfach (1. Wahl)"
@@ -2960,7 +3437,4 @@
 #~ msgstr "Bemerkung"
 
-#~ msgid "Student Id"
-#~ msgstr "Studenten Id"
-
 #~ msgid "Admitted Course of Study"
 #~ msgstr "Zugelassenes Studienfach"
@@ -2976,7 +3450,4 @@
 #~ msgid "Identification Number"
 #~ msgstr "Matrikelnummer"
-
-#~ msgid "Payment approved"
-#~ msgstr "Zahlung bestätigt"
 
 #~ msgid "Successful payment"
@@ -3041,22 +3512,10 @@
 #~ msgstr "Antrag herunterladen"
 
-#~ msgid "Create student record"
-#~ msgstr "Studenten erzeugen"
-
 #~ msgid "Download payment slip"
 #~ msgstr "Quittung herunterladen"
 
-#~ msgid "Approve payment"
-#~ msgstr "Zahlung bestätigen"
-
 #~ msgid "Application"
 #~ msgstr "Antragstellung"
 
-#~ msgid "My Data"
-#~ msgstr "Meine Daten"
-
-#~ msgid "Student record created"
-#~ msgstr "Student erzeugt"
-
 #~ msgid "Reset application to started"
 #~ msgstr "Antrag zurücksetzen"
@@ -3079,7 +3538,4 @@
 #~ msgstr "Antrag zurückgesetzt auf 'bezahlt'"
 
-#~ msgid "started"
-#~ msgstr "begonnen"
-
 #~ msgid "paid"
 #~ msgstr "bezahlt"
@@ -3163,8 +3619,4 @@
 
 #, fuzzy
-#~ msgid "Find student(s)"
-#~ msgstr "Student hinzufügen"
-
-#, fuzzy
 #~ msgid "Find students in "
 #~ msgstr "Keinen Studenten gefunden."
@@ -3240,12 +3692,4 @@
 #~ msgstr "Speichen und zurück"
 
-#, fuzzy
-#~ msgid "Your account has been temporarily deactivated."
-#~ msgstr "Kurseliste wurde validiert."
-
-#, fuzzy
-#~ msgid "Your account has been deactivated."
-#~ msgstr "Kurseliste wurde validiert."
-
 #~ msgid "Search Academic Section"
 #~ msgstr "Akademie durchsuchen"
@@ -3295,8 +3739,4 @@
 #~ msgstr "Akademie durchsuchen"
 
-#, fuzzy
-#~ msgid "Find students"
-#~ msgstr "Student hinzufügen"
-
 #~ msgid "Show students"
 #~ msgstr "Studenten zeigen"
@@ -3325,7 +3765,4 @@
 #~ msgid "Settings have been saved."
 #~ msgstr "Einstellungen wurden gespeichert."
-
-#~ msgid "Create hostel"
-#~ msgstr "Wohnheim erzeugen"
 
 #~ msgid "The hostel already exists."
@@ -3755,7 +4192,4 @@
 #~ msgstr "Leveldaten"
 
-#~ msgid "Course Registration Slip"
-#~ msgstr "Kursregistrierungsbeleg"
-
 #, fuzzy
 #~ msgid "1st Semester Courses"
@@ -3925,16 +4359,4 @@
 #~ msgid "Student relocated: ${a}"
 #~ msgstr "Student umgezogen: ${a}"
-
-#~ msgid "${a}: History"
-#~ msgstr "${a}: Historie"
-
-#~ msgid "Edit base data"
-#~ msgstr "Basisdaten editieren"
-
-#~ msgid "Change password"
-#~ msgstr "Passwort ändern"
-
-#~ msgid "Password changed."
-#~ msgstr "Passwort geändert"
 
 #~ msgid "Accommodation"
@@ -4059,16 +4481,4 @@
 #~ msgstr "Passwort wurde gesetzt. Ihre Studenten Id ist ${a}"
 
-#~ msgid "Request password for first-time login"
-#~ msgstr "Passwort zum erstmaligen Einloggen beantragen"
-
-#~ msgid "No student record found."
-#~ msgstr "Keinen Studenten gefunden."
-
-#~ msgid "Only year dates allowed (e.g. 2011)."
-#~ msgstr "Nur Jafreszahlen erlaubt (z.B. 2011)"
-
-#~ msgid "Your password request was successful."
-#~ msgstr "Ihre Passwortanfrage war erfolgreich."
-
 #~ msgid "Current Session"
 #~ msgstr "Aktuelle Session"
@@ -4091,7 +4501,4 @@
 #~ msgstr "Level"
 
-#~ msgid "Manage student section"
-#~ msgstr "Studenten verwalten"
-
 #, fuzzy
 #~ msgid "Current academic session not set."
@@ -4113,37 +4520,7 @@
 #~ msgstr "Student hinzufügen"
 
-#~ msgid "Student record created."
-#~ msgstr "Student erzeugt."
-
-#~ msgid "Set temporary password for ${a}"
-#~ msgstr "Setze temporäres Passwort für ${a}"
-
-#~ msgid "Login now"
-#~ msgstr "Jetzt einloggen"
-
-#, fuzzy
-#~ msgid "Login as ${a}"
-#~ msgstr "Kontaktiere ${a}"
-
-#, fuzzy
-#~ msgid "You successfully logged in as student."
-#~ msgstr "Sie haben erfolgreich Ihr Passwort geändert für das"
-
-#~ msgid "${a}: Base Data (account deactivated)"
-#~ msgstr "${a}: Basisdaten (Konto gesperrt)"
-
-#~ msgid "${a}: Base Data"
-#~ msgstr "${a}: Basisdaten"
-
 #~ msgid "Admission Letter of"
 #~ msgstr "Admission Letter von"
 
-#~ msgid "Manage base data"
-#~ msgstr "Basisdaten verwalten"
-
-#, fuzzy
-#~ msgid "Trigger registration transition"
-#~ msgstr "Zustandsänderung der Registrierung:"
-
 #, fuzzy
 #~ msgid "Student account has been activated."
@@ -4251,13 +4628,4 @@
 #~ msgstr "Scans"
 
-#~ msgid "Select all"
-#~ msgstr "Alle auswählen"
-
-#~ msgid "with name"
-#~ msgstr "mit Name"
-
-#~ msgid "with registration number"
-#~ msgstr "mit Regsistrierungsnummer"
-
 #~ msgid "with matriculation number"
 #~ msgstr "mit Matrikelnummer"
@@ -4269,19 +4637,7 @@
 #~ msgstr "im Studienmodus"
 
-#~ msgid "Search Results"
-#~ msgstr "Suchergebnisse"
-
-#~ msgid "Reg. Number"
-#~ msgstr "Registrierungsnummer"
-
 #~ msgid "Matric. Number"
 #~ msgstr "Matrikelnummer"
 
-#~ msgid "State"
-#~ msgstr "Status"
-
-#~ msgid "with id"
-#~ msgstr "mit Id"
-
 #, fuzzy
 #~ msgid "Course Level"
@@ -4307,17 +4663,4 @@
 #~ msgstr "Pflicht"
 
-#~ msgid "login_as_intro_1"
-#~ msgstr ""
-#~ "Kofa erzeugt automatisch ein temporäres Passwort, welches das originale "
-#~ "Passwort des Studenten ersetzt. Das Passwort bleibt für ${minutes} "
-#~ "Minuten gültig. Während dieser Zeit kann sich der Student nicht "
-#~ "einloggen. Nach Verfall des temporären Passworts kann das originale "
-#~ "Passwort wieder verwendet werden. "
-
-#~ msgid "login_as_intro_2"
-#~ msgstr ""
-#~ "Das temporäre Passwort \"${password}\" wurde gesetzt. Sie können sich "
-#~ "durch Anklicken des Buttons unten jetzt einloggen."
-
 #~ msgid "Category"
 #~ msgstr "Kategorie"
@@ -4328,49 +4671,4 @@
 #~ msgid "Payment Id"
 #~ msgstr "Zahlungs-Id"
-
-#~ msgid ""
-#~ "Your student record will be looked up and your login credentials will be "
-#~ "sent to the email address given above. To be able to proceed you must "
-#~ "provide a valid email address!"
-#~ msgstr ""
-#~ "Wenn Ihr Datensatz gefunden wurde, werden die Zugangsdaten an die zur "
-#~ "Verfügung gestellte Emailadresse versendet. Um sich einloggen zu können, "
-#~ "müssen Sie somit eine gültige Email-Adresse besitzen!"
-
-#~ msgid "Please solve the captcha<br />to prevent misuse of this service:"
-#~ msgstr ""
-#~ "Bitte helfen Sie uns, Missbrauch des Dienstes zu vermeiden, indem Sie das "
-#~ "folgende Captcha lösen:"
-
-#~ msgid "Email could not been sent. Please retry later."
-#~ msgstr ""
-#~ "Email konnte nicht versendet werden. Bitte versuchen Sie es später noch "
-#~ "einmal."
-
-#~ msgid "Thanks for using Kofa!"
-#~ msgstr "Vielen Dank, dass Sie Kofa verwendet haben!"
-
-#~ msgid "Your login credentials are:"
-#~ msgstr "Ihre Zugangsdaten sind:"
-
-#~ msgid "User Name:"
-#~ msgstr "Benutzername:"
-
-#~ msgid "An email with your user name and password has been sent to"
-#~ msgstr ""
-#~ "EIne Email mit Ihren Benutzernamen und Ihrem Passwort wurde versendet an"
-
-#~ msgid "Print this page and proceed to the"
-#~ msgstr "Drucken Sie diese Seite und gehen Sie zu "
-
-#~ msgid ""
-#~ "Please note that passwords are case-sensitive, <br />when entering your "
-#~ "credentials, and keep your password secret!"
-#~ msgstr ""
-#~ "Bitte achten Sie auf Groß- und Kleinschreibung bei Passwörtern und halten "
-#~ "Sie Ihr Passwort geheim."
-
-#~ msgid "Please check your email account to proceed."
-#~ msgstr "Bitte prüfen Sie den Eingang dieser Email und fahren Sie dann fort."
 
 #~ msgid "Access Code:"
@@ -4509,8 +4807,4 @@
 #~ msgstr "Levels"
 
-#, fuzzy
-#~ msgid "Reasons for Deactivation"
-#~ msgstr "Response-Beschreibung"
-
 #~ msgid "Matriculation Number"
 #~ msgstr "Matrikelnummer"
@@ -4519,7 +4813,4 @@
 #~ msgstr "PWD-Aktivierungs-Code"
 
-#~ msgid "Email"
-#~ msgstr "Emailadresse"
-
 #~ msgid "Clearance form locked"
 #~ msgstr "Einschreibungsformular gesperrt"
@@ -4719,7 +5010,4 @@
 #~ msgstr "Student erzeugt."
 
-#~ msgid "Base Data"
-#~ msgstr "Basisdaten"
-
 #, fuzzy
 #~ msgid "Workflow History"
@@ -4740,25 +5028,8 @@
 #~ msgstr "Persönliche Daten"
 
-#~ msgid "History"
-#~ msgstr "Historie"
-
-#, fuzzy
-#~ msgid "Trigger transition"
-#~ msgstr "Keine Änderung"
-
-#, fuzzy
-#~ msgid "Login as student"
-#~ msgstr "nach Studenten"
-
 #, fuzzy
 #~ msgid "Download admission letter"
 #~ msgstr "Antrag herunterladen"
 
-#~ msgid "Deactivate account"
-#~ msgstr "Deaktiviere Konto"
-
-#~ msgid "Activate account"
-#~ msgstr "Aktiviere Konto"
-
 #~ msgid "Clear student"
 #~ msgstr "Student einschreiben"
@@ -4777,7 +5048,4 @@
 #~ msgstr "Kurse validieren"
 
-#~ msgid "Reject courses"
-#~ msgstr "Kurseregistrierung zurückweisen"
-
 #~ msgid "Download course registration slip"
 #~ msgstr "Kurseregistrierungsbeleg herunterladen"
@@ -4819,41 +5087,7 @@
 #~ msgstr "Unterkunft"
 
-#~ msgid "${a} deleted."
-#~ msgstr "${a} gelöscht."
-
-#~ msgid "Uploaded file is too big."
-#~ msgstr "Das hochgeladene Bild ist zu groß!"
-
-#~ msgid "Could not determine file type."
-#~ msgstr "Dateityp konnte nicht ermittelt werden."
-
-#~ msgid "${a} file extension expected."
-#~ msgstr "${a} Dateiendung erwartet."
-
-#~ msgid "Only the following extensions are allowed: ${a}"
-#~ msgstr "Nur die folgenden Erweiterungen sind erlaubt: ${a}"
-
-#~ msgid "File ${a} uploaded."
-#~ msgstr "Datei ${a} hochgeladen."
-
-#~ msgid "Scan"
-#~ msgstr "Scan"
-
-#, fuzzy
-#~ msgid "Upload selected file"
-#~ msgstr "Neue Datei hochladen"
-
 #~ msgid "Application Slip"
 #~ msgstr "Antrag"
 
-#~ msgid "No local file selected."
-#~ msgstr "Keine lokale Datei ausgewählt."
-
-#~ msgid "Passport Picture"
-#~ msgstr "Passbild"
-
-#~ msgid "Passport Picture (jpg only)"
-#~ msgstr "Passbild (nur jpg)"
-
 #~ msgid "Birth Certificate"
 #~ msgstr "Geburtsurkunde"
@@ -4877,10 +5111,4 @@
 #~ msgstr "${title} / 2. Wiederholung"
 
-#~ msgid "male"
-#~ msgstr "männlich"
-
-#~ msgid "female"
-#~ msgstr "weiblich"
-
 #~ msgid "Error: wrong level id ${value}"
 #~ msgstr "Fehler: falsche level_id ${value}"
@@ -4889,10 +5117,4 @@
 #~ msgstr "Fehler: level_id ${value} nicht verfügbar"
 
-#~ msgid "Reset to cleared"
-#~ msgstr "Auf 'eingeschrieben' zurücksetzen"
-
-#~ msgid "Reset to 'cleared'"
-#~ msgstr "Auf 'eingeschrieben' zurücksetzen"
-
 #, fuzzy
 #~ msgid "School fee payment made"
@@ -4988,7 +5210,4 @@
 #~ msgid "Reset student"
 #~ msgstr "Zurücksetzen"
-
-#~ msgid "Reset to initial state"
-#~ msgstr "Auf 'initialisiert' zurücksetzen"
 
 #~ msgid "Clearance started"
@@ -5334,7 +5553,4 @@
 #~ msgstr "Describe Score here."
 
-#~ msgid "Upload file"
-#~ msgstr "Datei hochladen"
-
 #~ msgid "Batch processing"
 #~ msgstr "Stapelverarbeitung"
@@ -5425,7 +5641,4 @@
 #~ msgstr "Portalweite Rollen"
 
-#~ msgid "Start course registration"
-#~ msgstr "Kurseregistrierung starten"
-
 #~ msgid "Start course registration now"
 #~ msgstr "Kursregistrierung jetzt starten"
@@ -5434,7 +5647,4 @@
 #~ msgstr "Sie sind im falschen Status."
 
-#~ msgid "Course registration has been started."
-#~ msgstr "Kursregistrierung wurde gestartet."
-
 #~ msgid "File name has no extension."
 #~ msgstr "Dateiname hat keine Endung."
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 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.KOFA\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2014-11-13 14:47+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -35,5 +35,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr ""
@@ -44,11 +44,11 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -60,8 +60,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-msgid "Student Data Exports"
-msgstr ""
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -76,16 +72,26 @@
 msgstr ""
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -95,151 +101,157 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 msgid "Process next"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 msgid "Given storage path cannot be used. ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 msgid "Create CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr ""
@@ -247,64 +259,68 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+msgid "Your account has been temporarily deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:316
+msgid "Your account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:319
 msgid "You entered invalid credentials."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -312,120 +328,122 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr ""
@@ -435,15 +453,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 msgid "Import Manager"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -457,28 +475,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -537,9 +542,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -585,10 +590,4 @@
 "Find below the last ${count} imports. The files contain the imported "
 "datasets."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
 msgstr ""
 
@@ -776,15 +775,15 @@
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 msgid "login_trouble4"
 msgstr ""
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -840,23 +839,29 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 msgid "Retype Password:"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr ""
@@ -878,5 +883,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr ""
@@ -914,187 +919,614 @@
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:103
-msgid "graduated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:104
-msgid "transcript requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+msgid "Customer record created"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+msgid "State '${a}' set"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:57
+msgid "Customer Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+msgid "No customer found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+msgid "Manage customer section"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+msgid "Add customer"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:184
+msgid "Create customer record"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:189
+msgid "Customer record created."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+msgid "Login as ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:235
+msgid "You successfully logged in as customer."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:353
+msgid "Trigger registration transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:389
+msgid "Customer account has been activated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:408
+msgid "Customer account has been deactivated."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+msgid "No customer record found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:479
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:537
+msgid "Upload files"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:82
+msgid "Find customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+msgid "Find customer(s)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+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
+msgid "login_as_intro_1"
+msgstr ""
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+msgid "login_as_intro_2"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+msgid "Thanks for using Ikoba!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:113
+#: 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/files.py:114
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:137
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+msgid "Reasons for Deactivation"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:185
+msgid "Trigger transition"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:194
+msgid "Login as customer"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:39
+msgid "Create customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:47
+msgid "Start registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:50
+msgid "Customer registration started"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:55
+msgid "Request registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:56
+msgid "Customer registration requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:62
+msgid "Approve customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:63
+msgid "Customer registration approved"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:69
+msgid "Reject customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:70
+msgid "Customer registration rejected"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+msgid "Reset customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:77
+msgid "Reset to initial customer state"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:83
+msgid "Reset to requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:84
+msgid "Reset to 'requested'"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:410
+msgid "Email to:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:417
+msgid "Subject:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:421
+msgid "Full Name:"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:425
-msgid "Email to:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:432
-msgid "Subject:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:436
-msgid "Full Name:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:440
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 msgid "Public Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:501
+msgid "User Id"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
+msgid "Full Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:516
-msgid "User Id"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:521
-msgid "Full Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:531
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+msgid "callbacks"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
-msgid "callbacks"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:88
+msgid "requested"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:89
+msgid "approved"
 msgstr ""
 
@@ -2192,5 +2624,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2202,10 +2634,10 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/fr/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/fr/LC_MESSAGES/waeup.ikoba.po	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/fr/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.Kofa\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2014-11-13 14:49+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -35,5 +35,5 @@
 msgstr "Paramètres du portail"
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr "Administration"
@@ -44,11 +44,11 @@
 msgstr "Configuration du portail"
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr "Les utilisateurs du portail"
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -61,9 +61,4 @@
 msgstr "Réimporter"
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-#, fuzzy
-msgid "Student Data Exports"
-msgstr "Cours d' étude"
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -78,17 +73,28 @@
 msgstr ""
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr "Adresse email"
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
-msgstr "Traitement fichier CSV"
+#: waeup/ikoba/browser/pages.py:1005
+#, fuzzy
+msgid "Only csv files are allowed."
+msgstr "Actuellement aucun de fichier journal n’est valable"
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
+msgstr ""
 
 #. Default: ""
@@ -97,54 +103,60 @@
 msgstr "Role local supprimé avec success: ${a}"
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr "Traitement fichier CSV"
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr "Retour à l’étape 1"
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr "Passer à l’étape 3"
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 "Deux en-têtes: chaque nom de colonne doit apparaître qu’une seule fois."
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr "Remplacer le fichier importé!"
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr "Importation échouée."
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr "Mettre à jour mode seulement!"
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr "Aucun element sélectionné."
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr "Réinitialiser"
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr "Mettre l’en-tête des champ"
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr "Retour à l’étape 2"
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr "Effectuer l’importation"
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr "Aucun element sélectionné."
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr "Editer les en-têtes ou remplacer le fichier importé"
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 #, fuzzy
 msgid "Process next"
@@ -152,30 +164,35 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr "Traitement des ${a} lignes erronées."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr "${a} lignes traitées avec succès."
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr "Afficher les journaux "
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr "Afficher"
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr "Recherche "
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr "Supprimer avec succès: ${a}"
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
@@ -183,66 +200,61 @@
 "d’exploitation basés sur l’Unix."
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 #, fuzzy
 msgid "No search results found."
 msgstr "Pas d’enregistrement d’étudiant trouvé."
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr "Editer les paramètres du centre de données"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr "Supprimer avec succès: ${a}"
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr "Fichier déjà existant (ne pas copié): ${a}"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 #, fuzzy
 msgid "Given storage path cannot be used. ${a}"
 msgstr "Le Chemin de stockage donné ne peut pas être utilisé."
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr "Le nouveau chemin de stockage a été défini avec succès."
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 #, fuzzy
 msgid "Create CSV file"
 msgstr "Transférer le fichier CSV"
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 #, fuzzy
 msgid "Send me a new password"
 msgstr "Changer mot de passe"
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 #, fuzzy
 msgid "Send login credentials to email address"
 msgstr "Obtenir les autorisations d'ouverture"
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 #, fuzzy
 msgid "No record found."
 msgstr "Pas d’enregistrement d’étudiant trouvé."
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 #, fuzzy
 msgid "You have successfully requested a password for the"
@@ -250,5 +262,5 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
@@ -256,5 +268,5 @@
 "${a}."
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr "Formulaire a été Sauvegardé"
@@ -262,22 +274,28 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr "Connexion"
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr "Vous etes connecté"
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+#, fuzzy
+msgid "Your account has been temporarily deactivated."
+msgstr "La liste de cours a été validée."
+
+#: waeup/ikoba/browser/pages.py:316
+#, fuzzy
+msgid "Your account has been deactivated."
+msgstr "La liste de cours a été validée."
+
+#: waeup/ikoba/browser/pages.py:319
 #, fuzzy
 msgid "You entered invalid credentials."
 msgstr "Vous avez entré des références erronées"
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 #, fuzzy
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
@@ -285,44 +303,44 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr "Contacte ${a}"
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr "Envoyer un message maintenant"
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr "Votre message a été envoyé."
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr "Envoyer maintenant"
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr "Une erreur de serveur smtp s’est produite."
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 #, fuzzy
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr "<h1> Bienvenue à WAeUP.SIRP<h1>"
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr "Gérer"
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr "Supprimer"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr "Le compte d’utilisateur ${a} supprimé avec succès."
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -330,79 +348,81 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr "Compte utilisateur ${a} ajouté avec succès."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr "Editer utilisateur ${a}"
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr "Sauvegarder"
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr "Les paramètres de l’utilisateur ont été sauvegardés."
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr "Annuller"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr "Envoyer message à ${a}"
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr "Mes Préférences"
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr "Mes Roles"
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr "Voir la configuration du portail"
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr "Editer la configuration du portail"
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr "Mise à jour modules"
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr "Ajouter configuration de session"
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr "Supprimer sélectionné"
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr "Configuration ${a} Session"
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
@@ -410,45 +430,45 @@
 "détails."
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr "Ajouter Configuration de Session"
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr "La session choisie existe déjà."
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr "Editer configuration ${a} session universitaire"
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 #, fuzzy
 msgid "Successfully deleted: ${a}"
 msgstr "Supprimer avec succès: ${a}"
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 #, fuzzy
 msgid "Processed Files"
 msgstr "Traitement fichier CSV"
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr "Retour au centre des données"
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 #, fuzzy
 msgid "Upload portal data as CSV file"
 msgstr "Transférer le fichier CSV"
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr "Télécharger (vers le serveur)"
@@ -458,5 +478,5 @@
 msgstr "Aucun rôle local sélectionné."
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 #, fuzzy
 msgid "Import Manager"
@@ -464,5 +484,5 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 #, fuzzy
 msgid "${a}: ${b} uploaded"
@@ -470,5 +490,5 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -482,29 +502,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr "Une erreur du serveur smtp produite."
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-#, fuzzy
-msgid "Only csv files are allowed."
-msgstr "Actuellement aucun de fichier journal n’est valable"
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -569,9 +575,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -619,10 +625,4 @@
 "datasets."
 msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
-msgstr "Fichier"
 
 #: waeup/ikoba/browser/templates/datacenterimport1page.pt:1
@@ -829,10 +829,10 @@
 msgstr "Problème de connexion1"
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
 msgstr "Problème de connexion2"
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 #, fuzzy
@@ -840,5 +840,5 @@
 msgstr "Problème de connexion1"
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -898,19 +898,21 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr "Contact"
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr "Déconnexion"
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 #, fuzzy
 msgid "Retype Password:"
@@ -918,4 +920,8 @@
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr "Mot de passe"
@@ -937,5 +943,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr "Envoyer un email"
@@ -977,202 +983,684 @@
 msgstr "Editer"
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr "cours enregistrés"
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr "cours validés"
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr "Ancien (ne)"
-
-#: waeup/ikoba/interfaces.py:103
-#, fuzzy
-msgid "graduated"
-msgstr "créé"
-
-#: waeup/ikoba/interfaces.py:104
-#, fuzzy
-msgid "transcript requested"
-msgstr "acquittement demandé"
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+#, fuzzy
+msgid "Customer record created"
+msgstr "Dossier d’étudiant créé"
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+#, fuzzy
+msgid "State '${a}' set"
+msgstr "Contacte ${a}"
+
+#: waeup/ikoba/customers/batching.py:57
+#, fuzzy
+msgid "Customer Processor"
+msgstr "Processeur:"
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr "Chaîne de recherche vide"
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+#, fuzzy
+msgid "No customer found."
+msgstr "Pas d’enregistrement d’étudiant trouvé."
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+#, fuzzy
+msgid "Manage customer section"
+msgstr "Gérer la section étudiant"
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+#, fuzzy
+msgid "Add customer"
+msgstr "Ajouter utilisateur"
+
+#: waeup/ikoba/customers/browser.py:184
+#, fuzzy
+msgid "Create customer record"
+msgstr "Créer les données d’étudiant"
+
+#: waeup/ikoba/customers/browser.py:189
+#, fuzzy
+msgid "Customer record created."
+msgstr "Données étudiant créé."
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+#, fuzzy
+msgid "Login now"
+msgstr "Connexion"
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+#, fuzzy
+msgid "Login as ${a}"
+msgstr "Contacte ${a}"
+
+#: waeup/ikoba/customers/browser.py:235
+#, fuzzy
+msgid "You successfully logged in as customer."
+msgstr "Vous avez changé votre mot de passe avec succès pour le"
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr "${a}: Données de Base"
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr "Prêt"
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr "Non prêt"
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr "Gestion données de base"
+
+#: waeup/ikoba/customers/browser.py:353
+#, fuzzy
+msgid "Trigger registration transition"
+msgstr "Transition d’Inscription:"
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr "Pas de transition"
+
+#: waeup/ikoba/customers/browser.py:389
+#, fuzzy
+msgid "Customer account has been activated."
+msgstr "La liste de cours a été validée."
+
+#: waeup/ikoba/customers/browser.py:408
+#, fuzzy
+msgid "Customer account has been deactivated."
+msgstr "La liste de cours a été validée."
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr "${a}: Histoire"
+
+#: waeup/ikoba/customers/browser.py:436
+#, fuzzy
+msgid "Request password for first-time login"
+msgstr "Mettre un mot de passe pour la première connexion"
+
+#: waeup/ikoba/customers/browser.py:470
+#, fuzzy
+msgid "An error occurred."
+msgstr "Une erreur du serveur smtp produite."
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+#, fuzzy
+msgid "No customer record found."
+msgstr "Aucun étudiant trouvé."
+
+#: waeup/ikoba/customers/browser.py:479
+#, fuzzy
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+"Le mot de passe a été déjà saisi. Vous utilisez le mauvais Code d’Accès."
+
+#: waeup/ikoba/customers/browser.py:522
+#, fuzzy
+msgid "Your password request was successful."
+msgstr "Votre inscription a été enregistrée avec succès."
+
+#: waeup/ikoba/customers/browser.py:537
+#, fuzzy
+msgid "Upload files"
+msgstr "Transférer le fichier"
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr "Editer données de base"
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr "Changer mot de passe"
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr "Mot de passé changé."
+
+#: waeup/ikoba/customers/browser.py:82
+#, fuzzy
+msgid "Find customers"
+msgstr "Ajouter étudiant"
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+#, fuzzy
+msgid "Find customer(s)"
+msgstr "Ajouter étudiant"
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr "Tout sélectionné"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr "avec nom"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr "avec numéro d’inscription"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr "Résultats de la Recherche"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr "Numéro Reg."
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr "Etat"
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+msgstr "avec id"
+
+#. 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
+#, fuzzy
+msgid "login_as_intro_1"
+msgstr "Problème de connexion1"
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+#, fuzzy
+msgid "login_as_intro_2"
+msgstr "Problème de connexion1"
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+#, fuzzy
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+"Un compte sera créé pour vous et un email avec vos coordonnées d'ouverture "
+"sera envoyé à l'adresse fournie."
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+"Veuillez résoudre le captcha<br />pour empêcher l'usage abusif de ce "
+"service :"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr "L'email ne peut pas être envoyé. Réessayez plus tard."
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+#, fuzzy
+msgid "Thanks for using Ikoba!"
+msgstr "Merci d'avoir utiliser SIRP !"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+#, fuzzy
+msgid "Your login credentials are:"
+msgstr "Obtenir les autorisations d'ouverture"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+#, fuzzy
+msgid "User Name:"
+msgstr "Nom d’Utilisateur ou Identifiant"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr "Un email avec votre nom d'utilisateur et mot de passe a été envoyé à"
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr "Veuillez vérifier votre compte email pour procéder."
+
+#: waeup/ikoba/customers/files.py:113
+#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
+#: waeup/ikoba/browser/templates/datacenterpage.pt:17
+#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
+msgid "File"
+msgstr "Fichier"
+
+#: waeup/ikoba/customers/files.py:114
+msgid "Scan"
+msgstr "Scan"
+
+#: waeup/ikoba/customers/files.py:137
+#, fuzzy
+msgid "Upload selected file"
+msgstr "Envoyer un nouveau fichier"
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr "Aucun fichier local sélectioné"
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr "Photo d’Identité"
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr "Photo d’Identité (jpg seulement)"
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr "${a} supprimé."
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr "Le fichier envoyé est trop grand."
+
+#: waeup/ikoba/customers/files.py:74
+#, fuzzy
+msgid "Could not determine file type."
+msgstr "Ne pourrait être supprimer:"
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr "${a} l’extension de fichier attendue."
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+#, fuzzy
+msgid "Only the following extensions are allowed: ${a}"
+msgstr "Seulement les extensions suivantes sont autorisées: ${a}"
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr "Fichier ${a} chargé."
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+#, fuzzy
+msgid "Reasons for Deactivation"
+msgstr "Description de Réponse"
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr "Id de l'étudiant"
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr "Prénom"
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr "Deuxième prénom"
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr "Nom de famille"
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr "Sexe"
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr "Numéro d’Inscription"
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr "Email"
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr "Téléphone"
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr "Histoire"
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr "Données de Base"
+
+#: waeup/ikoba/customers/viewlets.py:185
+#, fuzzy
+msgid "Trigger transition"
+msgstr "Pas de transition"
+
+#: waeup/ikoba/customers/viewlets.py:194
+#, fuzzy
+msgid "Login as customer"
+msgstr "pour les étudiants"
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr "Mes Données"
+
+#: waeup/ikoba/customers/vocabularies.py:54
+#, fuzzy
+msgid "male"
+msgstr "Féminin"
+
+#: waeup/ikoba/customers/vocabularies.py:56
+#, fuzzy
+msgid "female"
+msgstr "Féminin"
+
+#: waeup/ikoba/customers/workflow.py:39
+#, fuzzy
+msgid "Create customer"
+msgstr "Créer dortoir"
+
+#: waeup/ikoba/customers/workflow.py:47
+#, fuzzy
+msgid "Start registration"
+msgstr "Démarrer l’inscription de cours"
+
+#: waeup/ikoba/customers/workflow.py:50
+#, fuzzy
+msgid "Customer registration started"
+msgstr "L’inscription de cours a été démarré."
+
+#: waeup/ikoba/customers/workflow.py:55
+#, fuzzy
+msgid "Request registration"
+msgstr "Démarrer l’inscription de cours"
+
+#: waeup/ikoba/customers/workflow.py:56
+#, fuzzy
+msgid "Customer registration requested"
+msgstr "L’inscription de cours a été démarré."
+
+#: waeup/ikoba/customers/workflow.py:62
+#, fuzzy
+msgid "Approve customer"
+msgstr "Ajouter paiement en ligne"
+
+#: waeup/ikoba/customers/workflow.py:63
+#, fuzzy
+msgid "Customer registration approved"
+msgstr "Imprimé des cours d' inscription"
+
+#: waeup/ikoba/customers/workflow.py:69
+#, fuzzy
+msgid "Reject customer"
+msgstr "Rejeter Cours"
+
+#: waeup/ikoba/customers/workflow.py:70
+#, fuzzy
+msgid "Customer registration rejected"
+msgstr "L’inscription de cours a été démarré."
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+#, fuzzy
+msgid "Reset customer"
+msgstr "Réinitialisation pour acquitter"
+
+#: waeup/ikoba/customers/workflow.py:77
+#, fuzzy
+msgid "Reset to initial customer state"
+msgstr "Réinitialiser à valider"
+
+#: waeup/ikoba/customers/workflow.py:83
+#, fuzzy
+msgid "Reset to requested"
+msgstr "Réinitialisation pour acquitter"
+
+#: waeup/ikoba/customers/workflow.py:84
+#, fuzzy
+msgid "Reset to 'requested'"
+msgstr "Réinitialisation pour acquitter"
+
+#: waeup/ikoba/customers/workflow.py:91
+#, fuzzy
+msgid "Reset to initial state"
+msgstr "Réinitialiser à valider"
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 #, fuzzy
 msgid "Processor name"
 msgstr "Processeur:"
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 #, fuzzy
 msgid "Email Address:"
 msgstr "Adresse email"
 
-#: waeup/ikoba/interfaces.py:425
+#: waeup/ikoba/interfaces.py:410
 #, fuzzy
 msgid "Email to:"
 msgstr "Email"
 
-#: waeup/ikoba/interfaces.py:432
+#: waeup/ikoba/interfaces.py:417
 msgid "Subject:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:436
+#: waeup/ikoba/interfaces.py:421
 #, fuzzy
 msgid "Full Name:"
 msgstr "Nom Complet"
 
-#: waeup/ikoba/interfaces.py:440
+#: waeup/ikoba/interfaces.py:425
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr "Téléphone"
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 #, fuzzy
 msgid "Public Name"
 msgstr "Nom Complet"
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 #, fuzzy
 msgid "Number of failed logins"
 msgstr "Nombre des codes d'accès"
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:516
+#: waeup/ikoba/interfaces.py:501
 msgid "User Id"
 msgstr "Id de l’utilisateur"
 
-#: waeup/ikoba/interfaces.py:521
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
 msgid "Full Name"
 msgstr "Nom Complet"
 
-#: waeup/ikoba/interfaces.py:531
+#: waeup/ikoba/interfaces.py:516
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr "Rôles Portail"
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 #, fuzzy
 msgid "Name of Company"
 msgstr "Nom du département"
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+#, fuzzy
+msgid "callbacks"
+msgstr "Demander un rappel"
+
+#: waeup/ikoba/interfaces.py:604
 #, fuzzy
 msgid "Name of Administrator"
 msgstr "Administration"
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 #, fuzzy
 msgid "Email Address of Administrator"
 msgstr "Adresse email"
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 #, fuzzy
 msgid "Ikoba Contact"
 msgstr "Contact"
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 #, fuzzy
 msgid "Academic Session"
 msgstr "Section Universitaire"
 
-#: waeup/ikoba/interfaces.py:68
-#, fuzzy
-msgid "callbacks"
-msgstr "Demander un rappel"
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr "créé"
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr "admis"
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr "acquittement démarré"
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr "Démarrée"
+
+#: waeup/ikoba/interfaces.py:88
+#, fuzzy
+msgid "requested"
 msgstr "acquittement demandé"
 
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr "acquitté"
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
-msgstr "Frais de scolarité payés"
+#: waeup/ikoba/interfaces.py:89
+#, fuzzy
+msgid "approved"
+msgstr "Date de Paiement"
 
 #: waeup/ikoba/mandates/browser.py:36
@@ -2281,5 +2769,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2297,5 +2785,5 @@
 "${e}\n"
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 #, fuzzy
 msgid ""
@@ -2303,5 +2791,5 @@
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
@@ -2365,4 +2853,37 @@
 msgstr "Supprimer les tickets sélectionnés"
 
+#, fuzzy
+#~ msgid "Student Data Exports"
+#~ msgstr "Cours d' étude"
+
+#~ msgid "courses registered"
+#~ msgstr "cours enregistrés"
+
+#~ msgid "courses validated"
+#~ msgstr "cours validés"
+
+#~ msgid "returning"
+#~ msgstr "Ancien (ne)"
+
+#, fuzzy
+#~ msgid "graduated"
+#~ msgstr "créé"
+
+#, fuzzy
+#~ msgid "transcript requested"
+#~ msgstr "acquittement demandé"
+
+#~ msgid "admitted"
+#~ msgstr "admis"
+
+#~ msgid "clearance started"
+#~ msgstr "acquittement démarré"
+
+#~ msgid "cleared"
+#~ msgstr "acquitté"
+
+#~ msgid "school fee paid"
+#~ msgstr "Frais de scolarité payés"
+
 #~ msgid "Batch creation cancelled."
 #~ msgstr "Création du lot annullée"
@@ -2629,20 +3150,6 @@
 
 #, fuzzy
-#~ msgid "An error occurred."
-#~ msgstr "Une erreur du serveur smtp produite."
-
-#, fuzzy
 #~ msgid "No application record found."
 #~ msgstr "Aperçu des données de la demande"
-
-#, fuzzy
-#~ msgid ""
-#~ "Your password has already been set and used. Please proceed to the login "
-#~ "page."
-#~ msgstr ""
-#~ "Le mot de passe a été déjà saisi. Vous utilisez le mauvais Code d’Accès."
-
-#~ msgid "Empty search string"
-#~ msgstr "Chaîne de recherche vide"
 
 #~ msgid "You have successfully been registered for the"
@@ -2733,10 +3240,4 @@
 #~ msgstr "Demandeur "
 
-#~ msgid "set"
-#~ msgstr "Prêt"
-
-#~ msgid "unset"
-#~ msgstr "Non prêt"
-
 #, fuzzy
 #~ msgid "${a} <br /> Application Record ${b}"
@@ -2780,7 +3281,4 @@
 #~ msgid "${a} <br /> Application Form ${b}"
 #~ msgstr "${a} formulaire de demande ${b}"
-
-#~ msgid "No transition"
-#~ msgstr "Pas de transition"
 
 #~ msgid "No payment selected."
@@ -2910,22 +3408,7 @@
 #~ msgstr "Id du demandeur"
 
-#~ msgid "Registration Number"
-#~ msgstr "Numéro d’Inscription"
-
-#~ msgid "First Name"
-#~ msgstr "Prénom"
-
-#~ msgid "Middle Name"
-#~ msgstr "Deuxième prénom"
-
-#~ msgid "Last Name (Surname)"
-#~ msgstr "Nom de famille"
-
 #~ msgid "Date of Birth"
 #~ msgstr "Date de naissance"
 
-#~ msgid "Sex"
-#~ msgstr "Sexe"
-
 #~ msgid "1st Choice Course of Study"
 #~ msgstr "Premier choix "
@@ -2937,7 +3420,4 @@
 #~ msgstr "Notification"
 
-#~ msgid "Student Id"
-#~ msgstr "Id de l'étudiant"
-
 #~ msgid "Admitted Course of Study"
 #~ msgstr "Admis au cours"
@@ -2953,8 +3433,4 @@
 #~ msgid "Identification Number"
 #~ msgstr "Numéro d’Immatriculation"
-
-#, fuzzy
-#~ msgid "Payment approved"
-#~ msgstr "Date de Paiement"
 
 #, fuzzy
@@ -3020,24 +3496,11 @@
 #~ msgstr "Télécharger la demande en veille"
 
-#~ msgid "Create student record"
-#~ msgstr "Créer les données d’étudiant"
-
 #, fuzzy
 #~ msgid "Download payment slip"
 #~ msgstr "Télécharger le reçu du paiement"
 
-#, fuzzy
-#~ msgid "Approve payment"
-#~ msgstr "Ajouter paiement en ligne"
-
 #~ msgid "Application"
 #~ msgstr "Demande"
 
-#~ msgid "My Data"
-#~ msgstr "Mes Données"
-
-#~ msgid "Student record created"
-#~ msgstr "Dossier d’étudiant créé"
-
 #~ msgid "Reset application to started"
 #~ msgstr "Réinitialiser la demande pour commencer"
@@ -3061,7 +3524,4 @@
 #~ msgstr "Demande réinitialisée"
 
-#~ msgid "started"
-#~ msgstr "Démarrée"
-
 #~ msgid "paid"
 #~ msgstr "Payé"
@@ -3147,8 +3607,4 @@
 
 #, fuzzy
-#~ msgid "Find student(s)"
-#~ msgstr "Ajouter étudiant"
-
-#, fuzzy
 #~ msgid "Find students in "
 #~ msgstr "Aucun étudiant trouvé."
@@ -3229,12 +3685,4 @@
 #~ msgstr "Enregistrer et revenir"
 
-#, fuzzy
-#~ msgid "Your account has been temporarily deactivated."
-#~ msgstr "La liste de cours a été validée."
-
-#, fuzzy
-#~ msgid "Your account has been deactivated."
-#~ msgstr "La liste de cours a été validée."
-
 #~ msgid "Search Academic Section"
 #~ msgstr "Chercher section universitaire"
@@ -3288,8 +3736,4 @@
 #~ msgstr "Rechercher la section universitaire"
 
-#, fuzzy
-#~ msgid "Find students"
-#~ msgstr "Ajouter étudiant"
-
 #~ msgid "Show students"
 #~ msgstr "Montrer les étudiants"
@@ -3318,7 +3762,4 @@
 #~ msgid "Settings have been saved."
 #~ msgstr "Les paramètres ont été enregistrés."
-
-#~ msgid "Create hostel"
-#~ msgstr "Créer dortoir"
 
 #~ msgid "The hostel already exists."
@@ -3745,8 +4186,4 @@
 
 #, fuzzy
-#~ msgid "Course Registration Slip"
-#~ msgstr "Imprimé des cours d' inscription"
-
-#, fuzzy
 #~ msgid "1st Semester Courses"
 #~ msgstr "Enregistrer cours"
@@ -3908,16 +4345,4 @@
 #~ msgstr "Etudiant déplacé: ${a}"
 
-#~ msgid "${a}: History"
-#~ msgstr "${a}: Histoire"
-
-#~ msgid "Edit base data"
-#~ msgstr "Editer données de base"
-
-#~ msgid "Change password"
-#~ msgstr "Changer mot de passe"
-
-#~ msgid "Password changed."
-#~ msgstr "Mot de passé changé."
-
 #~ msgid "Accommodation"
 #~ msgstr "Hébergement"
@@ -4032,16 +4457,4 @@
 #~ msgstr "Le mot de passe a été saisi. Votre Id d’étudiant est ${a}"
 
-#, fuzzy
-#~ msgid "Request password for first-time login"
-#~ msgstr "Mettre un mot de passe pour la première connexion"
-
-#, fuzzy
-#~ msgid "No student record found."
-#~ msgstr "Aucun étudiant trouvé."
-
-#, fuzzy
-#~ msgid "Your password request was successful."
-#~ msgstr "Votre inscription a été enregistrée avec succès."
-
 #~ msgid "Current Session"
 #~ msgstr "Session Actuelle"
@@ -4064,7 +4477,4 @@
 #~ msgstr "Niveau"
 
-#~ msgid "Manage student section"
-#~ msgstr "Gérer la section étudiant"
-
 #, fuzzy
 #~ msgid "Current academic session not set."
@@ -4086,29 +4496,4 @@
 #~ msgstr "Ajouter étudiant"
 
-#~ msgid "Student record created."
-#~ msgstr "Données étudiant créé."
-
-#, fuzzy
-#~ msgid "Login now"
-#~ msgstr "Connexion"
-
-#, fuzzy
-#~ msgid "Login as ${a}"
-#~ msgstr "Contacte ${a}"
-
-#, fuzzy
-#~ msgid "You successfully logged in as student."
-#~ msgstr "Vous avez changé votre mot de passe avec succès pour le"
-
-#~ msgid "${a}: Base Data"
-#~ msgstr "${a}: Données de Base"
-
-#~ msgid "Manage base data"
-#~ msgstr "Gestion données de base"
-
-#, fuzzy
-#~ msgid "Trigger registration transition"
-#~ msgstr "Transition d’Inscription:"
-
 #, fuzzy
 #~ msgid "Student account has been activated."
@@ -4215,13 +4600,4 @@
 #~ msgstr "Scans"
 
-#~ msgid "Select all"
-#~ msgstr "Tout sélectionné"
-
-#~ msgid "with name"
-#~ msgstr "avec nom"
-
-#~ msgid "with registration number"
-#~ msgstr "avec numéro d’inscription"
-
 #~ msgid "with matriculation number"
 #~ msgstr "avec numéro matricule"
@@ -4233,19 +4609,7 @@
 #~ msgstr "en mode d’étude"
 
-#~ msgid "Search Results"
-#~ msgstr "Résultats de la Recherche"
-
-#~ msgid "Reg. Number"
-#~ msgstr "Numéro Reg."
-
 #~ msgid "Matric. Number"
 #~ msgstr "Numéro Matricule."
 
-#~ msgid "State"
-#~ msgstr "Etat"
-
-#~ msgid "with id"
-#~ msgstr "avec id"
-
 #, fuzzy
 #~ msgid "Course Level"
@@ -4267,12 +4631,4 @@
 #~ msgstr "Mand."
 
-#, fuzzy
-#~ msgid "login_as_intro_1"
-#~ msgstr "Problème de connexion1"
-
-#, fuzzy
-#~ msgid "login_as_intro_2"
-#~ msgstr "Problème de connexion1"
-
 #~ msgid "Category"
 #~ msgstr "Catégorie"
@@ -4283,40 +4639,4 @@
 #~ msgid "Payment Id"
 #~ msgstr "Paiement Id"
-
-#, fuzzy
-#~ msgid ""
-#~ "Your student record will be looked up and your login credentials will be "
-#~ "sent to the email address given above. To be able to proceed you must "
-#~ "provide a valid email address!"
-#~ msgstr ""
-#~ "Un compte sera créé pour vous et un email avec vos coordonnées "
-#~ "d'ouverture sera envoyé à l'adresse fournie."
-
-#~ msgid "Please solve the captcha<br />to prevent misuse of this service:"
-#~ msgstr ""
-#~ "Veuillez résoudre le captcha<br />pour empêcher l'usage abusif de ce "
-#~ "service :"
-
-#~ msgid "Email could not been sent. Please retry later."
-#~ msgstr "L'email ne peut pas être envoyé. Réessayez plus tard."
-
-#, fuzzy
-#~ msgid "Thanks for using Kofa!"
-#~ msgstr "Merci d'avoir utiliser SIRP !"
-
-#, fuzzy
-#~ msgid "Your login credentials are:"
-#~ msgstr "Obtenir les autorisations d'ouverture"
-
-#, fuzzy
-#~ msgid "User Name:"
-#~ msgstr "Nom d’Utilisateur ou Identifiant"
-
-#~ msgid "An email with your user name and password has been sent to"
-#~ msgstr ""
-#~ "Un email avec votre nom d'utilisateur et mot de passe a été envoyé à"
-
-#~ msgid "Please check your email account to proceed."
-#~ msgstr "Veuillez vérifier votre compte email pour procéder."
 
 #~ msgid "Access Code:"
@@ -4450,8 +4770,4 @@
 #~ msgstr "Niveaux d’Etude"
 
-#, fuzzy
-#~ msgid "Reasons for Deactivation"
-#~ msgstr "Description de Réponse"
-
 #~ msgid "Matriculation Number"
 #~ msgstr "Numéro d’Immatriculation"
@@ -4460,7 +4776,4 @@
 #~ msgstr "PWD Code Activation"
 
-#~ msgid "Email"
-#~ msgstr "Email"
-
 #~ msgid "Clearance form locked"
 #~ msgstr "Formulaire d’acquittement vérouillé"
@@ -4657,7 +4970,4 @@
 #~ msgstr "Données étudiant créé."
 
-#~ msgid "Base Data"
-#~ msgstr "Données de Base"
-
 #, fuzzy
 #~ msgid "Workflow History"
@@ -4675,15 +4985,4 @@
 #~ msgstr "Données Personnels"
 
-#~ msgid "History"
-#~ msgstr "Histoire"
-
-#, fuzzy
-#~ msgid "Trigger transition"
-#~ msgstr "Pas de transition"
-
-#, fuzzy
-#~ msgid "Login as student"
-#~ msgstr "pour les étudiants"
-
 #, fuzzy
 #~ msgid "Download admission letter"
@@ -4703,7 +5002,4 @@
 #~ msgstr "Valider Cours"
 
-#~ msgid "Reject courses"
-#~ msgstr "Rejeter Cours"
-
 #~ msgid "Download course registration slip"
 #~ msgstr "Télécharger imprimé des cours inscrit"
@@ -4747,43 +5043,7 @@
 #~ msgstr "Données d’hébergement"
 
-#~ msgid "${a} deleted."
-#~ msgstr "${a} supprimé."
-
-#~ msgid "Uploaded file is too big."
-#~ msgstr "Le fichier envoyé est trop grand."
-
-#, fuzzy
-#~ msgid "Could not determine file type."
-#~ msgstr "Ne pourrait être supprimer:"
-
-#~ msgid "${a} file extension expected."
-#~ msgstr "${a} l’extension de fichier attendue."
-
-#, fuzzy
-#~ msgid "Only the following extensions are allowed: ${a}"
-#~ msgstr "Seulement les extensions suivantes sont autorisées: ${a}"
-
-#~ msgid "File ${a} uploaded."
-#~ msgstr "Fichier ${a} chargé."
-
-#~ msgid "Scan"
-#~ msgstr "Scan"
-
-#, fuzzy
-#~ msgid "Upload selected file"
-#~ msgstr "Envoyer un nouveau fichier"
-
 #~ msgid "Application Slip"
 #~ msgstr "Imprimé de demande"
 
-#~ msgid "No local file selected."
-#~ msgstr "Aucun fichier local sélectioné"
-
-#~ msgid "Passport Picture"
-#~ msgstr "Photo d’Identité"
-
-#~ msgid "Passport Picture (jpg only)"
-#~ msgstr "Photo d’Identité (jpg seulement)"
-
 #~ msgid "Birth Certificate"
 #~ msgstr "Extrait d’Acte de Naissance"
@@ -4808,12 +5068,4 @@
 
 #, fuzzy
-#~ msgid "male"
-#~ msgstr "Féminin"
-
-#, fuzzy
-#~ msgid "female"
-#~ msgstr "Féminin"
-
-#, fuzzy
 #~ msgid "Error: wrong level id ${value}"
 #~ msgstr "Erreur: niveau id ${value} en dépassement"
@@ -4822,11 +5074,4 @@
 #~ msgstr "Erreur: niveau id ${value} en dépassement"
 
-#~ msgid "Reset to cleared"
-#~ msgstr "Réinitialisation pour acquitter"
-
-#, fuzzy
-#~ msgid "Reset to 'cleared'"
-#~ msgstr "Réinitialisation pour acquitter"
-
 #, fuzzy
 #~ msgid "School fee payment made"
@@ -4923,8 +5168,4 @@
 #~ msgid "Reset student"
 #~ msgstr "Réinitialisé etudiant"
-
-#, fuzzy
-#~ msgid "Reset to initial state"
-#~ msgstr "Réinitialiser à valider"
 
 #~ msgid "Clearance started"
@@ -5236,7 +5477,4 @@
 #~ msgstr "Note du test "
 
-#~ msgid "Upload file"
-#~ msgstr "Transférer le fichier"
-
 #~ msgid "Batch processing"
 #~ msgstr "Traitement par lots"
@@ -5326,7 +5564,4 @@
 #~ msgstr "Rôles Portail"
 
-#~ msgid "Start course registration"
-#~ msgstr "Démarrer l’inscription de cours"
-
 #~ msgid "Start course registration now"
 #~ msgstr "Démarrer l’inscription de cours maintenant"
@@ -5335,7 +5570,4 @@
 #~ msgid "You are in wrong state."
 #~ msgstr "Etudiant est dans un faux état."
-
-#~ msgid "Course registration has been started."
-#~ msgstr "L’inscription de cours a été démarré."
 
 #~ msgid "File name has no extension."
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ha/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ha/LC_MESSAGES/waeup.ikoba.po	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ha/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.KOFA\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2012-03-09 07:17+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -36,5 +36,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr ""
@@ -45,11 +45,11 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -61,8 +61,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-msgid "Student Data Exports"
-msgstr ""
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -77,16 +73,26 @@
 msgstr ""
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -96,151 +102,157 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 msgid "Process next"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 msgid "Given storage path cannot be used. ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 msgid "Create CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr ""
@@ -248,64 +260,68 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+msgid "Your account has been temporarily deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:316
+msgid "Your account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:319
 msgid "You entered invalid credentials."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -313,120 +329,122 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr ""
@@ -436,15 +454,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 msgid "Import Manager"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -458,28 +476,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -538,9 +543,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -586,10 +591,4 @@
 "Find below the last ${count} imports. The files contain the imported "
 "datasets."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
 msgstr ""
 
@@ -777,15 +776,15 @@
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 msgid "login_trouble4"
 msgstr ""
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -841,23 +840,29 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 msgid "Retype Password:"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr ""
@@ -879,5 +884,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr ""
@@ -915,187 +920,614 @@
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:103
-msgid "graduated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:104
-msgid "transcript requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+msgid "Customer record created"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+msgid "State '${a}' set"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:57
+msgid "Customer Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+msgid "No customer found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+msgid "Manage customer section"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+msgid "Add customer"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:184
+msgid "Create customer record"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:189
+msgid "Customer record created."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+msgid "Login as ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:235
+msgid "You successfully logged in as customer."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:353
+msgid "Trigger registration transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:389
+msgid "Customer account has been activated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:408
+msgid "Customer account has been deactivated."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+msgid "No customer record found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:479
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:537
+msgid "Upload files"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:82
+msgid "Find customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+msgid "Find customer(s)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+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
+msgid "login_as_intro_1"
+msgstr ""
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+msgid "login_as_intro_2"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+msgid "Thanks for using Ikoba!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:113
+#: 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/files.py:114
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:137
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+msgid "Reasons for Deactivation"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:185
+msgid "Trigger transition"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:194
+msgid "Login as customer"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:39
+msgid "Create customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:47
+msgid "Start registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:50
+msgid "Customer registration started"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:55
+msgid "Request registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:56
+msgid "Customer registration requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:62
+msgid "Approve customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:63
+msgid "Customer registration approved"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:69
+msgid "Reject customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:70
+msgid "Customer registration rejected"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+msgid "Reset customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:77
+msgid "Reset to initial customer state"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:83
+msgid "Reset to requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:84
+msgid "Reset to 'requested'"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:410
+msgid "Email to:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:417
+msgid "Subject:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:421
+msgid "Full Name:"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:425
-msgid "Email to:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:432
-msgid "Subject:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:436
-msgid "Full Name:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:440
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 msgid "Public Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:501
+msgid "User Id"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
+msgid "Full Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:516
-msgid "User Id"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:521
-msgid "Full Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:531
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+msgid "callbacks"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
-msgid "callbacks"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:88
+msgid "requested"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:89
+msgid "approved"
 msgstr ""
 
@@ -2193,5 +2625,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2203,10 +2635,10 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ig/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ig/LC_MESSAGES/waeup.ikoba.po	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/ig/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.KOFA\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2012-03-09 07:17+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -36,5 +36,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr ""
@@ -45,11 +45,11 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -61,8 +61,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-msgid "Student Data Exports"
-msgstr ""
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -77,16 +73,26 @@
 msgstr ""
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -96,151 +102,157 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 msgid "Process next"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 msgid "Given storage path cannot be used. ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 msgid "Create CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr ""
@@ -248,64 +260,68 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+msgid "Your account has been temporarily deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:316
+msgid "Your account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:319
 msgid "You entered invalid credentials."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -313,120 +329,122 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr ""
@@ -436,15 +454,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 msgid "Import Manager"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -458,28 +476,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -538,9 +543,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -586,10 +591,4 @@
 "Find below the last ${count} imports. The files contain the imported "
 "datasets."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
 msgstr ""
 
@@ -777,15 +776,15 @@
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 msgid "login_trouble4"
 msgstr ""
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -841,23 +840,29 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 msgid "Retype Password:"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr ""
@@ -879,5 +884,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr ""
@@ -915,187 +920,614 @@
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:103
-msgid "graduated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:104
-msgid "transcript requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+msgid "Customer record created"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+msgid "State '${a}' set"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:57
+msgid "Customer Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+msgid "No customer found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+msgid "Manage customer section"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+msgid "Add customer"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:184
+msgid "Create customer record"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:189
+msgid "Customer record created."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+msgid "Login as ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:235
+msgid "You successfully logged in as customer."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:353
+msgid "Trigger registration transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:389
+msgid "Customer account has been activated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:408
+msgid "Customer account has been deactivated."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+msgid "No customer record found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:479
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:537
+msgid "Upload files"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:82
+msgid "Find customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+msgid "Find customer(s)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+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
+msgid "login_as_intro_1"
+msgstr ""
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+msgid "login_as_intro_2"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+msgid "Thanks for using Ikoba!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:113
+#: 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/files.py:114
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:137
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+msgid "Reasons for Deactivation"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:185
+msgid "Trigger transition"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:194
+msgid "Login as customer"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:39
+msgid "Create customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:47
+msgid "Start registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:50
+msgid "Customer registration started"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:55
+msgid "Request registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:56
+msgid "Customer registration requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:62
+msgid "Approve customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:63
+msgid "Customer registration approved"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:69
+msgid "Reject customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:70
+msgid "Customer registration rejected"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+msgid "Reset customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:77
+msgid "Reset to initial customer state"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:83
+msgid "Reset to requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:84
+msgid "Reset to 'requested'"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:410
+msgid "Email to:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:417
+msgid "Subject:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:421
+msgid "Full Name:"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:425
-msgid "Email to:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:432
-msgid "Subject:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:436
-msgid "Full Name:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:440
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 msgid "Public Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:501
+msgid "User Id"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
+msgid "Full Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:516
-msgid "User Id"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:521
-msgid "Full Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:531
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+msgid "callbacks"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
-msgid "callbacks"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:88
+msgid "requested"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:89
+msgid "approved"
 msgstr ""
 
@@ -2193,5 +2625,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2203,10 +2635,10 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/waeup.ikoba.pot
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/waeup.ikoba.pot	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/waeup.ikoba.pot	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: Development/Unknown\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -33,5 +33,5 @@
 
 #: waeup/ikoba/browser/breadcrumbs.py:119
-#: waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr ""
@@ -44,5 +44,5 @@
 
 #: waeup/ikoba/browser/breadcrumbs.py:144
-#: waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329
 #: waeup/ikoba/browser/viewlets.py:554
@@ -51,6 +51,6 @@
 
 #: waeup/ikoba/browser/breadcrumbs.py:151
-#: waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425
+#: waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458
 #: waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
@@ -65,8 +65,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-msgid "Student Data Exports"
-msgstr ""
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -82,171 +78,188 @@
 
 #: waeup/ikoba/browser/interfaces.py:182
-#: waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/customers/interfaces.py:217
+#: waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103
-#: waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235
-#: waeup/ikoba/browser/pages.py:1347
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid "Your file contains forbidden characters or has invalid CSV format. First problematic line detected: line %s. Please replace."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:113
+#. Default: ""
+msgid "Local role successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268
+#: waeup/ikoba/browser/pages.py:1380
 msgid "Process CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:113
-#. Default: ""
-msgid "Local role successfully removed: ${a}"
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1200
-#: waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233
+#: waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1238
-#: waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126
+#: waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1271
+#: waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:126
-#: waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 msgid "Process next"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 #. Default: ""
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 #. Default: ""
 msgid "Successfully processed ${a} rows."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1427
+#: waeup/ikoba/browser/pages.py:1460
 #: waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#: waeup/ikoba/browser/pages.py:147
+#: waeup/ikoba/customers/browser.py:169
+#. Default: ""
+msgid "Successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:147
-#. Default: ""
-msgid "Successfully removed: ${a}"
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 #. Default: ""
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 #. Default: ""
 msgid "Given storage path cannot be used. ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 msgid "Create CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658
+#: waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 #. Default: ""
 msgid "An email with your user name and password has been sent to ${a}."
@@ -254,4 +267,5 @@
 
 #: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr ""
@@ -260,200 +274,212 @@
 #: waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+msgid "Your account has been temporarily deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:316
+msgid "Your account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:319
 msgid "You entered invalid credentials."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 #. Default: ""
 msgid "Contact ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:349
-#: waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382
+#: waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:368
 #: waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679
+#: waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519
+#: waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:487
+#: waeup/ikoba/browser/pages.py:520
 #: waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 #. Default: ""
 msgid "User account ${a} successfully deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:531
-#: waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564
+#: waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 #. Default: ""
 msgid "User account ${a} successfully added."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 #. Default: ""
 msgid "Edit user ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:584
-#: waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728
-#: waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617
+#: waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761
+#: waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498
+#: waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368
+#: waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:613
-#: waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817
-#: waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660
+#: waeup/ikoba/customers/browser.py:278
 #. Default: ""
 msgid "Send message to ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:656
+#: waeup/ikoba/browser/pages.py:689
 #: waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:669
+#: waeup/ikoba/browser/pages.py:702
 #: waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:717
-#: waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750
+#: waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:718
-#: waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751
+#: waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866
+#: waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 #. Default: ""
 msgid "Session ${a} Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 #. Default: ""
 msgid "Edit academic session ${a} configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 #. Default: ""
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:867
-#: waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105
-#: waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428
-#: waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900
+#: waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138
+#: waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461
+#: waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr ""
@@ -463,14 +489,14 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 msgid "Import Manager"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 #. Default: ""
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 #. Default: ""
 msgid ""
@@ -485,27 +511,16 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949
-#: waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982
+#: waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid "Your file contains forbidden characters or has invalid CSV format. First problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -564,5 +579,5 @@
 
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
-msgid "Here you can create CSV files from parts of portal data except student data. Please pick the type of objects you want to export from the selection below. The file will be generated and then be made available for you to download in the table below. Files can only be downloaded within 24 hours after generation. The download link disappears afterwards."
+msgid "Here you can create CSV files from parts of portal data. Please pick the type of objects you want to export from the selection below. The file will be generated and then be made available for you to download in the table below. Files can only be downloaded within 24 hours after generation. The download link disappears afterwards."
 msgstr ""
 
@@ -608,4 +623,570 @@
 msgstr ""
 
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:1
+msgid "Step 1"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:13
+msgid "Filename"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:14
+#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:10
+#: waeup/ikoba/browser/templates/datacenterpage.pt:18
+msgid "Datasets"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:15
+msgid "Size"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:2
+msgid "Using batch processing you can mass-create, mass-update, or mass-remove datasets from the database using CSV files."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:21
+msgid "Select"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport1page.pt:6
+msgid "Please select a file for processing from the list below."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:1
+msgid "Step 2"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:14
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:36
+msgid "Header"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:15
+msgid "Sample Record 1"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:16
+msgid "Sample Record 2"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:17
+msgid "Sample Record 3"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:39
+msgid "Mode:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport2page.pt:8
+msgid "Please select a file-processor and a processing-mode from the selections below."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:1
+msgid "Header fields OK"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:37
+msgid "change to"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:38
+msgid "Sample Record"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:6
+msgid "Step 3"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:8
+msgid "Eventually modify headerfields of import file below."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport4page.pt:1
+msgid "Step 4"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport4page.pt:13
+#: waeup/ikoba/browser/templates/datacenterimport3page.pt:24
+msgid "Processing mode:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterimport4page.pt:2
+msgid "Batch processing finished."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterlogspage.pt:2
+msgid "Currently no log files are available."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacentermanagepage.pt:5
+msgid "Storage path"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterpage.pt:1
+msgid "The data center helps you to manage portal data. You can upload CSV files here, which will be available for import afterwards."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenterpage.pt:7
+msgid "Storage path:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:1
+msgid "Before uploading a file check that your file header corresponds with header format of the selected processor. All available headers are listed below. After file upload click the 'Process data' button and proceed up to import step 3. Verify that the data format meets all the import criteria and requirements of the processor."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:14
+msgid "File:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:30
+msgid "Processor:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:43
+msgid "Import Mode:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:62
+msgid "Import managers will be automatically informed by email after file upload. There is no need for assigning tickets or sending emails anymore. The data will be imported according to the information given."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:70
+msgid "Available Processors (Importers)"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:75
+msgid "Processor"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:76
+msgid "Required Schema Fields"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:77
+msgid "Optional Schema Fields"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:78
+msgid "Non-Schema Fields"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:84
+msgid "Download CSV Skeleton File"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/default_waeup_display_form.pt:6
+msgid "Uploaded Files"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:10
+msgid "Password"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:13
+msgid "Notice: User names, Ids and passwords are case sensitive."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:20
+#. Default: "Don't forget to logout or exit your browser when you're done. If you are having trouble logging in, make sure to enable cookies in your web browser."
+msgid "login_trouble1"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:23
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
+msgid "login_trouble2"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:28
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
+msgid "login_trouble4"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:32
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+msgid "login_trouble3"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/loginpage.pt:4
+msgid "User Name or Id"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/myrolespage.pt:1
+msgid "My Portal Roles:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/myrolespage.pt:11
+msgid "My Local Roles:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/notfound.pt:1
+msgid "The page you are trying to access is not available."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/notfound.pt:12
+msgid "You might be trying to access a non-existing page."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/notfound.pt:6
+msgid "Please note the following:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/notfound.pt:9
+msgid "You might have misspelled the URL."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/reportscontainercreate.pt:2
+msgid "Here you can create reports representing portal data. Please pick the type of report you want to create from the selection below. Afterwards you can configure the report (do the settings). The report data will be calculated and then made available for you to view/download."
+msgstr ""
+
+#: waeup/ikoba/browser/templates/reportscontainerpage.pt:4
+msgid "Report Number"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/reportscontainerpage.pt:5
+msgid "Description"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/reportscontainerpage.pt:50
+msgid "Create new report"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/staffsitelayout.pt:46
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
+msgid "Contact"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/staffsitelayout.pt:52
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
+msgid "Logout"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/staffsitelayout.pt:6
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
+msgid "Retype Password:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
+msgid "Password:"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/userscontainerpage.pt:4
+msgid "Id"
+msgstr ""
+
+#: waeup/ikoba/browser/templates/userscontainerpage.pt:7
+msgid "Local Roles"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:165
+msgid "Add"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:305
+msgid "Any link text"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/customers/viewlets.py:168
+msgid "Send email"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:396
+msgid "Edit settings"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:412
+msgid "Show logs"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:421
+msgid "Upload data"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:430
+msgid "Process data"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:439
+msgid "Export data"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:448
+msgid "View processed files"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:508
+msgid "Enquiries"
+msgstr ""
+
+#: waeup/ikoba/browser/viewlets.py:93
+#: waeup/ikoba/browser/viewlets.py:155
+msgid "Edit"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:139
+#: waeup/ikoba/customers/workflow.py:42
+msgid "Customer record created"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:194
+#. Default: ""
+msgid "State '${a}' set"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:57
+msgid "Customer Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:100
+#: waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:106
+#: waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112
+#: waeup/ikoba/customers/browser.py:154
+msgid "No customer found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:123
+#: waeup/ikoba/customers/viewlets.py:152
+msgid "Manage customer section"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:181
+#: waeup/ikoba/customers/viewlets.py:159
+msgid "Add customer"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:184
+msgid "Create customer record"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:189
+msgid "Customer record created."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:203
+#. Default: ""
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:229
+#. Default: ""
+msgid "Login as ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:235
+msgid "You successfully logged in as customer."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:253
+#. Default: ""
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:255
+#. Default: ""
+msgid "${a}: Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:353
+msgid "Trigger registration transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:389
+msgid "Customer account has been activated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:408
+msgid "Customer account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:426
+#. Default: ""
+msgid "${a}: History"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:476
+#: waeup/ikoba/customers/browser.py:488
+msgid "No customer record found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:479
+msgid "Your password has already been set and used. Please proceed to the login page."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:537
+msgid "Upload files"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:57
+#: waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573
+#: waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:82
+msgid "Find customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:83
+#: waeup/ikoba/customers/browser.py:124
+msgid "Find customer(s)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/loginasstep1.pt:6
+#. 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."
+msgid "login_as_intro_1"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+msgid "login_as_intro_2"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid "Your student record will be looked up and your login credentials will be sent to the email address given above. To be able to proceed you must provide a valid email address!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+msgid "Thanks for using Ikoba!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid "Please note that passwords are case-sensitive, <br />when entering your credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:113
 #: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
 #: waeup/ikoba/browser/templates/datacenterpage.pt:17
@@ -614,494 +1195,362 @@
 msgstr ""
 
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:1
-msgid "Step 1"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:13
-msgid "Filename"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:14
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:10
-#: waeup/ikoba/browser/templates/datacenterpage.pt:18
-msgid "Datasets"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:15
-msgid "Size"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:2
-msgid "Using batch processing you can mass-create, mass-update, or mass-remove datasets from the database using CSV files."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:21
-msgid "Select"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport1page.pt:6
-msgid "Please select a file for processing from the list below."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:1
-msgid "Step 2"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:14
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:36
-msgid "Header"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:15
-msgid "Sample Record 1"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:16
-msgid "Sample Record 2"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:17
-msgid "Sample Record 3"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:39
-msgid "Mode:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport2page.pt:8
-msgid "Please select a file-processor and a processing-mode from the selections below."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:1
-msgid "Header fields OK"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:37
-msgid "change to"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:38
-msgid "Sample Record"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:6
-msgid "Step 3"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:8
-msgid "Eventually modify headerfields of import file below."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport4page.pt:1
-msgid "Step 4"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport4page.pt:13
-#: waeup/ikoba/browser/templates/datacenterimport3page.pt:24
-msgid "Processing mode:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterimport4page.pt:2
-msgid "Batch processing finished."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:2
-msgid "Currently no log files are available."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacentermanagepage.pt:5
-msgid "Storage path"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterpage.pt:1
-msgid "The data center helps you to manage portal data. You can upload CSV files here, which will be available for import afterwards."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterpage.pt:7
-msgid "Storage path:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:1
-msgid "Before uploading a file check that your file header corresponds with header format of the selected processor. All available headers are listed below. After file upload click the 'Process data' button and proceed up to import step 3. Verify that the data format meets all the import criteria and requirements of the processor."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:14
-msgid "File:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:30
-msgid "Processor:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:43
-msgid "Import Mode:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:62
-msgid "Import managers will be automatically informed by email after file upload. There is no need for assigning tickets or sending emails anymore. The data will be imported according to the information given."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:70
-msgid "Available Processors (Importers)"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:75
-msgid "Processor"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:76
-msgid "Required Schema Fields"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:77
-msgid "Optional Schema Fields"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:78
-msgid "Non-Schema Fields"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenteruploadpage.pt:84
-msgid "Download CSV Skeleton File"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/default_waeup_display_form.pt:6
-msgid "Uploaded Files"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:10
-msgid "Password"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:13
-msgid "Notice: User names, Ids and passwords are case sensitive."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:20
-#. Default: "Don't forget to logout or exit your browser when you're done. If you are having trouble logging in, make sure to enable cookies in your web browser."
-msgid "login_trouble1"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:23
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
-msgid "login_trouble2"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:28
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
-msgid "login_trouble4"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:32
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
-msgid "login_trouble3"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/loginpage.pt:4
-msgid "User Name or Id"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/myrolespage.pt:1
-msgid "My Portal Roles:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/myrolespage.pt:11
-msgid "My Local Roles:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/notfound.pt:1
-msgid "The page you are trying to access is not available."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/notfound.pt:12
-msgid "You might be trying to access a non-existing page."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/notfound.pt:6
-msgid "Please note the following:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/notfound.pt:9
-msgid "You might have misspelled the URL."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/reportscontainercreate.pt:2
-msgid "Here you can create reports representing portal data. Please pick the type of report you want to create from the selection below. Afterwards you can configure the report (do the settings). The report data will be calculated and then made available for you to view/download."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/reportscontainerpage.pt:4
-msgid "Report Number"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/reportscontainerpage.pt:5
-msgid "Description"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/reportscontainerpage.pt:50
-msgid "Create new report"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
-msgid "Contact"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
-msgid "Logout"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/usereditformpage.pt:15
-msgid "Retype Password:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/usereditformpage.pt:9
-msgid "Password:"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/userscontainerpage.pt:4
-msgid "Id"
-msgstr ""
-
-#: waeup/ikoba/browser/templates/userscontainerpage.pt:7
-msgid "Local Roles"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:165
-msgid "Add"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:305
-msgid "Any link text"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:387
-msgid "Send email"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:396
-msgid "Edit settings"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:412
-msgid "Show logs"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:421
-msgid "Upload data"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:430
-msgid "Process data"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:439
-msgid "Export data"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:448
-msgid "View processed files"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:508
-msgid "Enquiries"
-msgstr ""
-
-#: waeup/ikoba/browser/viewlets.py:93
-#: waeup/ikoba/browser/viewlets.py:155
-msgid "Edit"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:103
-msgid "graduated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:104
-msgid "transcript requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/files.py:114
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:137
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:48
+#. Default: ""
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:79
+#. Default: ""
+msgid "${a} file extension expected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:85
+#. Default: ""
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:95
+#. Default: ""
+msgid "File ${a} uploaded."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+msgid "Reasons for Deactivation"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid "This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:156
+#: waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:105
+#: waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:124
+#: waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:185
+msgid "Trigger transition"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:194
+msgid "Login as customer"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214
+#: waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:39
+msgid "Create customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:47
+msgid "Start registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:50
+msgid "Customer registration started"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:55
+msgid "Request registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:56
+msgid "Customer registration requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:62
+msgid "Approve customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:63
+msgid "Customer registration approved"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:69
+msgid "Reject customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:70
+msgid "Customer registration rejected"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:76
+#: waeup/ikoba/customers/workflow.py:90
+msgid "Reset customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:77
+msgid "Reset to initial customer state"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:83
+msgid "Reset to requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:84
+msgid "Reset to 'requested'"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:410
+msgid "Email to:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:417
+msgid "Subject:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:421
+msgid "Full Name:"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:425
-msgid "Email to:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:432
-msgid "Subject:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:436
-msgid "Full Name:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:440
 msgid "Text:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:454
+#: waeup/ikoba/interfaces.py:510
+msgid "Public Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:464
-#: waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:469
-#: waeup/ikoba/interfaces.py:525
-msgid "Public Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:479
-#: waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:465
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:501
+msgid "User Id"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
+msgid "Full Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:516
-msgid "User Id"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:521
-msgid "Full Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:531
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+msgid "callbacks"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
-msgid "callbacks"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:88
+msgid "requested"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:89
+msgid "approved"
 msgstr ""
 
@@ -2201,5 +2650,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2211,10 +2660,10 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
Index: /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/yo/LC_MESSAGES/waeup.ikoba.po
===================================================================
--- /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/yo/LC_MESSAGES/waeup.ikoba.po	(revision 11979)
+++ /main/waeup.ikoba/trunk/src/waeup/ikoba/locales/yo/LC_MESSAGES/waeup.ikoba.po	(revision 11980)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: WAeUP.Kofa\n"
-"POT-Creation-Date: Thu Nov 13 15:09:53 2014\n"
+"POT-Creation-Date: Mon Nov 17 13:28:06 2014\n"
 "PO-Revision-Date: 2012-03-09 07:17+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
@@ -36,5 +36,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:438
+#: waeup/ikoba/browser/breadcrumbs.py:119 waeup/ikoba/browser/pages.py:471
 msgid "Administration"
 msgstr ""
@@ -45,11 +45,11 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:485
+#: waeup/ikoba/browser/breadcrumbs.py:144 waeup/ikoba/browser/pages.py:518
 #: waeup/ikoba/browser/viewlets.py:329 waeup/ikoba/browser/viewlets.py:554
 msgid "Portal Users"
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:830
-#: waeup/ikoba/browser/pages.py:1425 waeup/ikoba/browser/viewlets.py:338
+#: waeup/ikoba/browser/breadcrumbs.py:151 waeup/ikoba/browser/pages.py:863
+#: waeup/ikoba/browser/pages.py:1458 waeup/ikoba/browser/viewlets.py:338
 #: waeup/ikoba/browser/viewlets.py:563
 msgid "Data Center"
@@ -61,8 +61,4 @@
 msgstr ""
 
-#: waeup/ikoba/browser/breadcrumbs.py:166
-msgid "Student Data Exports"
-msgstr ""
-
 #: waeup/ikoba/browser/breadcrumbs.py:92
 msgid "Home"
@@ -77,16 +73,26 @@
 msgstr ""
 
-#: waeup/ikoba/browser/interfaces.py:182 waeup/ikoba/interfaces.py:459
-#: waeup/ikoba/interfaces.py:535
+#: waeup/ikoba/browser/interfaces.py:182
+#: waeup/ikoba/customers/interfaces.py:217 waeup/ikoba/interfaces.py:444
+#: waeup/ikoba/interfaces.py:520
 msgid "Email Address"
 msgstr ""
 
-#: waeup/ikoba/browser/layout.py:101
+#: waeup/ikoba/browser/layout.py:102
 msgid "Are you sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1103 waeup/ikoba/browser/pages.py:1132
-#: waeup/ikoba/browser/pages.py:1235 waeup/ikoba/browser/pages.py:1347
-msgid "Process CSV file"
+#: waeup/ikoba/browser/pages.py:1005
+msgid "Only csv files are allowed."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1013
+msgid "File with same name was uploaded earlier."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1024
+msgid ""
+"Your file contains forbidden characters or has invalid CSV format. First "
+"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -96,151 +102,157 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1135
+#: waeup/ikoba/browser/pages.py:1136 waeup/ikoba/browser/pages.py:1165
+#: waeup/ikoba/browser/pages.py:1268 waeup/ikoba/browser/pages.py:1380
+msgid "Process CSV file"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1168
 msgid "Back to step 1"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1136
+#: waeup/ikoba/browser/pages.py:1169
 msgid "Proceed to step 3"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1179
+#: waeup/ikoba/browser/pages.py:1212
 msgid "Double headers: each column name may only appear once. "
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1187
+#: waeup/ikoba/browser/pages.py:1220
 msgid "Replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1200 waeup/ikoba/browser/pages.py:1323
+#: waeup/ikoba/browser/pages.py:1233 waeup/ikoba/browser/pages.py:1356
 msgid "Import aborted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1212
+#: waeup/ikoba/browser/pages.py:1245
 msgid "Update mode only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1238 waeup/ikoba/browser/pages.py:1466
+#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:872
+#: waeup/ikoba/customers/browser.py:156
+msgid "No item selected."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1271 waeup/ikoba/browser/pages.py:1499
 msgid "Reset"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1239
+#: waeup/ikoba/browser/pages.py:1272
 msgid "Set headerfields"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1240
+#: waeup/ikoba/browser/pages.py:1273
 msgid "Back to step 2"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1241
+#: waeup/ikoba/browser/pages.py:1274
 msgid "Perform import"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:126 waeup/ikoba/browser/pages.py:839
-msgid "No item selected."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:1306
+#: waeup/ikoba/browser/pages.py:1339
 msgid "Edit headers or replace imported file!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1349
+#: waeup/ikoba/browser/pages.py:1382
 msgid "Process next"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1399
+#: waeup/ikoba/browser/pages.py:1432
 msgid "Processing of ${a} rows failed."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1401
+#: waeup/ikoba/browser/pages.py:1434
 msgid "Successfully processed ${a} rows."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1409
+#: waeup/ikoba/browser/pages.py:1442
 msgid "Show logfiles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1412
+#: waeup/ikoba/browser/pages.py:1445
 msgid "Show"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1427 waeup/ikoba/browser/viewlets.py:185
+#: waeup/ikoba/browser/pages.py:1460 waeup/ikoba/browser/viewlets.py:185
 msgid "Search"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1429
+#: waeup/ikoba/browser/pages.py:1462
 msgid "Enter a regular expression here..."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1437
+#. Default: ""
+#: waeup/ikoba/browser/pages.py:147 waeup/ikoba/customers/browser.py:169
+msgid "Successfully removed: ${a}"
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:1470
 msgid "Log files can only be searched on Unix-based operating systems."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1452
+#: waeup/ikoba/browser/pages.py:1485
 msgid "Invalid search expression."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1455
+#: waeup/ikoba/browser/pages.py:1488
 msgid "No search results found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1463
+#: waeup/ikoba/browser/pages.py:1496
 msgid "Edit data center settings"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:147
-msgid "Successfully removed: ${a}"
-msgstr ""
-
-#. Default: ""
-#: waeup/ikoba/browser/pages.py:1483
+#: waeup/ikoba/browser/pages.py:1516
 msgid "File already existed (not copied): ${a}"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1486
+#: waeup/ikoba/browser/pages.py:1519
 msgid "Given storage path cannot be used. ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1490
+#: waeup/ikoba/browser/pages.py:1523
 msgid "New storage path succefully set."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1502
+#: waeup/ikoba/browser/pages.py:1535
 msgid "Download portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1504
+#: waeup/ikoba/browser/pages.py:1537
 msgid "Create CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1530
+#: waeup/ikoba/browser/pages.py:1563
 msgid "Discarded export"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1574
+#: waeup/ikoba/browser/pages.py:1607
 msgid "Send me a new password"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1601
+#: waeup/ikoba/browser/pages.py:1633 waeup/ikoba/customers/browser.py:456
 msgid "Send login credentials to email address"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1612
+#: waeup/ikoba/browser/pages.py:1644
 msgid "No record found."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:1626
+#: waeup/ikoba/browser/pages.py:1658 waeup/ikoba/customers/browser.py:502
 msgid "You have successfully requested a password for the"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:1630
+#: waeup/ikoba/browser/pages.py:1662
 msgid "An email with your user name and password has been sent to ${a}."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:189
+#: waeup/ikoba/browser/pages.py:189 waeup/ikoba/customers/browser.py:341
 msgid "Form has been saved."
 msgstr ""
@@ -248,64 +260,68 @@
 #: waeup/ikoba/browser/pages.py:260 waeup/ikoba/browser/viewlets.py:266
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:40
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:38
+#: waeup/ikoba/browser/templates/customersitelayout.pt:39
 msgid "Login"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:268
+#: waeup/ikoba/browser/pages.py:271
 msgid "You logged in."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:277
-msgid "Your personal data record is outdated. Please update."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:286
+#: waeup/ikoba/browser/pages.py:308
+msgid "Your account has been temporarily deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:316
+msgid "Your account has been deactivated."
+msgstr ""
+
+#: waeup/ikoba/browser/pages.py:319
 msgid "You entered invalid credentials."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:301
+#: waeup/ikoba/browser/pages.py:334
 msgid "You have been logged out. Thanks for using WAeUP Ikoba!"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:343
+#: waeup/ikoba/browser/pages.py:376
 msgid "Contact ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:349 waeup/ikoba/browser/pages.py:629
+#: waeup/ikoba/browser/pages.py:382 waeup/ikoba/browser/pages.py:662
 msgid "Send message now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:368 waeup/ikoba/browser/pages.py:401
-#: waeup/ikoba/browser/pages.py:646
+#: waeup/ikoba/browser/pages.py:401 waeup/ikoba/browser/pages.py:434
+#: waeup/ikoba/browser/pages.py:679 waeup/ikoba/customers/browser.py:297
 msgid "Your message has been sent."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:388
+#: waeup/ikoba/browser/pages.py:421
 msgid "Send now"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:403
+#: waeup/ikoba/browser/pages.py:436
 msgid "A smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:428
+#: waeup/ikoba/browser/pages.py:461
 msgid "<h1>Welcome to WAeUP.Ikoba</h1>"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:486
+#: waeup/ikoba/browser/pages.py:519 waeup/ikoba/customers/viewlets.py:176
 msgid "Manage"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:487 waeup/ikoba/browser/viewlets.py:175
+#: waeup/ikoba/browser/pages.py:520 waeup/ikoba/browser/viewlets.py:175
 msgid "Remove"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:494
+#: waeup/ikoba/browser/pages.py:527
 msgid "User account ${a} successfully deleted."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:531 waeup/ikoba/browser/pages.py:533
+#: waeup/ikoba/browser/pages.py:564 waeup/ikoba/browser/pages.py:566
 #: waeup/ikoba/browser/viewlets.py:403
 msgid "Add user"
@@ -313,120 +329,122 @@
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:555
+#: waeup/ikoba/browser/pages.py:588
 msgid "User account ${a} successfully added."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:576
+#: waeup/ikoba/browser/pages.py:609
 msgid "Edit user ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:584 waeup/ikoba/browser/pages.py:715
-#: waeup/ikoba/browser/pages.py:728 waeup/ikoba/browser/pages.py:811
-#: waeup/ikoba/browser/pages.py:1465
+#: waeup/ikoba/browser/pages.py:617 waeup/ikoba/browser/pages.py:748
+#: waeup/ikoba/browser/pages.py:761 waeup/ikoba/browser/pages.py:844
+#: waeup/ikoba/browser/pages.py:1498 waeup/ikoba/customers/browser.py:319
+#: waeup/ikoba/customers/browser.py:368 waeup/ikoba/customers/browser.py:561
+#: waeup/ikoba/customers/browser.py:576
 msgid "Save"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:610
+#: waeup/ikoba/browser/pages.py:643
 msgid "User settings have been saved."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:613 waeup/ikoba/browser/pages.py:791
-#: waeup/ikoba/browser/pages.py:817 waeup/ikoba/browser/pages.py:1134
-#: waeup/ikoba/browser/pages.py:1237
+#: waeup/ikoba/browser/pages.py:646 waeup/ikoba/browser/pages.py:824
+#: waeup/ikoba/browser/pages.py:850 waeup/ikoba/browser/pages.py:1167
+#: waeup/ikoba/browser/pages.py:1270
 msgid "Cancel"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:627
+#: waeup/ikoba/browser/pages.py:660 waeup/ikoba/customers/browser.py:278
 msgid "Send message to ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:656 waeup/ikoba/browser/viewlets.py:354
+#: waeup/ikoba/browser/pages.py:689 waeup/ikoba/browser/viewlets.py:354
 msgid "My Preferences"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:669 waeup/ikoba/browser/viewlets.py:370
+#: waeup/ikoba/browser/pages.py:702 waeup/ikoba/browser/viewlets.py:370
 msgid "My Roles"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:700
+#: waeup/ikoba/browser/pages.py:733
 msgid "View portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:714
+#: waeup/ikoba/browser/pages.py:747
 msgid "Edit portal configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:715 waeup/ikoba/browser/pages.py:755
+#: waeup/ikoba/browser/pages.py:748 waeup/ikoba/browser/pages.py:788
 msgid "Update plugins"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:717 waeup/ikoba/browser/pages.py:734
-#: waeup/ikoba/browser/pages.py:771
+#: waeup/ikoba/browser/pages.py:750 waeup/ikoba/browser/pages.py:767
+#: waeup/ikoba/browser/pages.py:804
 msgid "Add session configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:718 waeup/ikoba/browser/pages.py:750
-#: waeup/ikoba/browser/pages.py:833
+#: waeup/ikoba/browser/pages.py:751 waeup/ikoba/browser/pages.py:783
+#: waeup/ikoba/browser/pages.py:866 waeup/ikoba/customers/browser.py:125
 msgid "Remove selected"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:746
+#: waeup/ikoba/browser/pages.py:779
 msgid "Session ${a} Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:756
+#: waeup/ikoba/browser/pages.py:789
 msgid "For experts only!"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:757
+#: waeup/ikoba/browser/pages.py:790
 msgid ""
 "Plugins may only be updated after software upgrades. Are you really sure?"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:762
+#: waeup/ikoba/browser/pages.py:795
 msgid "Plugins were updated. See log file for details."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:775
+#: waeup/ikoba/browser/pages.py:808
 msgid "Add Session Configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:786
+#: waeup/ikoba/browser/pages.py:819
 msgid "The session chosen already exists."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:808
+#: waeup/ikoba/browser/pages.py:841
 msgid "Edit academic session ${a} configuration"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:850
+#: waeup/ikoba/browser/pages.py:883
 msgid "OSError: The file could not be deleted."
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:854
+#: waeup/ikoba/browser/pages.py:887
 msgid "Successfully deleted: ${a}"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:865
+#: waeup/ikoba/browser/pages.py:898
 msgid "Processed Files"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:867 waeup/ikoba/browser/pages.py:883
-#: waeup/ikoba/browser/pages.py:1105 waeup/ikoba/browser/pages.py:1411
-#: waeup/ikoba/browser/pages.py:1428 waeup/ikoba/browser/pages.py:1467
-#: waeup/ikoba/browser/pages.py:1505
+#: waeup/ikoba/browser/pages.py:900 waeup/ikoba/browser/pages.py:916
+#: waeup/ikoba/browser/pages.py:1138 waeup/ikoba/browser/pages.py:1444
+#: waeup/ikoba/browser/pages.py:1461 waeup/ikoba/browser/pages.py:1500
+#: waeup/ikoba/browser/pages.py:1538
 msgid "Back to Data Center"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:879
+#: waeup/ikoba/browser/pages.py:912
 msgid "Upload portal data as CSV file"
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:882
+#: waeup/ikoba/browser/pages.py:915
 msgid "Upload"
 msgstr ""
@@ -436,15 +454,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:922
+#: waeup/ikoba/browser/pages.py:955
 msgid "Import Manager"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:924
+#: waeup/ikoba/browser/pages.py:957
 msgid "${a}: ${b} uploaded"
 msgstr ""
 
 #. Default: ""
-#: waeup/ikoba/browser/pages.py:928
+#: waeup/ikoba/browser/pages.py:961
 msgid ""
 "File: ${a}\n"
@@ -458,28 +476,15 @@
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:947
+#: waeup/ikoba/browser/pages.py:980
 msgid "All import managers have been notified by email."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:949 waeup/ikoba/browser/pages.py:1633
+#: waeup/ikoba/browser/pages.py:982 waeup/ikoba/browser/pages.py:1665
+#: waeup/ikoba/customers/browser.py:299
 msgid "An smtp server error occurred."
 msgstr ""
 
-#: waeup/ikoba/browser/pages.py:957
+#: waeup/ikoba/browser/pages.py:990
 msgid "Maximum number of files in the data center exceeded."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:972
-msgid "Only csv files are allowed."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:980
-msgid "File with same name was uploaded earlier."
-msgstr ""
-
-#: waeup/ikoba/browser/pages.py:991
-msgid ""
-"Your file contains forbidden characters or has invalid CSV format. First "
-"problematic line detected: line %s. Please replace."
 msgstr ""
 
@@ -538,9 +543,9 @@
 #: waeup/ikoba/browser/templates/datacenterexportpage.pt:1
 msgid ""
-"Here you can create CSV files from parts of portal data except student data. "
-"Please pick the type of objects you want to export from the selection below. "
-"The file will be generated and then be made available for you to download in "
-"the table below. Files can only be downloaded within 24 hours after "
-"generation. The download link disappears afterwards."
+"Here you can create CSV files from parts of portal data. Please pick the "
+"type of objects you want to export from the selection below. The file will "
+"be generated and then be made available for you to download in the table "
+"below. Files can only be downloaded within 24 hours after generation. The "
+"download link disappears afterwards."
 msgstr ""
 
@@ -586,10 +591,4 @@
 "Find below the last ${count} imports. The files contain the imported "
 "datasets."
-msgstr ""
-
-#: waeup/ikoba/browser/templates/datacenterfinishedpage.pt:9
-#: waeup/ikoba/browser/templates/datacenterpage.pt:17
-#: waeup/ikoba/browser/templates/datacenterlogspage.pt:10
-msgid "File"
 msgstr ""
 
@@ -777,15 +776,15 @@
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Acquire a Password Activation Code (PWD) and inititialize your student account <strong><a href=\"setpassword\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Acquire a Password Activation Code (PWD) and inititialize your customer account <strong><a href=\"setpassword\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:23
 msgid "login_trouble2"
 msgstr ""
 
-#. Default: "You don't have an account because you are a fresh student, or your student record has just been created? Inititialize your student account <strong><a href=\"requestpw\"> here</a></strong>."
+#. Default: "You don't have an account because you are a new customer, or your customer record has just been created? Inititialize your customer account <strong><a href=\"requestpw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:28
 msgid "login_trouble4"
 msgstr ""
 
-#. Default: "Or simply forgot your student id, application id or password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
+#. Default: "Or simply forgot your customer id password? Then request a new password <strong><a href=\"changepw\"> here</a></strong>."
 #: waeup/ikoba/browser/templates/loginpage.pt:32
 msgid "login_trouble3"
@@ -841,23 +840,29 @@
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:46
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:44
+#: waeup/ikoba/browser/templates/customersitelayout.pt:45
 msgid "Contact"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:52
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:50
+#: waeup/ikoba/browser/templates/customersitelayout.pt:51
 msgid "Logout"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/staffsitelayout.pt:6
-#: waeup/ikoba/browser/templates/studentsitelayout.pt:4
-msgid "WAeUP.Ikoba - Student Management System"
+#: waeup/ikoba/browser/templates/customersitelayout.pt:4
+msgid "WAeUP.Ikoba - Application and Registration System"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:15
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:16
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:30
 msgid "Retype Password:"
 msgstr ""
 
 #: waeup/ikoba/browser/templates/usereditformpage.pt:9
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:27
+#: waeup/ikoba/customers/browser_templates/changepassword.pt:10
+#: waeup/ikoba/customers/browser_templates/basepage.pt:14
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:24
 msgid "Password:"
 msgstr ""
@@ -879,5 +884,5 @@
 msgstr ""
 
-#: waeup/ikoba/browser/viewlets.py:387
+#: waeup/ikoba/browser/viewlets.py:387 waeup/ikoba/customers/viewlets.py:168
 msgid "Send email"
 msgstr ""
@@ -915,187 +920,614 @@
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:100
-msgid "courses registered"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:101
-msgid "courses validated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:102
-msgid "returning"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:103
-msgid "graduated"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:104
-msgid "transcript requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:232
+#: waeup/ikoba/customers/batching.py:139 waeup/ikoba/customers/workflow.py:42
+msgid "Customer record created"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/batching.py:194
+msgid "State '${a}' set"
+msgstr ""
+
+#: waeup/ikoba/customers/batching.py:57
+msgid "Customer Processor"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:100 waeup/ikoba/customers/browser.py:141
+msgid "Empty search string"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:106 waeup/ikoba/customers/browser.py:147
+msgid "Only year dates allowed (e.g. 2011)."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:112 waeup/ikoba/customers/browser.py:154
+msgid "No customer found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:123 waeup/ikoba/customers/viewlets.py:152
+msgid "Manage customer section"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:181 waeup/ikoba/customers/viewlets.py:159
+msgid "Add customer"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:184
+msgid "Create customer record"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:189
+msgid "Customer record created."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:203
+msgid "Set temporary password for ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:225
+msgid "Login now"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:229
+msgid "Login as ${a}"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:235
+msgid "You successfully logged in as customer."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:253
+msgid "${a}: Base Data (account deactivated)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:255
+msgid "${a}: Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:261
+msgid "set"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:262
+msgid "unset"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:311
+msgid "Manage base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:353
+msgid "Trigger registration transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:365
+msgid "No transition"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:389
+msgid "Customer account has been activated."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:408
+msgid "Customer account has been deactivated."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/browser.py:426
+msgid "${a}: History"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:436
+msgid "Request password for first-time login"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:470
+msgid "An error occurred."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:476 waeup/ikoba/customers/browser.py:488
+msgid "No customer record found."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:479
+msgid ""
+"Your password has already been set and used. Please proceed to the login "
+"page."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:522
+msgid "Your password request was successful."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:537
+msgid "Upload files"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:558
+msgid "Edit base data"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:57 waeup/ikoba/customers/export.py:115
+#: waeup/ikoba/customers/viewlets.py:48
+msgid "Customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:573 waeup/ikoba/customers/viewlets.py:243
+msgid "Change password"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:587
+msgid "Password changed."
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:82
+msgid "Find customers"
+msgstr ""
+
+#: waeup/ikoba/customers/browser.py:83 waeup/ikoba/customers/browser.py:124
+msgid "Find customer(s)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:59
+msgid "Select all"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:10
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:10
+msgid "with name"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:11
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:11
+msgid "with registration number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:12
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:12
+msgid "with deactivated account (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:15
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:15
+msgid "who requested transcript (search term omitted)"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:26
+msgid "Search Results"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:35
+msgid "Reg. Number"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:36
+msgid "State"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:9
+#: waeup/ikoba/customers/browser_templates/containermanagepage.pt:9
+msgid "with id"
+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
+msgid "login_as_intro_1"
+msgstr ""
+
+#. Default: "The random password \"${password}\" has been set. You can proceed by clicking the button below."
+#: waeup/ikoba/customers/browser_templates/loginasstep2.pt:5
+msgid "login_as_intro_2"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:18
+msgid ""
+"Your student record will be looked up and your login credentials will be "
+"sent to the email address given above. To be able to proceed you must "
+"provide a valid email address!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpw.pt:8
+msgid "Please solve the captcha<br />to prevent misuse of this service:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:11
+msgid "Email could not been sent. Please retry later."
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:14
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:44
+msgid "Thanks for using Ikoba!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:20
+msgid "Your login credentials are:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:23
+msgid "User Name:"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:3
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:39
+msgid "An email with your user name and password has been sent to"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:32
+msgid "Print this page and proceed to the"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:34
+msgid ""
+"Please note that passwords are case-sensitive, <br />when entering your "
+"credentials, and keep your password secret!"
+msgstr ""
+
+#: waeup/ikoba/customers/browser_templates/requestpwmailsent.pt:8
+msgid "Please check your email account to proceed."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:113
+#: 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/files.py:114
+msgid "Scan"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:137
+msgid "Upload selected file"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:138
+msgid "Delete"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:175
+msgid "No local file selected."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:188
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:12
+msgid "Passport Picture"
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:198
+msgid "Passport Picture (jpg only)"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:48
+msgid "${a} deleted."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:62
+msgid "Uploaded file is too big."
+msgstr ""
+
+#: waeup/ikoba/customers/files.py:74
+msgid "Could not determine file type."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:79
+msgid "${a} file extension expected."
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:85
+msgid "Only the following extensions are allowed: ${a}"
+msgstr ""
+
+#. Default: ""
+#: waeup/ikoba/customers/files.py:95
+msgid "File ${a} uploaded."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:104
+msgid "Account suspended"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:110
+msgid "Reasons for Deactivation"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:112
+msgid ""
+"This message will be shown if and only if deactivated customers try to login."
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:118
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:34
+msgid "Student Id"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:123
+#: waeup/ikoba/customers/interfaces.py:212
+msgid "First Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:128
+msgid "Middle Name"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:133
+msgid "Last Name (Surname)"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:138
+msgid "Sex"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:144
+#: waeup/ikoba/customers/interfaces.py:180
+#: waeup/ikoba/customers/interfaces.py:207
+msgid "Registration Number"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:151
+msgid "Email"
+msgstr ""
+
+#: waeup/ikoba/customers/interfaces.py:156 waeup/ikoba/interfaces.py:449
+#: waeup/ikoba/interfaces.py:527
+msgid "Phone"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:105 waeup/ikoba/customers/viewlets.py:145
+msgid "History"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:124 waeup/ikoba/customers/viewlets.py:140
+#: waeup/ikoba/customers/browser_templates/basemanagepage.pt:8
+msgid "Base Data"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:185
+msgid "Trigger transition"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:194
+msgid "Login as customer"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:202
+msgid "Deactivate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:214 waeup/ikoba/customers/viewlets.py:234
+msgid "'A history message will be added. Are you sure?'"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:222
+msgid "Activate account"
+msgstr ""
+
+#: waeup/ikoba/customers/viewlets.py:89
+msgid "My Data"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:54
+msgid "male"
+msgstr ""
+
+#: waeup/ikoba/customers/vocabularies.py:56
+msgid "female"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:39
+msgid "Create customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:47
+msgid "Start registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:50
+msgid "Customer registration started"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:55
+msgid "Request registration"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:56
+msgid "Customer registration requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:62
+msgid "Approve customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:63
+msgid "Customer registration approved"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:69
+msgid "Reject customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:70
+msgid "Customer registration rejected"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:76 waeup/ikoba/customers/workflow.py:90
+msgid "Reset customer"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:77
+msgid "Reset to initial customer state"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:83
+msgid "Reset to requested"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:84
+msgid "Reset to 'requested'"
+msgstr ""
+
+#: waeup/ikoba/customers/workflow.py:91
+msgid "Reset to initial state"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:217
 msgid "Subject"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:236
+#: waeup/ikoba/interfaces.py:221
 msgid "Grade"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:392
+#: waeup/ikoba/interfaces.py:377
 msgid "Processor name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:418
+#: waeup/ikoba/interfaces.py:403
 msgid "Email Address:"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:410
+msgid "Email to:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:417
+msgid "Subject:"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:421
+msgid "Full Name:"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:425
-msgid "Email to:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:432
-msgid "Subject:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:436
-msgid "Full Name:"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:440
 msgid "Text:"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:542
-msgid "Phone"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:469 waeup/ikoba/interfaces.py:525
+#: waeup/ikoba/interfaces.py:454 waeup/ikoba/interfaces.py:510
 msgid "Public Name"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:479 waeup/ikoba/interfaces.py:480
+#: waeup/ikoba/interfaces.py:464 waeup/ikoba/interfaces.py:465
 msgid "Number of failed logins"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:486
+#: waeup/ikoba/interfaces.py:471
 msgid "Timestamp"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:487
+#: waeup/ikoba/interfaces.py:472
 msgid "Timestamp of last failed login or `None`"
 msgstr ""
 
+#: waeup/ikoba/interfaces.py:501
+msgid "User Id"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:506
+#: waeup/ikoba/customers/browser_templates/containerpage.pt:37
+msgid "Full Name"
+msgstr ""
+
 #: waeup/ikoba/interfaces.py:516
-msgid "User Id"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:521
-msgid "Full Name"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:531
 msgid "Description/Notice"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:548
+#: waeup/ikoba/interfaces.py:533
 #: waeup/ikoba/browser/templates/userscontainerpage.pt:6
 msgid "Portal Roles"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:595
+#: waeup/ikoba/interfaces.py:55
+msgid "new"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:56
+msgid "completed"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:57
+msgid "pending"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:58
+msgid "active"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:580
 msgid "Name of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:596
+#: waeup/ikoba/interfaces.py:581
 msgid "Sample Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:601
+#: waeup/ikoba/interfaces.py:586
 msgid "Abbreviated Title of Company"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:607
+#: waeup/ikoba/interfaces.py:59
+msgid "assigned"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:592
 msgid "Content in HTML format"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:619
+#: waeup/ikoba/interfaces.py:60
+msgid "callbacks"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:604
 msgid "Name of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:625
+#: waeup/ikoba/interfaces.py:610
 msgid "Email Address of Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:63
-msgid "new"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:632
+#: waeup/ikoba/interfaces.py:617
 msgid "Subject of Email to Administrator"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:633
+#: waeup/ikoba/interfaces.py:618
 msgid "Ikoba Contact"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:638
+#: waeup/ikoba/interfaces.py:623
 msgid "SMTP mailer to use when sending mail"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:64
-msgid "completed"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:645
+#: waeup/ikoba/interfaces.py:630
 msgid "Captcha used for public registration pages"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:65
-msgid "pending"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:657
+#: waeup/ikoba/interfaces.py:642
 msgid "Period"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:66
-msgid "active"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:67
-msgid "assigned"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:675
+#: waeup/ikoba/interfaces.py:660
 msgid "Academic Session"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:68
-msgid "callbacks"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:94
+#: waeup/ikoba/interfaces.py:86
 msgid "created"
 msgstr ""
 
-#: waeup/ikoba/interfaces.py:95
-msgid "admitted"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:96
-msgid "clearance started"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:97
-msgid "clearance requested"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:98
-msgid "cleared"
-msgstr ""
-
-#: waeup/ikoba/interfaces.py:99
-msgid "school fee paid"
+#: waeup/ikoba/interfaces.py:87
+msgid "started"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:88
+msgid "requested"
+msgstr ""
+
+#: waeup/ikoba/interfaces.py:89
+msgid "approved"
 msgstr ""
 
@@ -2193,5 +2625,5 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:214
+#: waeup/ikoba/utils/utils.py:210
 msgid ""
 "Fullname: ${a}\n"
@@ -2203,10 +2635,10 @@
 msgstr ""
 
-#: waeup/ikoba/utils/utils.py:266
+#: waeup/ikoba/utils/utils.py:262
 msgid ""
 "Dear ${a},\n"
 "\n"
 "${b}\n"
-"Student Registration and Information Portal of\n"
+"Application and Registration Portal of\n"
 "${c}.\n"
 "\n"
