Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser.py
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser.py	(revision 11009)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser.py	(revision 11010)
@@ -51,5 +51,5 @@
 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.browser.resources import datepicker, tabs, warning
 from waeup.kofa.interfaces import (
     IKofaObject, ILocalRolesAssignable, IExtFileStore, IPDF,
@@ -116,5 +116,4 @@
 
     def update(self, *args, **kw):
-        datatable.need()
         form = self.request.form
         self.results = []
@@ -127,10 +126,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
 
@@ -150,6 +149,4 @@
 
     def update(self):
-        tabs.need()
-        datatable.need()
         warning.need()
         self.tab1 = self.tab2 = self.tab3 = ''
@@ -180,6 +177,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 +189,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
 
@@ -249,5 +246,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...
@@ -380,5 +379,4 @@
     def update(self):
         datepicker.need() # Enable jQuery datepicker in date fields.
-        tabs.need()
         toggleall.need()
         self.tab1 = self.tab2 = self.tab3 = ''
@@ -388,5 +386,4 @@
         setattr(self, qs, 'active')
         warning.need()
-        datatable.need()  # Enable jQurey datatables for contents listing
         return super(ApplicantsContainerManageFormPage, self).update()
 
@@ -436,6 +433,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 +445,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 +458,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 +472,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
 
@@ -591,5 +588,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
@@ -631,5 +628,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
@@ -651,5 +648,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
@@ -660,5 +658,5 @@
             container, payment, self.context)
         if error is not None:
-            self.flash(error)
+            self.flash(error, type='danger')
             self.redirect(self.url(self.context))
             return
@@ -710,5 +708,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
 
@@ -764,5 +762,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
@@ -785,10 +784,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
@@ -873,5 +872,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!
@@ -906,5 +905,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
@@ -920,5 +919,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}',
@@ -992,5 +991,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
@@ -1033,5 +1033,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)
@@ -1044,5 +1045,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)
@@ -1051,5 +1052,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')
@@ -1105,5 +1107,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
@@ -1143,5 +1145,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():
@@ -1149,10 +1151,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.
@@ -1161,5 +1164,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:
Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt	(revision 11009)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootmanagepage.pt	(revision 11010)
@@ -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="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="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">
+            <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">
+            <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/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt	(revision 11009)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/applicants/browser_templates/applicantsrootpage.pt	(revision 11010)
@@ -4,5 +4,5 @@
 </span>
 
-<table i18n:domain="waeup.kofa">
+<table i18n:domain="waeup.kofa" class="table table-hover">
   <thead>
     <tr>
