Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 11254)
@@ -46,10 +46,8 @@
 from waeup.kofa.browser.interfaces import ICaptchaManager
 from waeup.kofa.browser.breadcrumbs import Breadcrumb
-from waeup.kofa.browser.resources import toggleall
 from waeup.kofa.browser.layout import (
     NullValidator, jsaction, action, UtilityView, JSAction)
 from waeup.kofa.browser.pages import (
     add_local_role, del_local_roles, doll_up, ExportCSVView)
-from waeup.kofa.browser.resources import datepicker, tabs, datatable, warning
 from waeup.kofa.interfaces import (
     IKofaObject, ILocalRolesAssignable, IExtFileStore, IPDF,
@@ -116,5 +114,4 @@
 
     def update(self, *args, **kw):
-        datatable.need()
         form = self.request.form
         self.results = []
@@ -127,10 +124,10 @@
         else:
             if 'search' in form:
-                self.flash(_('Empty search string'))
+                self.flash(_('Empty search string'), type='warning')
             return
         self.results = search(query=self.searchterm,
             searchtype=self.searchtype, view=self)
         if not self.results:
-            self.flash(_('No applicant found.'))
+            self.flash(_('No applicant found.'), type='warning')
         return
 
@@ -149,15 +146,4 @@
     subunits = _('Applicants Containers')
 
-    def update(self):
-        tabs.need()
-        datatable.need()
-        warning.need()
-        self.tab1 = self.tab2 = self.tab3 = ''
-        qs = self.request.get('QUERY_STRING', '')
-        if not qs:
-            qs = 'tab1'
-        setattr(self, qs, 'active')
-        return super(ApplicantsRootManageFormPage, self).update()
-
     def getLocalRoles(self):
         roles = ILocalRolesAssignable(self.context)
@@ -180,6 +166,6 @@
             child_id = form['val_id']
         else:
-            self.flash(_('No container selected!'))
-            self.redirect(self.url(self.context, '@@manage')+'?tab2')
+            self.flash(_('No container selected!'), type='warning')
+            self.redirect(self.url(self.context, '@@manage')+'#tab2')
             return
         if not isinstance(child_id, list):
@@ -192,9 +178,9 @@
             except:
                 self.flash(_('Could not delete:') + ' %s: %s: %s' % (
-                        id, sys.exc_info()[0], sys.exc_info()[1]))
+                    id, sys.exc_info()[0], sys.exc_info()[1]), type='danger')
         if len(deleted):
             self.flash(_('Successfully removed: ${a}',
                 mapping = {'a':', '.join(deleted)}))
-        self.redirect(self.url(self.context, '@@manage')+'?tab2')
+        self.redirect(self.url(self.context, '@@manage')+'#tab2')
         return
 
@@ -235,8 +221,4 @@
     form_fields = grok.AutoFields(
         IApplicantsContainerAdd).omit('code').omit('title')
-
-    def update(self):
-        datepicker.need() # Enable jQuery datepicker in date fields.
-        return super(ApplicantsContainerAddFormPage, self).update()
 
     @action(_('Add applicants container'))
@@ -249,5 +231,7 @@
         if code in self.context.keys():
             self.flash(
-                _('An applicants container for the same application type and entrance year exists already in the database.'))
+              _('An applicants container for the same application '
+                'type and entrance year exists already in the database.'),
+                type='warning')
             return
         # Add new applicants container...
@@ -378,17 +362,4 @@
         return False
 
-    def update(self):
-        datepicker.need() # Enable jQuery datepicker in date fields.
-        tabs.need()
-        toggleall.need()
-        self.tab1 = self.tab2 = self.tab3 = ''
-        qs = self.request.get('QUERY_STRING', '')
-        if not qs:
-            qs = 'tab1'
-        setattr(self, qs, 'active')
-        warning.need()
-        datatable.need()  # Enable jQurey datatables for contents listing
-        return super(ApplicantsContainerManageFormPage, self).update()
-
     def getLocalRoles(self):
         roles = ILocalRolesAssignable(self.context)
