def getVars(self): vars = WCSPageTemplateBase.getVars( self ) vars["IsSingleBooking"] = not CollaborationTools.getCSBookingClass(self._pluginId)._allowMultiple vars["Conference"] = self._conf isLecture = self._conf.getType() == 'simple_event' vars["IsLecture"] = isLecture underTheLimit = self._conf.getNumberOfContributions() <= self._RecordingRequestOptions["contributionLoadLimit"].getValue() booking = self._conf.getCSBookingManager().getSingleBooking('RecordingRequest') initialChoose = booking is not None and booking._bookingParams['talks'] == 'choose' initialDisplay = (self._conf.getNumberOfContributions() > 0 and underTheLimit) or (booking is not None and initialChoose) vars["InitialChoose"] = initialChoose vars["DisplayTalks"] = initialDisplay talks, rRoomFullNames, rRoomNames, recordingAbleTalks = getCommonTalkInformation(self._conf) nTalks = len(talks) nRecordingCapable = len(recordingAbleTalks) vars["HasRecordingCapableTalks"] = nRecordingCapable > 0 vars["NTalks"] = nTalks #list of "locationName:roomName" strings vars["RecordingCapableRooms"] = rRoomFullNames vars["NRecordingCapableContributions"] = nRecordingCapable #we see if the event itself is webcast capable (depends on event's room) confLocation = self._conf.getLocation() confRoom = self._conf.getRoom() if confLocation and confRoom and (confLocation.getName() + ":" + confRoom.getName() in rRoomNames): topLevelRecordingCapable = True else: topLevelRecordingCapable = False #Finally, this event is webcast capable if the event itself or one of its talks are vars["RecordingCapable"] = topLevelRecordingCapable or nRecordingCapable > 0 if initialDisplay: recordingAbleTalks.sort(key = Contribution.contributionStartDateForSort) vars["Contributions"] = fossilize(recordingAbleTalks, IContributionWithSpeakersFossil, tz = self._conf.getTimezone(), units = '(hours)_minutes', truncate = True) else: vars["Contributions"] = [] vars["PostingUrgency"] = postingUrgency vars["linkToEA"] = collaborationUrlHandlers.UHCollaborationElectronicAgreement.getURL(self._conf) vars["agreementName"] = CollaborationTools.getOptionValue("RecordingRequest", "AgreementName") return vars
def getVars(self): vars = WCSPageTemplateBase.getVars(self) vars["IsSingleBooking"] = not CollaborationTools.getCSBookingClass( self._pluginId)._allowMultiple vars["Conference"] = self._conf isLecture = self._conf.getType() == 'simple_event' vars["IsLecture"] = isLecture underTheLimit = self._conf.getNumberOfContributions( ) <= self._RecordingRequestOptions["contributionLoadLimit"].getValue() manager = Catalog.getIdx("cs_bookingmanager_conference").get( self._conf.getId()) user = self._rh._getUser() isManager = user.isAdmin() or RCCollaborationAdmin.hasRights(user) or \ RCCollaborationPluginAdmin.hasRights(user, plugins=['RecordingRequest']) booking = manager.getSingleBooking('RecordingRequest') initialChoose = booking is not None and booking._bookingParams[ 'talks'] == 'choose' initialDisplay = (self._conf.getNumberOfContributions() > 0 and underTheLimit) or (booking is not None and initialChoose) vars["InitialChoose"] = initialChoose vars["DisplayTalks"] = initialDisplay vars["isManager"] = isManager talks, rRoomFullNames, rRoomNames, recordingAbleTalks, recordingUnableTalks = getCommonTalkInformation( self._conf) nRecordingCapable = len(recordingAbleTalks) vars["HasRecordingCapableTalks"] = nRecordingCapable > 0 vars["NTalks"] = len(talks) # list of "locationName:roomName" strings vars["RecordingCapableRooms"] = rRoomFullNames vars["NRecordingCapableContributions"] = nRecordingCapable # we check if the event itself is recoring capable (depends on event's room) confLocation = self._conf.getLocation() confRoom = self._conf.getRoom() if confLocation and confRoom and (confLocation.getName() + ":" + confRoom.getName() in rRoomNames): topLevelRecordingCapable = True else: topLevelRecordingCapable = False # Finally, this event is recoring capable if the event itself # or one of its talks are capable or user is admin, collaboration # manager or recording plugin manager vars[ "RecordingCapable"] = topLevelRecordingCapable or nRecordingCapable > 0 or isManager recordingAbleTalks.sort(key=Contribution.contributionStartDateForSort) talks.sort(key=Contribution.contributionStartDateForSort) fossil_args = dict(tz=self._conf.getTimezone(), units='(hours)_minutes', truncate=True) vars["Contributions"] = fossilize(talks, IContributionRRFossil, **fossil_args) vars["ContributionsAble"] = fossilize(recordingAbleTalks, IContributionRRFossil, **fossil_args) vars["ContributionsUnable"] = fossilize(recordingUnableTalks, IContributionRRFossil, **fossil_args) vars["PostingUrgency"] = postingUrgency vars[ "linkToEA"] = collaborationUrlHandlers.UHCollaborationElectronicAgreement.getURL( self._conf) vars["agreementName"] = CollaborationTools.getOptionValue( "RecordingRequest", "AgreementName") return vars
def getVars(self): vars = WCSPageTemplateBase.getVars( self ) vars["IsSingleBooking"] = not CollaborationTools.getCSBookingClass(self._pluginId)._allowMultiple vars["Conference"] = self._conf isLecture = self._conf.getType() == 'simple_event' vars["IsLecture"] = isLecture underTheLimit = self._conf.getNumberOfContributions() <= self._RecordingRequestOptions["contributionLoadLimit"].getValue() manager = Catalog.getIdx("cs_bookingmanager_conference").get(self._conf.getId()) user = self._rh._getUser() isManager = user.isAdmin() or RCCollaborationAdmin.hasRights(user) or \ RCCollaborationPluginAdmin.hasRights(user, plugins=['RecordingRequest']) booking = manager.getSingleBooking('RecordingRequest') initialChoose = booking is not None and booking._bookingParams['talks'] == 'choose' initialDisplay = (self._conf.getNumberOfContributions() > 0 and underTheLimit) or (booking is not None and initialChoose) vars["InitialChoose"] = initialChoose vars["DisplayTalks"] = initialDisplay vars["isManager"] = isManager talks, rRoomFullNames, rRoomNames, recordingAbleTalks, recordingUnableTalks = getCommonTalkInformation(self._conf) nRecordingCapable = len(recordingAbleTalks) vars["HasRecordingCapableTalks"] = nRecordingCapable > 0 vars["NTalks"] = len(talks) # list of "locationName:roomName" strings vars["RecordingCapableRooms"] = rRoomFullNames vars["NRecordingCapableContributions"] = nRecordingCapable # we check if the event itself is recoring capable (depends on event's room) confLocation = self._conf.getLocation() confRoom = self._conf.getRoom() if confLocation and confRoom and (confLocation.getName() + ":" + confRoom.getName() in rRoomNames): topLevelRecordingCapable = True else: topLevelRecordingCapable = False # Finally, this event is recoring capable if the event itself # or one of its talks are capable or user is admin, collaboration # manager or recording plugin manager vars["RecordingCapable"] = topLevelRecordingCapable or nRecordingCapable > 0 or isManager recordingAbleTalks.sort(key = Contribution.contributionStartDateForSort) talks.sort(key = Contribution.contributionStartDateForSort) fossil_args = dict(tz=self._conf.getTimezone(), units='(hours)_minutes', truncate=True) vars["Contributions"] = fossilize(talks, IContributionRRFossil, **fossil_args) vars["ContributionsAble"] = fossilize(recordingAbleTalks, IContributionRRFossil, **fossil_args) vars["ContributionsUnable"] = fossilize(recordingUnableTalks, IContributionRRFossil, **fossil_args) vars["PostingUrgency"] = postingUrgency vars["linkToEA"] = collaborationUrlHandlers.UHCollaborationElectronicAgreement.getURL(self._conf) vars["agreementName"] = CollaborationTools.getOptionValue("RecordingRequest", "AgreementName") return vars