Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/pages.py
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/pages.py	(revision 11007)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/pages.py	(revision 11008)
@@ -85,5 +85,5 @@
     user = view.request.form.get('user', None)
     if user is None or localrole is None:
-        view.flash('No user selected.')
+        view.flash('No user selected.', type='danger')
         view.redirect(view.url(view.context, '@@manage')+'#tab%s' % tab)
         return
@@ -100,5 +100,5 @@
     child_ids = view.request.form.get('role_id', None)
     if child_ids is None:
-        view.flash(_('No local role selected.'))
+        view.flash(_('No local role selected.'), type='danger')
         view.redirect(view.url(view.context, '@@manage')+'#tab%s' % tab)
         return
@@ -117,5 +117,6 @@
         except:
             view.flash('Could not remove %s: %s: %s' % (
-                    child_id, sys.exc_info()[0], sys.exc_info()[1]))
+                    child_id, sys.exc_info()[0], sys.exc_info()[1]),
+                    type='danger')
     if len(deleted):
         view.flash(
@@ -133,5 +134,5 @@
         child_id = form['val_id']
     else:
-        view.flash(_('No item selected.'))
+        view.flash(_('No item selected.'), type='danger')
         if tab:
             view.redirect(view.url(view.context, redirect)+'#tab%s' % tab)
@@ -152,5 +153,5 @@
         except:
             view.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):
         view.flash(_('Successfully removed: ${a}',
@@ -282,5 +283,6 @@
                             self.request.principal.id)
                         self.flash(
-                          _('Your personal data record is outdated. Please update.'))
+                          _('Your personal data record is outdated. Please update.'),
+                          type='warning')
                     self.redirect(self.application_url() + rel_link)
                     return
@@ -327,5 +329,5 @@
                                    type='warning')
                     return
-            self.flash(_('You entered invalid credentials.'))
+            self.flash(_('You entered invalid credentials.'), type='danger')
             return
 
@@ -443,5 +445,5 @@
             self.flash(_('Your message has been sent.'))
         else:
-            self.flash(_('A smtp server error occurred.'))
+            self.flash(_('A smtp server error occurred.'), type='danger')
         return
 
@@ -589,5 +591,5 @@
             errors = validator.validate_password(password, password_ctl)
             if errors:
-                self.flash( ' '.join(errors))
+                self.flash( ' '.join(errors), type='danger')
                 return
         try:
@@ -602,5 +604,5 @@
         except KeyError:
             self.status = self.flash('The userid chosen already exists '
-                                  'in the database.')
+                                  'in the database.', type='danger')
             return
         self.redirect(self.url(self.context))
@@ -633,5 +635,5 @@
             errors = validator.validate_password(password, password_ctl)
             if errors:
-                self.flash( ' '.join(errors))
+                self.flash( ' '.join(errors), type='danger')
                 return
         changed_fields = self.applyData(self.context, **data)
@@ -852,5 +854,5 @@
                 ob_class, sessionconfiguration.academic_session))
         except KeyError:
-            self.flash(_('The session chosen already exists.'))
+            self.flash(_('The session chosen already exists.'), type='danger')
             return
         self.redirect(self.url(self.context, '@@index')+'#tab2')
@@ -909,5 +911,5 @@
             child_id = form['val_id']
         else:
-            self.flash(_('No item selected.'))
+            self.flash(_('No item selected.'), type='danger')
             return
         if not isinstance(child_id, list):
@@ -920,5 +922,6 @@
                 deleted.append(id)
             except OSError:
-                self.flash(_('OSError: The file could not be deleted.'))
+                self.flash(_('OSError: The file could not be deleted.'),
+                           type='danger')
                 return
         if len(deleted):
@@ -1024,5 +1027,5 @@
                     _('All import managers have been notified by email.'))
             else:
-                self.flash(_('An smtp server error occurred.'))
+                self.flash(_('An smtp server error occurred.'), type='danger')
             return
 
@@ -1032,5 +1035,6 @@
         if number_of_pendings > self.max_files:
             self.flash(
-                _('Maximum number of files in the data center exceeded.'))
+                _('Maximum number of files in the data center exceeded.'),
+                  type='danger')
             self.redirect(self.url(self.context))
             return
@@ -1043,8 +1047,8 @@
             filename = uploadfile.filename
             #if 'pending' in filename:
-            #    self.flash(_("You can't re-upload pending data files."))
+            #    self.flash(_("You can't re-upload pending data files."), type='danger')
             #    return
             if not filename.endswith('.csv'):
-                self.flash(_("Only csv files are allowed."))
+                self.flash(_("Only csv files are allowed."), type='danger')
                 return
             normalized_filename = self.getNormalizedFileName(filename)
@@ -1054,5 +1058,6 @@
                 self.context.storage, 'unfinished', normalized_filename)
             if os.path.exists(finished_file) or os.path.exists(unfinished_file):