@@ -436,6 +407,6 @@
             child_id = form['val_id']
         else:
-            self.flash(_('No applicant selected!'))
-            self.redirect(self.url(self.context, '@@manage')+'?tab2')
+            self.flash(_('No applicant selected!'), type='warning')
+            self.redirect(self.url(self.context, '@@manage')+'#tab2')
             return
         if not isinstance(child_id, list):
@@ -448,9 +419,9 @@
             except:
                 self.flash(_('Could not delete:') + ' %s: %s: %s' % (
-                        id, sys.exc_info()[0], sys.exc_info()[1]))
+                    id, sys.exc_info()[0], sys.exc_info()[1]), type='danger')
         if len(deleted):
             self.flash(_('Successfully removed: ${a}',
                 mapping = {'a':', '.join(deleted)}))
-        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
+        self.redirect(self.url(self.context, u'@@manage')+'#tab2')
         return
 
@@ -461,6 +432,6 @@
             child_id = form['val_id']
         else:
-            self.flash(_('No applicant selected!'))
-            self.redirect(self.url(self.context, '@@manage')+'?tab2')
+            self.flash(_('No applicant selected!'), type='warning')
+            self.redirect(self.url(self.context, '@@manage')+'#tab2')
             return
         if not isinstance(child_id, list):
@@ -475,6 +446,6 @@
                 mapping = {'a': len(created)}))
         else:
-            self.flash(_('No student could be created.'))
-        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
+            self.flash(_('No student could be created.'), type='warning')
+        self.redirect(self.url(self.context, u'@@manage')+'#tab2')
         return
 
@@ -612,5 +583,5 @@
     def update(self):
         msg = self.context.createStudent(view=self)[1]
-        self.flash(msg)
+        self.flash(msg, type='warning')
         self.redirect(self.url(self.context))
         return
@@ -652,5 +623,5 @@
                 mapping = {'a': len(created)}))
         else:
-            self.flash(_('No student could be created.'))
+            self.flash(_('No student could be created.'), type='warning')
         self.redirect(self.url(self.context))
         return
@@ -672,5 +643,6 @@
             if ticket.p_state == 'paid':
                   self.flash(
-                      _('This type of payment has already been made.'))
+                      _('This type of payment has already been made.'),
+                      type='warning')
                   self.redirect(self.url(self.context))
                   return
@@ -678,8 +650,8 @@
         container = self.context.__parent__
         payment = createObject(self.factory)
-        error = applicants_utils.setPaymentDetails(
+        failure = applicants_utils.setPaymentDetails(
             container, payment, self.context)
-        if error is not None:
-            self.flash(error)
+        if failure is not None:
+            self.flash(failure[0], type='danger')
             self.redirect(self.url(self.context))
             return
@@ -731,5 +703,5 @@
                 self.context.p_id, self.context.p_category,
                 self.context.amount_auth, self.context.r_code))
-        self.flash(msg)
+        self.flash(msg, type='warning')
         return
 
@@ -785,5 +757,6 @@
         if self.context.state in ('initialized', 'started', 'paid'):
             self.flash(
-                _('Please pay and submit before trying to download the application slip.'))
+                _('Please pay and submit before trying to download '
+                  'the application slip.'), type='warning')
             return self.redirect(self.url(self.context))
         return
@@ -806,10 +779,10 @@
     size = file_size(upload)
     if size > MAX_UPLOAD_SIZE:
-        view.flash(_('Uploaded image is too big!'))
+        view.flash(_('Uploaded image is too big!'), type='danger')
         return False
     dummy, ext = os.path.splitext(upload.filename)
     ext.lower()
     if ext != '.jpg':
-        view.flash(_('jpg file extension expected.'))
+        view.flash(_('jpg file extension expected.'), type='danger')
         return False
     upload.seek(0) # file pointer moved when determining size
@@ -851,6 +824,4 @@
 
     def update(self):
-        datepicker.need() # Enable jQuery datepicker in date fields.
-        warning.need()
         super(ApplicantManageFormPage, self).update()
         self.wf_info = IWorkflowInfo(self.context)
