Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/resources.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/resources.py	(revision 6819)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/resources.py	(revision 6820)
@@ -114,5 +114,27 @@
 #:   <input type="submit" name="xyz" value="abc"/>
 #:          onclick="return confirmPost('Are you sure?')">
-warning = ResourceInclusion(waeup_sirp, 'warning.js')        
+warning = ResourceInclusion(waeup_sirp, 'warning.js')
+
+#: If you have many select boxes in a from which have to be selected at the same
+# time you have to perform
+#: two steps:
+#: * In the `update()` method of the responsible view/page/form
+#:   require the JavaScript code to be rendered into the page:
+#:
+#:     from waeup.sirp.browser.resources import toggleall
+#:     ...
+#:     class MyPage(...):
+#:       ...
+#:       def update(self):
+#:         toggleall.need()
+#:
+#:   This way all required JavaScripts will be rendered correctly
+#:   into the HTML page generated.
+#:
+#:   In your HTML code add some <input> tag with onClick event:
+#:
+#:   <input type="checkbox" onClick="toggle(this, 'entries')" />
+
+toggleall = ResourceInclusion(waeup_sirp, 'toggleall.js')
 
 #: A resource that binds jQueryUI tabs to <div> tags with class
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/jquery.dataTables.min.js
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/jquery.dataTables.min.js	(revision 6819)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/jquery.dataTables.min.js	(revision 6820)
@@ -38,5 +38,5 @@
 [];this.aoColumns=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bRegex:false,bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripClasses=[];this.asDestoryStrips=[];this.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=false;this.aoOpenRows=
 [];this.sDom="lfrtip";this.sPaginationType="two_button";this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.bAjaxDataGet=true;this.fnServerData=function(a,b,c){j.ajax({url:a,data:b,success:c,dataType:"json",cache:false,error:function(d,f){f=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})};
-this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d<b;d++){if(d%3===0&&d!==0)c=","+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100];this.bDrawing=this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=n.oStdClasses;this.bSorted=this.bFiltered=false;this.oInit=null}function r(a){return function(){var b=[A(this[n.iApiIndex])].concat(Array.prototype.slice.call(arguments));
+this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d<b;d++){if(d%3===0&&d!==0)c=","+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100,1000,5000];this.bDrawing=this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=n.oStdClasses;this.bSorted=this.bFiltered=false;this.oInit=null}function r(a){return function(){var b=[A(this[n.iApiIndex])].concat(Array.prototype.slice.call(arguments));
 return n.oApi[a].apply(this,b)}}function s(a){var b,c;if(a.bInitialised===false)setTimeout(function(){s(a)},200);else{sa(a);U(a);K(a,true);a.oFeatures.bAutoWidth&&$(a);b=0;for(c=a.aoColumns.length;b<c;b++)if(a.aoColumns[b].sWidth!==null)a.aoColumns[b].nTh.style.width=v(a.aoColumns[b].sWidth);if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}if(a.sAjaxSource!==null&&!a.oFeatures.bServerSide)a.fnServerData.call(a.oInstance,a.sAjaxSource,[],function(d){for(b=0;b<d.aaData.length;b++)u(a,
 d.aaData[b]);a.iInitDisplayStart=a._iDisplayStart;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}K(a,false);w(a,d)});else if(!a.oFeatures.bServerSide){K(a,false);w(a)}}}function w(a,b){a._bInitComplete=true;if(typeof a.fnInitComplete=="function")typeof b!="undefined"?a.fnInitComplete.call(a.oInstance,a,b):a.fnInitComplete.call(a.oInstance,a)}function y(a,b,c){o(a.oLanguage,b,"sProcessing");o(a.oLanguage,b,"sLengthMenu");o(a.oLanguage,b,"sEmptyTable");o(a.oLanguage,
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/toggleall.js
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/toggleall.js	(revision 6820)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/toggleall.js	(revision 6820)
@@ -0,0 +1,5 @@
+function toggle(source, name) {
+  checkboxes = document.getElementsByName(name);
+  for(var i in checkboxes)
+    checkboxes[i].checked = source.checked;
+}
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 6819)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 6820)
@@ -41,4 +41,5 @@
 from waeup.sirp.students.studylevel import StudentStudyLevel, CourseTicket
 from waeup.sirp.students.vocabularies import StudyLevelSource
+from waeup.sirp.browser.resources import toggleall
 
 # Save function used for save methods in manager pages
@@ -226,4 +227,5 @@
     def update(self, *args, **kw):
         datatable.need()
+        toggleall.need()
         form = self.request.form
         self.hitlist = []
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt	(revision 6819)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt	(revision 6820)
@@ -9,5 +9,5 @@
   <select name="searchtype">
     <option value="student_id">with id</option>
-    <option value="name">with name</option>
+    <option value="fullname">with name</option>
   </select>
 
@@ -21,9 +21,13 @@
     <input type="hidden" name="old_searchtype"
          tal:attributes="value view/searchtype" />
+
+    <input type="checkbox" onClick="toggle(this, 'entries')" /> Select all
+    <br /><br />
+
     <table class="display dataTableManage">
       <thead>
     	<tr>
     	  <th>&nbsp;</th>
-    	  <th>Student Id</th><th>Name</th>
+    	  <th>Student Id</th><th>Fullname</th>
     	</tr>
       </thead>
@@ -35,8 +39,9 @@
           <span tal:content="item/student_id">A123456</span></a>
         </td>
-    	  <td tal:content="item/name">Bob</td>
+    	  <td tal:content="item/fullname">Bob</td>
     	</tr>
       </tbody>
     </table>
+    
     <div class="actionButtons">
         <input type="submit" name="remove" value="Remove selected" />