-                self.flash(_("File with same name was uploaded earlier."))
+                self.flash(_("File with same name was uploaded earlier."),
+                           type='danger')
                 return
             target = os.path.join(self.context.storage, normalized_filename)
@@ -1068,5 +1073,5 @@
                     "has invalid CSV format. "
                     "First problematic line detected: line %s. "
-                    "Please replace." % invalid_line))
+                    "Please replace." % invalid_line), type='danger')
                 logger.info('%s - invalid file uploaded: %s' %
                             (ob_class, target))
@@ -1080,6 +1085,6 @@
 
         except IOError:
-            self.flash('Error while uploading file. Please retry.')
-            self.flash('I/O error: %s' % sys.exc_info()[1])
+            self.flash('Error while uploading file. Please retry.', type='danger')
+            self.flash('I/O error: %s' % sys.exc_info()[1], type='danger')
             return
         self.redirect(self.url(self.context))
@@ -1273,5 +1278,5 @@
             return
         if cancel is not None:
-            self.flash(_('Import aborted.'))
+            self.flash(_('Import aborted.'), type='warning')
             self.redirect(self.url(self.context))
             return
@@ -1285,5 +1290,5 @@
         if self.importer and 'update' in self.importer:
             if self.mode != 'update':
-                self.flash(_('Update mode only!'))
+                self.flash(_('Update mode only!'), type='warning')
                 self.mode_locked = True
                 self.mode = 'update'
@@ -1299,5 +1304,5 @@
         else:
             self.reader = ()
-            self.flash(warnings)
+            self.flash(warnings, type='warning')
 
 class DatacenterImportStep3(KofaPage):
@@ -1396,5 +1401,5 @@
             return
         if cancel is not None:
-            self.flash(_('Import aborted.'))
+            self.flash(_('Import aborted.'), type='warning')
             self.redirect(self.url(self.context))
             return
@@ -1411,5 +1416,5 @@
         warnings = self.getWarnings()
         if warnings:
-            self.flash(warnings)
+            self.flash(warnings, type='warning')
 
 class DatacenterImportStep4(KofaPage):
@@ -1473,5 +1478,5 @@
         if self.warn_num:
             self.flash(_('Processing of ${a} rows failed.',
-                mapping = {'a':self.warn_num}))
+                mapping = {'a':self.warn_num}), type='warning')
         self.flash(_('Successfully processed ${a} rows.',
             mapping = {'a':linenum - self.warn_num}))
@@ -1511,5 +1516,5 @@
             self.flash(
                 _('Log files can only be searched ' +
-                  'on Unix-based operating systems.'))
+                  'on Unix-based operating systems.'), type='danger')
             self.redirect(self.url(self.context, '@@logs'))
             return
@@ -1525,8 +1530,8 @@
                 self.context.queryLogfiles(logname, query))
         except ValueError:
-            self.flash(_('Invalid search expression.'))
+            self.flash(_('Invalid search expression.'), type='danger')
             return
         if not self.result:
-            self.flash(_('No search results found.'))
+            self.flash(_('No search results found.'), type='warning')
         return
 