@@ -894,5 +865,5 @@
             errors = validator.validate_password(password, password_ctl)
             if errors:
-                self.flash( ' '.join(errors))
+                self.flash( ' '.join(errors), type='danger')
                 return
         if self.upload_success is False:  # False is not None!
@@ -927,5 +898,5 @@
             child_id = form['val_id']
         else:
-            self.flash(_('No payment selected.'))
+            self.flash(_('No payment selected.'), type='warning')
             self.redirect(self.url(self.context))
             return
@@ -941,5 +912,5 @@
                 except:
                     self.flash(_('Could not delete:') + ' %s: %s: %s' % (
-                            id, sys.exc_info()[0], sys.exc_info()[1]))
+                      id, sys.exc_info()[0], sys.exc_info()[1]), type='danger')
         if len(deleted):
             self.flash(_('Successfully removed: ${a}',
@@ -1013,5 +984,6 @@
 
     def emit_lock_message(self):
-        self.flash(_('The requested form is locked (read-only).'))
+        self.flash(_('The requested form is locked (read-only).'),
+                   type='warning')
         self.redirect(self.url(self.context))
         return
@@ -1054,5 +1026,6 @@
             return
         if data.get('course1', 1) == data.get('course2', 2):
-            self.flash(_('1st and 2nd choice must be different.'))
+            self.flash(_('1st and 2nd choice must be different.'),
+                       type='warning')
             return
         self.applyData(self.context, **data)
@@ -1065,5 +1038,5 @@
             return # error during image upload. Ignore other values
         if self.dataNotComplete():
-            self.flash(self.dataNotComplete())
+            self.flash(self.dataNotComplete(), type='danger')
             return
         self.applyData(self.context, **data)
@@ -1072,5 +1045,6 @@
         # might have forgotten to lock the form after changing the state
         if state != self.submit_state:
-            self.flash(_('The form cannot be submitted. Wrong state!'))
+            self.flash(_('The form cannot be submitted. Wrong state!'),
+                       type='danger')
             return
         IWorkflowInfo(self.context).fireTransition('submit')
@@ -1126,5 +1100,5 @@
     def update(self):
         if self.context.expired:
-            self.flash(_('Outside application period.'))
+            self.flash(_('Outside application period.'), type='warning')
             self.redirect(self.url(self.context))
             return
@@ -1164,5 +1138,5 @@
                 applicant = results[0]
                 if getattr(applicant,'firstname',None) is None:
-                    self.flash(_('An error occurred.'))
+                    self.flash(_('An error occurred.'), type='danger')
                     return
                 elif applicant.firstname.lower() != firstname.lower():
@@ -1170,10 +1144,11 @@
                     # know that a record was found and only the firstname
                     # verification failed.
-                    self.flash(_('No application record found.'))
+                    self.flash(_('No application record found.'), type='warning')
                     return
                 elif applicant.password is not None and \
                     applicant.state != INITIALIZED:
                     self.flash(_('Your password has already been set and used. '
-                                 'Please proceed to the login page.'))
+                                 'Please proceed to the login page.'),
+                               type='warning')
                     return
                 # Store email address but nothing else.
@@ -1182,5 +1157,5 @@
             else:
                 # No record found, this is the truth.
-                self.flash(_('No application record found.'))
+                self.flash(_('No application record found.'), type='warning')
                 return
         else:
@@ -1227,5 +1202,5 @@
     grok.name('index.html')
     grok.template('exportjobsindex')
-    label = _('Applicant Data Exports')
+    label = _('Data Exports')
     pnav = 3
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantcontainerstatistics.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantcontainerstatistics.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantcontainerstatistics.pt	(revision 11254)
@@ -1,5 +1,5 @@
 <tal:statistics define="stats context/statistics" i18n:domain="waeup.kofa">
   <h2 i18n:translate="">Container Statistics</h2>
-  <table class="span8">
+  <table class="table">
     <thead>
       <tr>
@@ -17,5 +17,5 @@
     </tbody>
   </table>
