示例#1
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
示例#2
0
文件: pages.py 项目: vstitches/indico
    def getVars(self):
        variables = WJSBase.getVars(self)

        variables["LoggedInUser"] = self._user.fossilize(IAvatarFossil)
        variables["MaxNameLength"] = VidyoTools.maxRoomNameLength(self._conf.getId())

        return variables
示例#3
0
    def getVars(self):
        vars = WJSBase.getVars( self )

        roomsWithH323IP = []

        if self._conf:

            vars["ConferenceId"] = self._conf.getId()

            # Code to get a list of H.323 Videoconference-able rooms
            # by querying Indico's RB database
            location = self._conf.getLocation()

            if location and location.getName():
                locationName = location.getName()

                if Config.getInstance().getIsRoomBookingActive():
                    attr_name = getCERNMCUOptionValueByName('H323_IP_att_name')
                    for room, ip in Room.find_with_attribute(attr_name):
                        if validIP(ip):
                            roomsWithH323IP.append(RoomWithH323(locationName, room.full_name, ip))
        else:
            vars["ConferenceId"] = ""

        roomsWithH323IP.sort(key=lambda r: (r.getLocation(), r.getName()))
        vars["RoomsWithH323IP"] = roomsWithH323IP
        return vars
示例#4
0
    def getVars(self):
        vars = WJSBase.getVars( self )

        vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
        vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
        vars["ExtraMinutesBefore"] = getCERNMCUOptionValueByName("extraMinutesBefore")
        vars["ExtraMinutesAfter"] = getCERNMCUOptionValueByName("extraMinutesAfter")

        # Code to retrieve the event's location and room in order to include the event's room
        # as an initial participant
        location = self._conf.getLocation()
        room = self._conf.getRoom()
        if location and room and location.getName() and room.getName() and location.getName().strip() and room.getName().strip():
            locationName = location.getName()
            roomName = room.getName()

            vars["IncludeInitialRoom"] = True
            vars["IPRetrievalResult"] = -1 # 0 = OK, 1 = room without H323 IP, 2 = room with invalid H323 IP, 3 = connection to RB problem, 4 = another unknown problem
            vars["InitialRoomName"] = roomName
            if self._conf.getLocation():
                vars["InitialRoomInstitution"] = locationName
            else:
                vars["InitialRoomInstitution"] = ""

            if not Config.getInstance().getIsRoomBookingActive():
                room_ip = "Please enter IP"
                vars["IPRetrievalResult"] = 3
            else:
                rb_room = Room.find_first(Location.name == locationName, Room.name == roomName, _join=Room.location)
                if rb_room is None:
                    room_ip = "Please enter IP."
                    vars["IPRetrievalResult"] = 1
                else:
                    vars["InitialRoomName"] = rb_room.full_name
                    attr_name = getCERNMCUOptionValueByName('H323_IP_att_name')
                    room_ip = rb_room.get_attribute_value(attr_name, '').strip()
                    if not room_ip:
                        room_ip = "Please enter IP."
                        vars["IPRetrievalResult"] = 1
                    elif not validIP(room_ip):
                        vars["IPRetrievalResult"] = 2
                    else:
                        vars["IPRetrievalResult"] = 0

            vars["InitialRoomIP"] = room_ip

        else:
            vars["IncludeInitialRoom"] = False
            vars["IPRetrieved"] = False
            vars["InitialRoomName"] = ""
            vars["InitialRoomInstitution"] = ""
            vars["InitialRoomIP"] = ""

        vars["CERNGatekeeperPrefix"] = getCERNMCUOptionValueByName("CERNGatekeeperPrefix")
        vars["GDSPrefix"] = getCERNMCUOptionValueByName("GDSPrefix")
        vars["MCU_IP"] = getCERNMCUOptionValueByName("MCU_IP")
        vars["Phone_number"] = getCERNMCUOptionValueByName("Phone_number")

        return vars
示例#5
0
 def getVars(self):
     vars = WJSBase.getVars( self )
     
     vars["AllowedStartMinutes"] = self._EVOOptions["allowedPastMinutes"].getValue()
     vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
     vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
     vars["AllowedMarginMinutes"] = self._EVOOptions["allowedMinutes"].getValue()
     
     return vars
示例#6
0
 def getVars(self):
     vars = WJSBase.getVars(self)
     vars["AllowedStartMinutes"] = self._EVOOptions["allowedPastMinutes"].getValue()
     vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
     vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
     vars["ExtraMinutesBefore"] = self._EVOOptions["extraMinutesBefore"].getValue()
     vars["ExtraMinutesAfter"] = self._EVOOptions["extraMinutesAfter"].getValue()
     vars["PossibleToCreateOrModify"] = getAdjustedDate(nowutc(), self._conf) < getMaxEndDate(self._conf)
     vars["GeneralSettingsURL"] = urlHandlers.UHConferenceModification.getURL(self._conf)
     return vars