@@ -1557,5 +1562,5 @@
             for name in not_copied:
                 self.flash(_('File already existed (not copied): ${a}',
-                    mapping = {'a':name}))
+                    mapping = {'a':name}), type='danger')
         except:
             self.flash(_('Given storage path cannot be used. ${a}',
@@ -1725,5 +1730,6 @@
     def delFaculties(self, **data):
         if not checkPermission('waeup.managePortal', self.context):
-            self.flash(_('You are not allowed to remove entire faculties.'))
+            self.flash(_('You are not allowed to remove entire faculties.'),
+                       type='warning')
             return
         delSubobjects(self, redirect='@@manage', tab='1')
@@ -1758,5 +1764,6 @@
             self.context.addFaculty(faculty)
         except KeyError:
-            self.flash(_('The faculty code chosen already exists.'))
+            self.flash(_('The faculty code chosen already exists.'),
+                       type='danger')
             return
         ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
@@ -1813,5 +1820,6 @@
     def delDepartments(self, **data):
         if not checkPermission('waeup.managePortal', self.context):
-            self.flash(_('You are not allowed to remove entire departments.'))
+            self.flash(_('You are not allowed to remove entire departments.'),
+                       type='danger')
             return
         delSubobjects(self, redirect='@@manage', tab='2')
@@ -1881,10 +1889,10 @@
         else:
             if 'search' in form:
-                self.flash(_('Empty search string'))
+                self.flash(_('Empty search string'), type='warning')
             return
         self.hitlist = self._find_students(query=self.searchterm,
             searchtype=self.searchtype, view=self)
         if not self.hitlist:
-            self.flash(_('No student found.'))
+            self.flash(_('No student found.'), type='warning')
         return
 
@@ -1906,5 +1914,6 @@
             self.context.addDepartment(department)
         except KeyError:
-            self.flash(_('The code chosen already exists in this faculty.'))
+            self.flash(_('The code chosen already exists in this faculty.'),
+                       type='danger')
             return
         self.status = self.flash(
@@ -2005,5 +2014,6 @@
     def delCertificates(self, **data):
         if not checkPermission('waeup.managePortal', self.context):
-            self.flash(_('You are not allowed to remove certificates.'))
+            self.flash(_('You are not allowed to remove certificates.'),
+                       type='warning')
             return
         delSubobjects(
@@ -2059,5 +2069,5 @@
                 message += '<a href="%s">%s</a>' % (
                     self.url(entry), getattr(entry, '__name__', u'Unnamed'))
-                self.flash(message)
+                self.flash(message, type='warning')
             self.redirect(self.url(self.context, u'@@addcourse'))
             return
@@ -2100,5 +2110,5 @@
                 message += '<a href="%s">%s</a>' % (
                     self.url(entry), getattr(entry, '__name__', u'Unnamed'))
-                self.flash(message)
+                self.flash(message, type='warning')
             self.redirect(self.url(self.context, u'@@addcertificate'))
             return
@@ -2261,5 +2271,5 @@
         except KeyError:
             self.status = self.flash(_('The chosen certificate course is already '
-                                  'part of this certificate.'))
+                                  'part of this certificate.'), type='warning')
             return
         self.status = self.flash(
@@ -2389,5 +2399,5 @@
         user = self._searchUser(identifier, email)
         if user is None:
-            self.flash(_('No record found.'))
+            self.flash(_('No record found.'), type='warning')
             return
         # Change password
@@ -2410,5 +2420,5 @@
                 'has been sent to ${a}.', mapping = {'a':email}))
         else:
-            self.flash(_('An smtp server error occurred.'))
+            self.flash(_('An smtp server error occurred.'), type='danger')
         ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
         self.context.logger.info(
Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport2page.pt
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport2page.pt	(revision 11007)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport2page.pt	(revision 11008)
@@ -9,6 +9,6 @@
     Please select a file-processor and a processing-mode from the selections below.
   </p>
-  <div>
-    <table tal:define="prev_table view/getPreviewTable;">
+  <div class="table-responsive">
+    <table tal:define="prev_table view/getPreviewTable;" class="table table-condensed">
       <thead>
         <tr>
@@ -55,7 +55,7 @@
     </p>
   </div>
-  <input class="btn" type="submit" name="cancel" tal:attributes="value view/cancel_button" />
-  <input class="btn danger" type="submit" name="back1" tal:attributes="value view/back_button" />
-  <input class="btn primary"
+  <input class="btn btn-default" type="submit" name="cancel" tal:attributes="value view/cancel_button" />
+  <input class="btn btn-danger" type="submit" name="back1" tal:attributes="value view/back_button" />
+  <input class="btn btn-primary"
     tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''; value view/proceed_button"
     type="submit" name="proceed" />
Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport3page.pt
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport3page.pt	(revision 11007)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport3page.pt	(revision 11008)
@@ -1,4 +1,4 @@
 <div i18n:domain="waeup.kofa" i18n:translate=""
-  class="alert-message success" tal:condition="not: view/getWarnings">
+  class="alert alert-success" tal:condition="not: view/getWarnings">
   Header fields OK
 </div>
@@ -29,8 +29,7 @@
 
   <div>
-
-
     <table tal:define="prev_table view/getPreviewTable;
-                       headers view/headerfields;">
+                       headers view/headerfields;"
+            class="table">
       <thead>
         <tr>
@@ -45,5 +44,5 @@
           </td>
           <td>
-            <select class="span4" name="headerfield">
+            <select name="headerfield">
               <option tal:repeat="opt view/getPossibleHeaders"
                 tal:attributes="value opt/value;
@@ -62,14 +61,14 @@
   </div>
 
-  <input class="btn" type="submit" name="cancel"
+  <input class="btn btn-default" type="submit" name="cancel"
     tal:attributes="value view/cancel_button" />
-  <input class="btn" type="reset" name="reset"
+  <input class="btn btn-default" type="reset" name="reset"
     tal:attributes="value view/reset_button" />
-  <input class="btn" type="submit" name="update"
+  <input class="btn btn-default" type="submit" name="update"
     tal:attributes="value view/update_button" />
   <br /><br />
-  <input class="btn danger" type="submit" name="back2"
+  <input class="btn btn-danger" type="submit" name="back2"
     tal:attributes="value view/back_button" />
-  <input class="btn primary"
+  <input class="btn btn-primary"
     tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''; value view/proceed_button"
     type="submit" name="proceed"/>
Index: main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport4page.pt
===================================================================
--- main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport4page.pt	(revision 11007)
+++ main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa/browser/templates/datacenterimport4page.pt	(revision 11008)
@@ -15,5 +15,5 @@
 </p>
 <form method="POST" i18n:domain="waeup.kofa">
-  <input class="btn primary" type="submit" name="finish"
+  <input class="btn btn-primary" type="submit" name="finish"
     tal:attributes="value view/back_button" />
 </form>