-  <table class="span8" tal:condition="python: stats[1]">
+  <table class="table" tal:condition="python: stats[1]">
     <thead>
       <tr>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantdisplaypage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantdisplaypage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantdisplaypage.pt	(revision 11254)
@@ -41,5 +41,5 @@
     Application Fee Payment Tickets
 </h3>
-<table i18n:domain="waeup.kofa">
+<table i18n:domain="waeup.kofa" class="table table-condensed">
   <thead>
     <tr>
@@ -54,5 +54,5 @@
   <tbody>
     <tr tal:repeat="value context/values">
-      <td> <a tal:attributes="href value/__name__">
+      <td> <a tal:attributes="href python:view.url(value)">
       <span tal:content="value/p_id">PID</span></a></td>
       <td tal:content="python: layout.formatDatetime(value.creation_date)">CREATION DATE</td>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicanteditpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicanteditpage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicanteditpage.pt	(revision 11254)
@@ -38,5 +38,5 @@
         <td class="fieldname" i18n:translate="">Password:</td>
         <td>
-          <input name="password" type="password"  />
+          <input class="form-control" name="password" type="password"  />
         </td>
       </tr>
@@ -44,5 +44,5 @@
         <td class="fieldname" i18n:translate="">Retype Password:</td>
         <td>
-          <input name="control_password" type="password" />
+          <input class="form-control" name="control_password" type="password" />
         </td>
       </tr>
@@ -50,5 +50,5 @@
         <td class="fieldname" i18n:translate="">Application Transition:</td>
         <td>
-          <select id="transition" name="transition">
+          <select id="transition" name="transition" class="form-control half">
             <option tal:repeat="transition view/getTransitions"
                     tal:attributes="value transition/name">
@@ -84,5 +84,5 @@
   </h3>
 
-  <table>
+  <table i18n:domain="waeup.kofa" class="table table-condensed">
     <thead>
     <tr>
@@ -104,5 +104,5 @@
          tal:condition="python: not view.unremovable(cl)" />
         </td>
-        <td> <a tal:attributes="href cl/__name__">
+        <td> <a tal:attributes="href python:view.url(cl)">
         <span tal:content="cl/p_id">PID</span></a></td>
         <td tal:content="python: layout.formatDatetime(cl.creation_date)">CREATION DATE</td>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantregemailsent.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantregemailsent.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantregemailsent.pt	(revision 11254)
@@ -19,5 +19,5 @@
 <tal:credentials condition = "view/password" i18n:domain="waeup.kofa">
   <h3 i18n:translate="">Your login credentials are:</h3>
-  <table class="bordered-table span6">
+  <table class="table-bordered">
     <tr>
       <td i18n:translate="">User Name:</td>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontaineraddpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontaineraddpage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontaineraddpage.pt	(revision 11254)
@@ -1,4 +1,4 @@
 <form action="." tal:attributes="action request/URL" method="post"
-  class="edit-form" enctype="multipart/form-data">
+  enctype="multipart/form-data">
 
   <table class="form-table">
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontainermanagepage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontainermanagepage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantscontainermanagepage.pt	(revision 11254)
@@ -1,18 +1,18 @@
 <form action="." tal:attributes="action request/URL" method="POST"
-  i18n:domain="waeup.kofa" class="edit-form" enctype="multipart/form-data">
+  i18n:domain="waeup.kofa" enctype="multipart/form-data">
 
-  <ul class="tabs" data-tabs="tabs">
-    <li tal:attributes="class view/tab1">
-    <a href="#tab-1">
+ <ul class="tabs nav nav-tabs" data-tabs="tabs">
+    <li class="active">
+    <a href="#tab1" data-toggle="tab">
       <span i18n:translate="">Settings
       </span></a>
     </li>
-    <li tal:attributes="class view/tab2">
-    <a href="#tab-2">
+    <li>
+    <a href="#tab2" data-toggle="tab">
       <span i18n:translate="">Applicants
       </span></a>
     </li>
-    <li tal:attributes="class view/tab3">
-    <a href="#tab-3">
+    <li>
+    <a href="#tab3" data-toggle="tab">
       <span i18n:translate="">Local Roles
       </span></a>
