def _serialize_contribution(contrib): return { 'id': contrib.id, 'friendly_id': contrib.friendly_id, 'contributionId': contrib.id, 'title': contrib.title, 'location': contrib.venue_name, 'room': contrib.room_name, 'startDate': Conversion.datetime(contrib.start_dt), 'endDate': Conversion.datetime(contrib.end_dt), 'duration': Conversion.duration(contrib.duration), 'description': contrib.description, 'track': to_unicode(contrib.track.getTitle()) if contrib.track else None, 'session': contrib.session.title if contrib.session else None, 'type': contrib.type.name if contrib.type else None, 'address': contrib.address, 'reviewManager': fossilize(contrib.event_new.as_legacy.getReviewManager(contrib), IReviewManagerFossil) }
def fossilizeMultiConference(self, conference): """Since we may have more than 1 conference for the same chat room we cannot know to which timezone should we adjust the dates when fossilizing. Therefore, we do it manually with the conference given in the request""" fossilizedRoom = self.fossilize() tz=conference.getTimezone() fossilizedRoom['creationDate'] = Conversion().datetime(self._creationDate.astimezone(timezone(tz)), tz) if self._modificationDate: fossilizedRoom['modificationDate'] = Conversion().datetime(self._modificationDate.astimezone(timezone(tz)), tz) return fossilizedRoom
def getVars(self): vars = WJSBase.getVars( self ) if self._conf: vars["ConferenceId"] = self._conf.getId() vars["NumberOfContributions"] = self._conf.getNumberOfContributions() # these 2 vars are used to see if contrib dates shown should include day or just time vars["ConfStartDate"] = Conversion.datetime(self._conf.getAdjustedStartDate()) vars["IsMultiDayEvent"] = not isSameDay(self._conf.getStartDate(), self._conf.getEndDate(), self._conf.getTimezone()) location = "" if self._conf.getLocation() and self._conf.getLocation().getName(): location = self._conf.getLocation().getName().strip() vars["ConfLocation"] = location room = "" if self._conf.getRoom() and self._conf.getRoom().getName(): room = self._conf.getRoom().getName().strip() vars["ConfRoom"] = room else: # this is so that template can still be rendered in indexes page... # if necessary, we should refactor the Extra.js code so that it gets the # conference data from the booking, now that the booking has the conference inside vars["ConferenceId"] = "" vars["NumberOfContributions"] = 0 vars["ConfStartDate"] = "" vars["IsMultiDayEvent"] = False vars["ConfLocation"] = "" vars["ConfRoom"] = "" return vars
def _serialize_contribution(contrib): return { "id": contrib.id, "friendly_id": contrib.friendly_id, "contributionId": contrib.id, "title": contrib.title, "location": contrib.venue_name, "room": contrib.room_name, "startDate": Conversion.datetime(contrib.start_dt), "endDate": Conversion.datetime(contrib.end_dt), "duration": Conversion.duration(contrib.duration), "description": contrib.description, "track": contrib.track.title if contrib.track else None, "session": contrib.session.title if contrib.session else None, "type": contrib.type.name if contrib.type else None, "address": contrib.address, "reviewManager": fossilize(contrib.event_new.as_legacy.getReviewManager(contrib), IReviewManagerFossil), }
class IConferenceEventInfoFossil(IConferenceMinimalFossil): """ Fossil used to format the 'eventInfo' javascript object used in the timetable operations """ def getAddress(self): """ Address """ getAddress.produce = lambda s: s.getLocation() getAddress.convert = Conversion.locationAddress def getLocation(self): """ Location (CERN/...) """ getLocation.convert = Conversion.locationName def getRoom(self): """ Room (inside location) """ getRoom.convert = Conversion.roomName def getAdjustedStartDate(self): """ Start Date """ getAdjustedStartDate.convert = Conversion.datetime getAdjustedStartDate.name = "startDate" def getAdjustedEndDate(self): """ End Date """ getAdjustedEndDate.convert = Conversion.datetime getAdjustedEndDate.name = "endDate" def getSessions(self): """ Conference Sessions """ getSessions.produce = lambda s: Conversion.sessionList(s) getSessions.result = ISessionFossil def isConference(self): """ Is this event a conference ? """ isConference.produce = lambda s: s.getType() == 'conference' def getFavoriteRooms(self): """ Favorite Rooms """ def getRoomBookingList(self): """ Reservations """ getRoomBookingList.convert = Conversion.reservationsList getRoomBookingList.name = "bookedRooms"
class IBreakTimeSchEntryFossil(ISchEntryFossil): def getInitId(self): """ Id """ # 'produce' is not to be used anywhere else than for the time table getInitId.produce = lambda s: Conversion.locatorString(s)+"b"+s.getId() getInitId.name = "id" def getAdjustedStartDate(self): """ Entry Start Date """ getAdjustedStartDate.convert = Conversion.datetime getAdjustedStartDate.name = "startDate" def getAdjustedEndDate(self): """ Entry End Date """ getAdjustedEndDate.convert = Conversion.datetime getAdjustedEndDate.name = "endDate" def getDuration(self): """ Entry Duration """ getDuration.convert = Conversion.timedelta def getEntryType(self): """ Entry Type """ getEntryType.produce = lambda s: "Break" getEntryType.name = 'entryType' def getConferenceId(self): """ Entry Conference id """ getConferenceId.produce = lambda s: s.getOwner().getConference().getId() def getSessionId(self): """ Entry Session id """ getSessionId.produce = Conversion.parentSession def getSessionSlotId(self): """ Entry Session Slot Id """ getSessionSlotId.produce = Conversion.parentSlot def getRoom(self): """ Entry Room """ getRoom.convert = Conversion.roomName def getLocation(self): """ Entry Location """ getLocation.convert = Conversion.locationName def getColor(self): """ Entry Color """ def getTextColor(self): """ Entry Text Color """
class IContribSchEntryMgmtFossil(IContribSchEntryFossil): def getPresenters(self): """ Entry Presenters """ getPresenters.produce = lambda x: x.getOwner().getSpeakerList() getPresenters.result = IContributionParticipationFossil def getAuthors(self): """ Entry Primary authors """ getAuthors.produce = lambda x: x.getOwner().getPrimaryAuthorList() getAuthors.result = IContributionParticipationFossil def getCoauthors(self): """ Entry Co-Authors """ getCoauthors.produce = lambda x: x.getOwner().getCoAuthorList() getCoauthors.result = IContributionParticipationFossil def getId(self): """ Default Id """ getId.name = "scheduleEntryId" def getAddress(self): """ Entry Address """ getAddress.produce = lambda x: x.getLocation() getAddress.convert = Conversion.locationAddress def getInheritLoc(self): """ Inherited Loc """ getInheritLoc.produce = lambda x: x.getOwner().getOwnLocation() is None def getInheritRoom(self): """ Inherited Room """ getInheritRoom.produce = lambda x: x.getOwner().getOwnRoom() is None def getDuration(self): """ Entry End Date """ getDuration.convert = Conversion.duration def getKeywords(self): """ Entry Keywords """ getKeywords.produce = lambda x: x.getOwner().getKeywords().split( "\n") if x.getOwner().getKeywords().strip() else [] def getBoardNumber(self): """ Entry board number """ getBoardNumber.produce = lambda x: x.getOwner().getBoardNumber() def getContributionType(self): """ Entry type """ getContributionType.produce = lambda x: x.getOwner().getType().getId( ) if x.getOwner().getType() else None def getFields(self): """ Entry fields """ getFields.produce = lambda x: x.getOwner().getFields(valueonly=True) def getReportNumbers(self): """ Entry report numbers """ getReportNumbers.produce = lambda x: Conversion.getReportNumbers( x.getOwner())
class ISessionFossil(ISessionBasicFossil): def getNumSlots(self): """ Number of slots present in the session """ getNumSlots.produce = lambda s: len(s.getSlotList()) def getColor(self): """ Session Color """ def getAdjustedStartDate(self): """ Session Start Date """ getAdjustedStartDate.convert = Conversion.datetime getAdjustedStartDate.name = "startDate" def getAdjustedEndDate(self): """ Session End Date """ getAdjustedEndDate.convert = Conversion.datetime getAdjustedEndDate.name = "endDate" def getLocation(self): """ Session Location """ getLocation.convert = Conversion.locationName def getAddress(self): """ Session Address """ getAddress.produce = lambda s: s.getLocation() getAddress.convert = Conversion.locationAddress def getRoom(self): """ Session Room """ getRoom.convert = Conversion.roomName def getRoomFullName(self): """ Session Room """ getRoomFullName.produce = lambda s: s.getRoom() getRoomFullName.convert = Conversion.roomFullName getRoomFullName.name = 'roomFullname' def getConvenerList(self): """ Session Conveners list """ getConvenerList.produce = lambda s: s.getAllConvenerList() getConvenerList.result = IConferenceParticipationFossil getConvenerList.name = "sessionConveners" def isPoster(self): """ Is self a Poster Session ? """ isPoster.produce = lambda s: s.getScheduleType() == 'poster' def getTextColor(self): """ Session Text Color """ def getLocator(self): pass getLocator.convert = Conversion.url(urlHandlers.UHSessionDisplay) getLocator.name = 'url' def getProtectionURL(self): """Session protection URL""" getProtectionURL.produce = lambda s: str( urlHandlers.UHSessionModifAC.getURL(s))
class ISessionFossil(IFossil): def getId(self): """ Session Id """ #getId.name = "sessionId" def getTitle(self): """ Session Title """ def getDescription(self): """ Session Description """ def getAllMaterialList(self): """ Session List of all material """ getAllMaterialList.result = IMaterialFossil getAllMaterialList.name = "material" def getNumSlots(self): """ Number of slots present in the session """ getNumSlots.produce = lambda s: len(s.getSlotList()) def getColor(self): """ Session Color """ def getAdjustedStartDate(self): """ Session Start Date """ getAdjustedStartDate.convert = Conversion.datetime getAdjustedStartDate.name = "startDate" def getAdjustedEndDate(self): """ Session End Date """ getAdjustedEndDate.convert = Conversion.datetime getAdjustedEndDate.name = "endDate" def getLocation(self): """ Session Location """ getLocation.convert = Conversion.locationName def getAddress(self): """ Session Address """ getAddress.produce = lambda s: s.getLocation() getAddress.convert = Conversion.locationAddress def getRoom(self): """ Session Room """ getRoom.convert = Conversion.roomName def getConvenerList(self): """ Session Conveners list """ getConvenerList.produce = lambda s: s.getAllConvenerList() getConvenerList.result = IConferenceParticipationFossil getConvenerList.name = "sessionConveners" def isPoster(self): """ Is self a Poster Session ? """ isPoster.produce = lambda s: s.getScheduleType() == 'poster' def getTextColor(self): """ Session Text Color """ def getLocator(self): pass getLocator.convert = Conversion.url(urlHandlers.UHSessionDisplay) getLocator.name = 'url'