def getVars(self): variables = WCSPageTemplateBase.getVars(self) bookingClass = CollaborationTools.getCSBookingClass(self._pluginId) variables["CanBeNotified"] = bookingClass._canBeNotifiedOfEventDateChanges return variables
def getVars( self ): vars = wcomponents.WTemplated.getVars( self ) plugins = self._tabPlugins singleBookingPlugins, multipleBookingPlugins = CollaborationTools.splitPluginsByAllowMultiple(plugins) CSBookingManager = self._conf.getCSBookingManager() bookingsS = {} for p in singleBookingPlugins: bookingList = CSBookingManager.getBookingList(filterByType = p.getName()) if len(bookingList) > 0: bookingsS[p.getName()] = DictPickler.pickle(bookingList[0]) bookingsM = DictPickler.pickle(CSBookingManager.getBookingList( sorted = True, notify = True, filterByType = [p.getName() for p in multipleBookingPlugins])) vars["Conference"] = self._conf vars["AllPlugins"] = plugins vars["SingleBookingPlugins"] = singleBookingPlugins vars["BookingsS"] = bookingsS vars["MultipleBookingPlugins"] = multipleBookingPlugins vars["BookingsM"] = bookingsM vars["Tab"] = self._activeTab vars["EventDate"] = formatDateTime(getAdjustedDate(nowutc(),self._conf)) from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin vars["UserIsAdmin"] = RCCollaborationAdmin.hasRights(user = self._user) or RCCollaborationPluginAdmin.hasRights(user = self._user, plugins = self._tabPlugins) singleBookingForms = {} multipleBookingForms = {} JSCodes = {} canBeNotified = {} for plugin in singleBookingPlugins: pluginName = plugin.getName() templateClass = CollaborationTools.getTemplateClass(pluginName, "WNewBookingForm") singleBookingForms[pluginName] = templateClass(self._conf, pluginName, self._user).getHTML() for plugin in multipleBookingPlugins: pluginName = plugin.getName() templateClass = CollaborationTools.getTemplateClass(pluginName, "WNewBookingForm") multipleBookingForms[pluginName] = templateClass(self._conf, pluginName, self._user).getHTML() for plugin in plugins: pluginName = plugin.getName() templateClass = CollaborationTools.getTemplateClass(pluginName, "WMain") JSCodes[pluginName] = templateClass(pluginName, self._conf).getHTML() bookingClass = CollaborationTools.getCSBookingClass(pluginName) canBeNotified[pluginName] = bookingClass._canBeNotifiedOfEventDateChanges vars["SingleBookingForms"] = singleBookingForms vars["MultipleBookingForms"] = multipleBookingForms vars["JSCodes"] = JSCodes vars["CanBeNotified"] = canBeNotified return vars
def testCreateCSBookingObject(self): with self._context('database'): # we don't bother setting a proper Conference as 2nd argument self.assertEquals( type( CollaborationTools.getCSBookingClass("Vidyo")("Vidyo", None)), CSBooking)
def call(self): result = [] itiAll = IndexInformation("all") pluginIndexes = [] commonIndexes = {} plugins = self._pluginType.getPluginList(doSort=True, includeNonActive=True) pluginNames = [p.getId() for p in plugins if p.isActive()] for pluginName in pluginNames: csBookingClass = CollaborationTools.getCSBookingClass(pluginName) if not csBookingClass._shouldBeIndexed: continue itiAll.addPlugin(pluginName) if csBookingClass._hasAcceptReject: itiAll.setHasShowOnlyPending(True) if csBookingClass._hasStartDate: itiAll.setHasViewByStartDate(True) iti = IndexInformation(pluginName) iti.addPlugin(pluginName) iti.setHasShowOnlyPending(csBookingClass._hasAcceptReject) iti.setHasViewByStartDate(csBookingClass._hasStartDate) pluginIndexes.append(iti) for commonIndexName in csBookingClass._commonIndexes: if not commonIndexName in commonIndexes: commonIndexes[commonIndexName] = IndexInformation( commonIndexName) iti = commonIndexes[commonIndexName] iti.addPlugin(pluginName) if csBookingClass._hasAcceptReject: iti.setHasShowOnlyPending(True) if csBookingClass._hasStartDate: iti.setHasViewByStartDate(True) commonIndexNames = commonIndexes.keys() commonIndexNames.sort() result.append(itiAll) result.extend(pluginIndexes) result.append(IndexInformation("requests")) result.extend([commonIndexes[k] for k in commonIndexNames]) self._pluginType.getOption("pluginsPerIndex").setValue(result)
def call(self): result = [] itiAll = IndexInformation("all") pluginIndexes = [] commonIndexes = {} plugins = self._pluginType.getPluginList(doSort=True, includeNonActive=True) pluginNames = [p.getId() for p in plugins if p.isActive()] for pluginName in pluginNames: csBookingClass = CollaborationTools.getCSBookingClass(pluginName) if not csBookingClass._shouldBeIndexed: continue itiAll.addPlugin(pluginName) if csBookingClass._hasAcceptReject: itiAll.setHasShowOnlyPending(True) if csBookingClass._hasStartDate: itiAll.setHasViewByStartDate(True) iti = IndexInformation(pluginName) iti.addPlugin(pluginName) iti.setHasShowOnlyPending(csBookingClass._hasAcceptReject) iti.setHasViewByStartDate(csBookingClass._hasStartDate) pluginIndexes.append(iti) for commonIndexName in csBookingClass._commonIndexes: if not commonIndexName in commonIndexes: commonIndexes[commonIndexName] = IndexInformation(commonIndexName) iti = commonIndexes[commonIndexName] iti.addPlugin(pluginName) if csBookingClass._hasAcceptReject: iti.setHasShowOnlyPending(True) if csBookingClass._hasStartDate: iti.setHasViewByStartDate(True) commonIndexNames = commonIndexes.keys() commonIndexNames.sort() result.append(itiAll) result.extend(pluginIndexes) result.append(IndexInformation("requests")) result.extend([commonIndexes[k] for k in commonIndexNames]) self._pluginType.getOption("pluginsPerIndex").setValue(result)
def getVars(self): vars = wcomponents.WTemplated.getVars(self) plugins = self._tabPlugins singleBookingPlugins, multipleBookingPlugins = CollaborationTools.splitPluginsByAllowMultiple(plugins) csBookingManager = Catalog.getIdx("cs_bookingmanager_conference").get(self._conf.getId()) bookingsS = {} for p in singleBookingPlugins: bookingList = csBookingManager.getBookingList(filterByType = p.getId()) if len(bookingList) > 0: bookingsS[p.getId()] = fossilize(bookingList[0]) #will use ICSBookingConfModifBaseFossil or inheriting fossil bookingsM = fossilize(csBookingManager.getBookingList( sorted = True, notify = True, filterByType = [p.getName() for p in multipleBookingPlugins])) #will use ICSBookingConfModifBaseFossil or inheriting fossil vars["Conference"] = self._conf vars["AllPlugins"] = plugins vars["SingleBookingPlugins"] = singleBookingPlugins vars["BookingsS"] = bookingsS vars["MultipleBookingPlugins"] = multipleBookingPlugins vars["BookingsM"] = bookingsM vars["Tab"] = self._activeTab vars["EventDate"] = formatDateTime(getAdjustedDate(nowutc(), self._conf)) from MaKaC.plugins.Collaboration.handlers import RCCollaborationAdmin, RCCollaborationPluginAdmin, RCVideoServicesUser vars["UserIsAdmin"] = RCCollaborationAdmin.hasRights(self._user) or RCCollaborationPluginAdmin.hasRights(self._user, plugins=self._tabPlugins) hasCreatePermissions = {} videoServSupport = {} isAllowedToSearch = {} for plugin in plugins: pname = plugin.getName() hasCreatePermissions[pname] = RCVideoServicesUser.hasRights(user=self._user, pluginName=pname) videoServSupport[pname] = plugin.getOption("contactSupport").getValue() \ if plugin.hasOption("contactSupport") else "" isAllowedToSearch[pname] = plugin.getOption("searchAllow").getValue() if plugin.hasOption("searchAllow") \ else False vars["HasCreatePermissions"] = hasCreatePermissions vars["VideoServiceSupport"] = videoServSupport vars["isAllowedToSearch"] = isAllowedToSearch singleBookingForms = {} multipleBookingForms = {} jsCodes = {} canBeNotified = {} for plugin in singleBookingPlugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm") singleBookingForms[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML() for plugin in multipleBookingPlugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm") newBookingFormHTML = templateClass(self._conf, plugin.getId(), self._user).getHTML() advancedTabClass = CollaborationTools.getTemplateClass(pluginId, "WAdvancedTab") if advancedTabClass: advancedTabClassHTML = advancedTabClass(self._conf, plugin.getId(), self._user).getHTML() else: advancedTabClassHTML = WConfModifCollaborationDefaultAdvancedTab(self._conf, plugin, self._user).getHTML() multipleBookingForms[pluginId] = (newBookingFormHTML, advancedTabClassHTML) for plugin in plugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WMain") jsCodes[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML() bookingClass = CollaborationTools.getCSBookingClass(pluginId) canBeNotified[pluginId] = bookingClass._canBeNotifiedOfEventDateChanges vars["SingleBookingForms"] = singleBookingForms vars["MultipleBookingForms"] = multipleBookingForms vars["JSCodes"] = jsCodes vars["CanBeNotified"] = canBeNotified return vars
def getVars(self): vars = wcomponents.WTemplated.getVars(self) plugins = self._tabPlugins singleBookingPlugins, multipleBookingPlugins = CollaborationTools.splitPluginsByAllowMultiple(plugins) csBookingManager = self._conf.getCSBookingManager() bookingsS = {} for p in singleBookingPlugins: bookingList = csBookingManager.getBookingList(filterByType = p.getId()) if len(bookingList) > 0: bookingsS[p.getId()] = fossilize(bookingList[0]) #will use ICSBookingConfModifBaseFossil or inheriting fossil bookingsM = fossilize(csBookingManager.getBookingList( sorted = True, notify = True, filterByType = [p.getName() for p in multipleBookingPlugins])) #will use ICSBookingConfModifBaseFossil or inheriting fossil vars["Conference"] = self._conf vars["AllPlugins"] = plugins vars["SingleBookingPlugins"] = singleBookingPlugins vars["BookingsS"] = bookingsS vars["MultipleBookingPlugins"] = multipleBookingPlugins vars["BookingsM"] = bookingsM vars["Tab"] = self._activeTab vars["EventDate"] = formatDateTime(getAdjustedDate(nowutc(), self._conf)) from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin, RCVideoServicesUser vars["UserIsAdmin"] = RCCollaborationAdmin.hasRights(user = self._user) or RCCollaborationPluginAdmin.hasRights(user = self._user, plugins = self._tabPlugins) hasCreatePermissions = {} videoServSupport = {} for plugin in plugins: pname = plugin.getName() hasCreatePermissions[pname] = RCVideoServicesUser.hasRights(user = self._user, pluginName = pname) videoServSupport[pname] = plugin.getOption("contactSupport").getValue() if plugin.hasOption("contactSupport") else "" vars["HasCreatePermissions"] = hasCreatePermissions vars["VideoServiceSupport"] = videoServSupport singleBookingForms = {} multipleBookingForms = {} jsCodes = {} canBeNotified = {} for plugin in singleBookingPlugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm") singleBookingForms[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML() for plugin in multipleBookingPlugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm") newBookingFormHTML = templateClass(self._conf, plugin.getId(), self._user).getHTML() advancedTabClass = CollaborationTools.getTemplateClass(pluginId, "WAdvancedTab") if advancedTabClass: advancedTabClassHTML = advancedTabClass(self._conf, plugin.getId(), self._user).getHTML() else: advancedTabClassHTML = WConfModifCollaborationDefaultAdvancedTab(self._conf, plugin, self._user).getHTML() multipleBookingForms[pluginId] = (newBookingFormHTML, advancedTabClassHTML) for plugin in plugins: pluginId = plugin.getId() templateClass = CollaborationTools.getTemplateClass(pluginId, "WMain") jsCodes[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML() bookingClass = CollaborationTools.getCSBookingClass(pluginId) canBeNotified[pluginId] = bookingClass._canBeNotifiedOfEventDateChanges vars["SingleBookingForms"] = singleBookingForms vars["MultipleBookingForms"] = multipleBookingForms vars["JSCodes"] = jsCodes vars["CanBeNotified"] = canBeNotified return vars
def testCreateCSBookingObject(self): with self._context('database'): # we don't bother setting a proper Conference as 2nd argument self.assertEquals(type(CollaborationTools.getCSBookingClass("Vidyo")("Vidyo", None)), CSBooking)
def testObtainVidyoClass(self): with self._context('database'): self.assertEquals(CollaborationTools.getCSBookingClass("Vidyo"), CSBooking)