@@ -20,5 +20,6 @@
   </ul>
   <div class="tab-content">
-    <div id="tab-1" tal:attributes="class view/tab1">
+    <div id="tab1" class="active tab-pane">
+      <br />
       <table class="form-table">
         <tbody>
@@ -33,11 +34,8 @@
       </div>
     </div>
-    <div id="tab-2" tal:attributes="class view/tab2">
+    <div id="tab2" class="tab-pane">
     <tal:showApplicants  condition="view/showApplicants">
-    <input type="checkbox" onClick="toggle(this, 'val_id')" />
-    <span  i18n:translate="">Select all</span>
-    <br /><br />
-
-      <table class="display dataTableManage">
+      <br />
+      <table class="kofa-data-table dataTableManage">
         <thead>
           <tr>
@@ -55,5 +53,5 @@
         </thead>
         <tbody>
-          <tr class="gradeC" tal:repeat="appl context/values">
+          <tr tal:repeat="appl context/values">
             <td>
               <input type="checkbox" name="val_id" tal:attributes="value appl/__name__" />
@@ -78,4 +76,7 @@
         </tbody>
       </table>
+      <input type="checkbox" onClick="toggle(this, 'val_id')" />
+      <span  i18n:translate="">Select all</span>
+      <br /><br />
       <div tal:condition="view/availableActions">
         <span tal:repeat="action view/actions" tal:omit-tag="">
@@ -100,6 +101,6 @@
     </tal:showNoApplicants>
     </div>
-    <div id="tab-3" tal:attributes="class view/tab3"> <br />
-      <table class="display dataTableManage">
+    <div id="tab3" class="tab-pane"> <br />
+      <table class="kofa-data-table dataTableManage">
         <thead>
           <tr>
@@ -115,5 +116,5 @@
         </thead>
         <tbody>
-          <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td>
+          <tr tal:repeat="entry view/getUsersWithLocalRoles"> <td>
               <input type="checkbox" name="role_id"
                 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td>
@@ -132,5 +133,5 @@
       <table class="form-table">
         <tr> <td>
-            <select id="user" name="user">
+            <select id="user" name="user" class="form-control">
               <option tal:repeat="user view/getUsers"
                       tal:attributes="value user/name">
@@ -139,5 +140,5 @@
               </option>
             </select> </td> <td>
-            <select id="local_role" name="local_role">
+            <select id="local_role" name="local_role" class="form-control">
               <option tal:repeat="localrole view/getLocalRoles"
                       tal:attributes="value localrole/name">
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt	(revision 11254)
@@ -1,17 +1,17 @@
 <form action="." tal:attributes="action request/URL"
   i18n:domain="waeup.kofa" method="POST"  enctype="multipart/form-data">
-  <ul class="tabs" data-tabs="tabs">
-    <li tal:attributes="class view/tab1">
-    <a href="#tab-1">
+  <ul class="tabs nav nav-tabs" data-tabs="tabs">
+    <li class="active">
+    <a href="#tab1" data-toggle="tab">
       <span i18n:translate="">Introduction
       </span></a>
     </li>
-    <li tal:attributes="class view/tab2">
-    <a href="#tab-2">
+    <li>
+    <a href="#tab2" data-toggle="tab">
       <span tal:content="view/subunits">Contents
       </span></a>
     </li>
-    <li tal:attributes="class view/tab3">
-    <a href="#tab-3">
+    <li>
+    <a href="#tab3" data-toggle="tab">
       <span i18n:translate="">Local Roles
       </span></a>
@@ -19,5 +19,6 @@
   </ul>
   <div class="tab-content">
-    <div id="tab-1" tal:attributes="class view/tab1">
+    <div id="tab1" class="active tab-pane">
+     <br />
       <table class="form-table">
         <tbody>
@@ -25,5 +26,4 @@
         </tbody>
       </table>
-
       <div tal:condition="view/availableActions">
         <span tal:repeat="action view/actions" tal:omit-tag="">
@@ -33,7 +33,6 @@
       </div>
     </div>
