Index: indico/MaKaC/services/implementation/collaboration.py
===================================================================
--- indico/MaKaC/services/implementation/collaboration.py	(revision 8126f9359c860b27d9d68111bdd76d56d4b32024)
+++ indico/MaKaC/services/implementation/collaboration.py	(revision 0e0c28c291622c38d4773967a98c16662cf62dd9)
@@ -237,4 +237,9 @@
     """
     """
+    
+    def _checkProtection(self):
+        if not RCCollaborationPluginAdmin.hasRights(self, None, "any"):
+            AdminCollaborationBase._checkProtection(self)
+            
     def _checkParams(self):
         AdminCollaborationBase._checkParams(self)
Index: indico/MaKaC/webinterface/pages/collaboration.py
===================================================================
--- indico/MaKaC/webinterface/pages/collaboration.py	(revision 160fdf5cc9449733b526ce90500d6a3fdd093728)
+++ indico/MaKaC/webinterface/pages/collaboration.py	(revision 0e0c28c291622c38d4773967a98c16662cf62dd9)
@@ -374,5 +374,5 @@
             if b.canBeStarted():
                 ongoingBookings.append(b)
-            if b.getAdjustedStartDate('UTC') > nowutc():
+            if b.getStartDate() and b.getAdjustedStartDate('UTC') > nowutc():
                 scheduledBookings.setdefault(b.getAdjustedStartDate(self._tz).date(), []).append(b)
                 
Index: indico/MaKaC/webinterface/rh/collaboration.py
===================================================================
--- indico/MaKaC/webinterface/rh/collaboration.py	(revision 7f8da82e36da3609e13dc556d744c16653981841)
+++ indico/MaKaC/webinterface/rh/collaboration.py	(revision 0e0c28c291622c38d4773967a98c16662cf62dd9)
@@ -59,4 +59,5 @@
         """ Returns True if the user is an admin of one of the plugins corresponding to pluginNames
             plugins: a list of Plugin objects (e.g. EVO, RecordingRequest) or strings with the plugin name ('EVO', 'RecordingRequest')
+                     or the string 'any' (we will then check if the user is manager of any plugin),
         """
         if not PluginsHolder().hasPluginType("Collaboration"):
@@ -70,4 +71,9 @@
         
         coll = PluginsHolder().getPluginType('Collaboration')
+        
+        if plugins == 'any':
+            plugins = []
+            for p in CollaborationTools.getCollaborationPluginType().getPluginList():
+                plugins.append(p.getName())
         
         if plugins:
@@ -142,5 +148,6 @@
         if not PluginsHolder().hasPluginType("Collaboration"):
             raise PluginError("Collaboration plugin system is not active")
-        if not RCCollaborationAdmin.hasRights(self, None): #and not RCCollaborationPluginAdmin.hasRights(self, None, self._tabPlugins)
+        
+        if not RCCollaborationAdmin.hasRights(self, None) and not RCCollaborationPluginAdmin.hasRights(self, plugins = "any"): #RCCollaborationPluginAdmin.hasRights(self, None, self._tabPlugins):
             RHAdminBase._checkProtection(self)
             
Index: indico/MaKaC/webinterface/rh/conferenceDisplay.py
===================================================================
--- indico/MaKaC/webinterface/rh/conferenceDisplay.py	(revision 93192254eef449c4ec16c9ba02a175dc03f0217a)
+++ indico/MaKaC/webinterface/rh/conferenceDisplay.py	(revision 0e0c28c291622c38d4773967a98c16662cf62dd9)
@@ -392,5 +392,8 @@
 
     def _checkProtection( self ):
-        RHDisplayBaseProtected._checkProtection( self )
+        from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin
+        if not RCCollaborationAdmin.hasRights(self, None) and \
+            not RCCollaborationPluginAdmin.hasRights(self, plugins = "any"): 
+            RHDisplayBaseProtected._checkProtection( self )
 
 
Index: indico/MaKaC/webinterface/wcomponents.py
===================================================================
--- indico/MaKaC/webinterface/wcomponents.py	(revision c174b7efdd6ed2bb7a22d3669de4d1cea7f60dc0)
+++ indico/MaKaC/webinterface/wcomponents.py	(revision 0e0c28c291622c38d4773967a98c16662cf62dd9)
@@ -365,6 +365,6 @@
                 adminItemList.append({'url': urlHandlers.UHAdminArea.getURL(), 'text': _("Server admin")})
             if PluginsHolder().hasPluginType("Collaboration"):
-                from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin
-                if (self._currentuser.isAdmin() or RCCollaborationAdmin.hasRights(user = self._currentuser)) and CollaborationTools.anyPluginsAreActive():
+                from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin
+                if (self._currentuser.isAdmin() or RCCollaborationAdmin.hasRights(user = self._currentuser) or RCCollaborationPluginAdmin.hasRights(user = self._currentuser, plugins = "any")) and CollaborationTools.anyPluginsAreActive():
                     adminItemList.append({'url': urlHandlers.UHAdminCollaboration.getURL(), 'text': _("Video Services Overview")})
             if webcast.HelperWebcastManager.getWebcastManagerInstance().isManager(self._currentuser):