示例#7
0
    def getVars(self):
        vars = WJSBase.getVars(self)

        vars["AllowedStartMinutes"] = self._WebExOptions["allowedPastMinutes"].getValue()
        vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
        vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
        vars["AllowedMarginMinutes"] = self._WebExOptions["allowedMinutes"].getValue()
        # from indico.core.logger import Logger
        vars["LoggedInEmail"] = self._user.getEmail()
        # Logger.get('WebEx').error(self._user.getEmail())
        return vars
示例#8
0
    def getVars(self):
        vars = WJSBase.getVars( self )

        if self._conf:
            vars["ConferenceId"] = self._conf.getId()
        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"] = ""
        return vars
示例#9
0
    def getVars(self):
        vars = WJSBase.getVars(self)

        vars["AllowedStartMinutes"] = self._EVOOptions[
            "allowedPastMinutes"].getValue()
        vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
        vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
        vars["AllowedMarginMinutes"] = self._EVOOptions[
            "allowedMinutes"].getValue()

        return vars
示例#10
0
文件: pages.py 项目: bubbas/indico
    def getVars(self):
        vars = WJSBase.getVars( self )

        vars["AllowedStartMinutes"] = self._EVOOptions["allowedPastMinutes"].getValue()
        if self._conf:
            vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf), format = "EEE d/M H:mm")
            vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf), format = "EEE d/M H:mm")
        else:
            vars["MinStartDate"] = ''
            vars["MaxEndDate"] = ''

        return vars
示例#11
0
    def getVars(self):
        vars = WJSBase.getVars( self )

        roomsWithH323IP = []

        if self._conf:

            vars["ConferenceId"] = self._conf.getId()

            # Code to get a list of H.323 Videoconference-able rooms
            # by querying Indico's RB database
            location = self._conf.getLocation()

            if location and location.getName():
                locationName = location.getName()

                # TODO: get list of room from a plugin option instead of querying the RB DB everytime
                try:
                    minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()
                    if minfo.getRoomBookingModuleActive():
                        Logger.get("CERNMCU").info("Connecting with Room Booking DB to get the list of all rooms with a H323 IP")
                        CrossLocationDB.connect()
                        Logger.get("CERNMCU").info("Connection successful")

                        attName = getCERNMCUOptionValueByName("H323_IP_att_name")

                        try:
                            returnedRooms = CrossLocationQueries.getRooms( location = locationName,
                                                                           customAtts = [{"name":attName, "allowEmpty":False,
                                                                                          "filter": (lambda ip: validIP(ip))}] )
                            if not isinstance(returnedRooms, list):
                                if returnedRooms:
                                    returnedRooms = [returnedRooms]
                                else:
                                    returnedRooms = []

                            for room in returnedRooms:
                                roomsWithH323IP.append(RoomWithH323(locationName, room.getFullName(), room.customAtts[attName]))

                        except AttributeError:
                            #CrossLocationQueries.getRooms fails because it does not handle location names that are not in the DB
                            pass
                        except Exception, e:
                            Logger.get("CERNMCU").warning("Location: " + locationName + "Problem with CrossLocationQueries when retrieving the list of all rooms with a H323 IP: " + str(e))

                except MaKaCError, e:
                    Logger.get("CERNMCU").warning("Location: " + locationName + "MaKaCError when retrieving the list of all rooms with a H323 IP: " + e.getMsg())
                except Exception, e:
                    Logger.get("CERNMCU").warning("Location: " + locationName + "Exception when retrieving the list of all rooms with a H323 IP: " + str(e))
示例#12
0
    def getVars(self):
        vars = WJSBase.getVars(self)

        vars["AllowedStartMinutes"] = self._EVOOptions[
            "allowedPastMinutes"].getValue()
        if self._conf:
            vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf),
                                                  format="EEE d/M H:mm")
            vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf),
                                                format="EEE d/M H:mm")
        else:
            vars["MinStartDate"] = ''
            vars["MaxEndDate"] = ''

        return vars
示例#13
0
 def getVars(self):
     vars = WJSBase.getVars(self)
     vars["AllowedStartMinutes"] = self._EVOOptions[
         "allowedPastMinutes"].getValue()
     vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf))
     vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf))
     vars["ExtraMinutesBefore"] = self._EVOOptions[
         "extraMinutesBefore"].getValue()
     vars["ExtraMinutesAfter"] = self._EVOOptions[
         "extraMinutesAfter"].getValue()
     vars["PossibleToCreateOrModify"] = getAdjustedDate(
         nowutc(), self._conf) < getMaxEndDate(self._conf)
     vars[
         "GeneralSettingsURL"] = urlHandlers.UHConferenceModification.getURL(
             self._conf)
     return vars