-    <div id="tab-2" tal:attributes="class view/tab2">
-      <h3 tal:content="view/subunits">SUBUNITS</h3>
-
+    <div id="tab2" class="tab-pane">
+      <br />
       <p i18n:translate="note_armp">
         Please note that containers will be opened in manage mode here.
@@ -42,6 +41,5 @@
         Please be patient until all records have been loaded.
       </p>
-
-      <table class="display dataTableManage">
+      <table class="kofa-data-table dataTableManage">
         <thead>
           <tr>
@@ -59,5 +57,5 @@
         </thead>
         <tbody>
-          <tr tal:repeat="entry context/values" 	class="gradeC"> <td>
+          <tr tal:repeat="entry context/values"> <td>
               <input type="checkbox" name="val_id"
                 tal:attributes="value entry/__name__" /> </td>
@@ -78,7 +76,7 @@
       </div>
     </div>
-    <div id="tab-3" tal:attributes="class view/tab3">
+    <div id="tab3" class="tab-pane">
       <br />
-      <table class="display dataTableManage">
+      <table class="kofa-data-table dataTableManage">
         <thead>
           <tr>
@@ -94,5 +92,5 @@
         </thead>
         <tbody>
-          <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC">
+          <tr tal:repeat="entry view/getUsersWithLocalRoles">
             <td> <input type="checkbox" name="role_id"
                     tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" />  </td>
@@ -109,28 +107,31 @@
         </span>
       </div> <br /><br />
-      <table class="form-table">
-        <tr> <td>
-            <select id="user" name="user">
-              <option tal:repeat="user view/getUsers"
-                tal:attributes="value user/name">
-              <span tal:replace="user/val/title">USERTITLE
-              </span>
-              </option>
-            </select> </td> <td>
-            <select id="local_role" name="local_role">
-              <option tal:repeat="localrole view/getLocalRoles"
-                tal:attributes="value localrole/name">
-              <span tal:replace="localrole/title">LOCALROLETITLE
-              </span>
-              </option>
-            </select> </td> <td>
-            <div tal:condition="view/availableActions">
-              <span tal:repeat="action view/actions" tal:omit-tag="">
-                <input tal:condition="python:action.label in view.tabthreeactions2"
-                  tal:replace="structure action/render"/>
-              </span>
-            </div> </td>
-        </tr>
-      </table>
+      <div class="form-inline">
+        <br />
+        <div class="form-group">
+          <select id="user" name="user" class="form-control">
+            <option tal:repeat="user view/getUsers"
+                    tal:attributes="value user/name">
+            <span tal:replace="user/val/title">USERTITLE
+            </span>
+            </option>
+          </select>
+        </div>
+        <div class="form-group">
+          <select id="local_role" name="local_role" class="form-control">
+            <option tal:repeat="localrole view/getLocalRoles"
+                    tal:attributes="value localrole/name">
+            <span tal:replace="localrole/title">LOCALROLETITLE
+            </span>
+            </option>
+          </select>
+        </div>
+        <div class="form-group" tal:condition="view/availableActions">
+          <span tal:repeat="action view/actions" tal:omit-tag="">
+            <input tal:condition="python:action.label in view.tabthreeactions2"
+                   tal:replace="structure action/render"/>
+          </span>
+        </div>
+      </div>
     </div>
   </div>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt	(revision 11254)
@@ -4,5 +4,5 @@
 </span>
 
-<table i18n:domain="waeup.kofa">
+<table i18n:domain="waeup.kofa" class="table table-hover">
   <thead>
     <tr>
@@ -14,5 +14,5 @@
   </thead>
   <tbody>
-    <tr tal:repeat="entry view/containers" class="gradeC">
+    <tr tal:repeat="entry view/containers">
       <td tal:content="entry/year">Year
       </td>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantssearchpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantssearchpage.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/applicantssearchpage.pt	(revision 11254)
@@ -1,17 +1,21 @@
-<form method="POST" i18n:domain="waeup.kofa">
+<form method="POST" i18n:domain="waeup.kofa" class="form-inline">
 <br />
