Example #1
0
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)
    }
Example #2
0
 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
Example #3
0
    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
Example #4
0
    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
Example #5
0
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)
    }
Example #6
0
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),
    }
Example #7
0
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"
Example #8
0
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 """
Example #9
0
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())
Example #10
0
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))
Example #11
0
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'