示例#14
0
 def getVars(self):
     vars = WJSBase.getVars(self)
     vars["SessionTimes"] = "{}"
     vars["MinStartDate"] = ''
     vars["MaxEndDate"] = ''
     vars["AllowedStartMinutes"] = self._WebExOptions["allowedPastMinutes"].getValue()
     vars["LoggedInEmail"] = self._user.getEmail()
     sessionTimes = ""
     if not hasattr(self, "_conf") or self._conf is None:
         return vars
     sessionList = self._conf.getSessionList()
     for session in sessionList:
         sessionTimes = sessionTimes + """{"id":"%s", "start":"%s", "end":"%s" },""" % (str(session.getId()), formatDateTime(session.getAdjustedStartDate()), formatDateTime(session.getAdjustedEndDate()))
     vars["SessionTimes"] = '{ "sessions": [' + sessionTimes[:-1] + ']}'
     if self._conf:
         vars["MinStartDate"] = formatDateTime(getMinStartDate(self._conf), format="%a %d/%m %H:%M")
         vars["MaxEndDate"] = formatDateTime(getMaxEndDate(self._conf), format="%a %d/%m %H:%M")
     return vars
示例#15
0
文件: pages.py 项目: vstitches/indico
 def getVars(self):
     variables = WJSBase.getVars(self)
     return variables
示例#16
0
    def getVars(self):
        vars = WJSBase.getVars( self )

        vars["MinStartDate"] = formatDateTime(self._conf.getAdjustedStartDate())
        vars["MaxEndDate"] = formatDateTime(self._conf.getAdjustedEndDate())

        # Code to retrieve the event's location and room in order to include the event's room
        # as an initial participant
        location = self._conf.getLocation()
        room = self._conf.getRoom()
        if location and room and location.getName() and room.getName() and location.getName().strip() and room.getName().strip():
            locationName = location.getName()
            roomName = room.getName()
            
            vars["IncludeInitialRoom"] = True
            vars["IPRetrievalResult"] = -1 # 0 = OK, 1 = room without H323 IP, 2 = room with invalid H323 IP, 3 = connection to RB problem, 4 = another unknown problem 
            vars["InitialRoomName"] = roomName
            if self._conf.getLocation():
                vars["InitialRoomInstitution"] = locationName
            else:
                vars["InitialRoomInstitution"] = ""

            # TODO: get IP of room from a plugin option instead of querying RB DB every time
            try:
                minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()
                if minfo.getRoomBookingModuleActive():
                    Logger.get("CERNMCU").info("Connecting with Room Booking DB to get a room's H323 IP")
                    CrossLocationDB.connect()
                    Logger.get("CERNMCU").info("Connection successful")

                    attName = getCERNMCUOptionValueByName("H323_IP_att_name")

                    try:
                        returnedRooms = CrossLocationQueries.getRooms( location = locationName, roomName = roomName )
    
                        if isinstance(returnedRooms, list):
                            if len(returnedRooms) == 0:
                                returnedRoom = None
                            else:
                                returnedRoom = returnedRooms[0]
                        else:
                            returnedRoom = returnedRooms
    
                        if (returnedRoom != None) and (attName in returnedRoom.customAtts):
    
                            initialRoomIp = returnedRoom.customAtts[attName]
                            if (initialRoomIp.strip() == ""):
                                vars["IPRetrievalResult"] = 1
                            elif not validIP(initialRoomIp):
                                vars["IPRetrievalResult"] = 2
                            else:
                                vars["IPRetrievalResult"] = 0
    
                        else:
                            initialRoomIp = "IP not defined for this room."
                            vars["IPRetrievalResult"] = 2
                            
                    except AttributeError:
                        #CrossLocationQueries.getRooms fails because it does not handle location names that are not in the DB
                        initialRoomIp = "Please enter IP"
                        vars["IPRetrievalResult"] = 1
                    except Exception, e:
                        initialRoomIp = "IP not found."
                        vars["IPRetrievalResult"] = 4
                        Logger.get("CERNMCU").warning("Location: " + locationName + "Problem with CrossLocationQueries when retrieving the list of all rooms with a H323 IP: " + str(e))
                else:
                    initialRoomIp = "Please enter IP"
                    vars["IPRetrievalResult"] = 3
                    Logger.get("CERNMCU").info("Tried to retrieve a room's H323 IP, but Room Booking module was not active.")