-  <input class="btn primary" type="submit" name="search"
-    tal:attributes="value view/search_button" />
+  <div class="form-group">
+    <input class="btn btn-primary" type="submit" name="search"
+      tal:attributes="value view/search_button" />
+  </div>
+  <div class="form-group">
+    <select name="searchtype" class="form-control">
+      <option i18n:translate="" value="applicant_id">with id</option>
+      <option i18n:translate="" value="fullname">with name</option>
+      <option i18n:translate="" value="reg_number">with registration number</option>
+      <option i18n:translate="" value="email">with email address</option>
+    </select>
+  </div>
+  <div class="form-group">
+    <input type="text" class="form-control" name="searchterm" />
+  </div>
 
-  <select name="searchtype">
-    <option i18n:translate="" value="applicant_id">with id</option>
-    <option i18n:translate="" value="fullname">with name</option>
-    <option i18n:translate="" value="reg_number">with registration number</option>
-    <option i18n:translate="" value="email">with email address</option>
-  </select>
-
-  <input type="text" name="searchterm" />
-
-  <p>&nbsp;</p>
+  <br /><br />
   <div tal:condition="view/results">
     <h3 i18n:translate="">Search Results</h3>
@@ -20,5 +24,5 @@
     <input type="hidden" name="old_searchtype"
          tal:attributes="value view/searchtype" />
-    <table class="display dataTable">
+    <table class="kofa-data-table dataTable">
       <thead>
       <tr>
@@ -30,5 +34,5 @@
       </thead>
       <tbody>
-      <tr tal:repeat="item view/results" class="gradeC">
+      <tr tal:repeat="item view/results">
         <td> <a tal:attributes="href python:view.url(item)">
           <span tal:content="item/applicant_id">XXXX_1234</span></a>
@@ -42,5 +46,4 @@
       </tbody>
     </table>
-    <br />
   </div>
 </form>
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/exportjobsindex.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/exportjobsindex.pt	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser_templates/exportjobsindex.pt	(revision 11254)
@@ -1,3 +1,3 @@
-<table i18n:domain="waeup.kofa">
+<table i18n:domain="waeup.kofa" class="table table-condensed table-hover">
   <thead>
     <tr>
@@ -25,5 +25,5 @@
         <span tal:replace="job/creator">CREATOR</span>
       </td>
-      <td nowrap>
+      <td>
         <span tal:replace="job/start_time">DATETIME</span>
       </td>
@@ -32,18 +32,17 @@
       </td>
       <td nowrap>
-        <a href="" class="btn" i18n:translate=""
+        <a href="" class="btn btn-default btn-xs" i18n:translate=""
            tal:condition="job/show_refresh_button">
-          <img tal:attributes="src static/actionicon_reload.png" />
+          <img src="/static/img/actionicon_reload.png" />
           Reload
         </a>
         <form method="POST">
-          <a href="" class="btn primary small"
+          <a href="" class="btn btn-primary btn-xs"
                  tal:attributes="href job/download_url"
                  tal:condition="job/show_download_button">
             Download</a>
-
           <input type="hidden" name="job_id"
                  tal:attributes="value job/job" />
-          <input type="submit" class="btn small"
+          <input type="submit" class="btn btn-default btn-xs"
                  name="DISCARD" value="Discard"
                  tal:condition="job/show_discard_button" />
@@ -53,9 +52,7 @@
   </tbody>
 </table>
+
 <form method="POST" i18n:domain="waeup.kofa">
-  <div class="span12">
-
-  </div>
-  <input class="btn primary" type="submit" name="CREATE"
+  <input class="btn btn-primary" type="submit" name="CREATE"
          value="Start new export"
           />
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/utils.py	(revision 11253)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/utils.py	(revision 11254)
@@ -51,5 +51,5 @@
             session_config = grok.getSite()['configuration'][session]
         except KeyError:
-            return _(u'Session configuration object is not available.')
+            return _(u'Session configuration object is not available.'), None
         payment.p_id = "p%s" % timestamp
         payment.p_item = container.title
