Exemplo n.º 1
0
    def meetingAndLectureDisplay(cls, obj, params):
        out = params['out']
        conf = params['conf']
        if DBHelpers.roomsToShow(conf):
            linksList = PluginsHolder().getPluginType('InstantMessaging').getOption('customLinks').getValue()
            out.openTag("chatrooms")
            for chatroom in DBHelpers.getShowableRooms(conf):
                out.openTag("chatroom")

                out.writeTag("id", chatroom.getId())
                out.writeTag("name", chatroom.getTitle())
                out.writeTag("server", 'conference.' + chatroom.getHost() if chatroom.getCreatedInLocalServer() else chatroom.getHost())
                out.writeTag("description", chatroom.getDescription())
                out.writeTag("reqPassword", _('Yes') if chatroom.getPassword() else _('No'))
                out.writeTag("showPassword", chatroom.getShowPass())
                out.writeTag("password", chatroom.getPassword())
                out.writeTag("createdInLocalServer", chatroom.getCreatedInLocalServer())
                out.openTag("links")
                if linksList.__len__() > 0:
                    out.writeTag("linksToShow", 'true')
                else:
                    out.writeTag("linksToShow", 'false')

                for link in linksList:
                    out.openTag("customLink")
                    out.writeTag("name", link['name'])
                    out.writeTag("structure", GeneralLinkGenerator(chatroom, link['structure']).generate())
                    out.closeTag("customLink")

                out.closeTag("links")
                out.closeTag("chatroom")
            out.closeTag("chatrooms")

            out.writeTag("how2connect", PluginFieldsWrapper('InstantMessaging', 'XMPP').getOption('ckEditor'))
Exemplo n.º 2
0
 def eventDetailBanner(self, obj, conf):
     if DBHelpers.roomsToShow(conf):
         vars = {}
         vars['chatrooms'] = DBHelpers.getShowableRooms(conf)
         vars['linksList'] = PluginsHolder().getPluginType('InstantMessaging').getOption('customLinks').getValue()
         vars['how2connect'] = PluginFieldsWrapper('InstantMessaging', 'XMPP').getOption('ckEditor')
         return WEventDetailBanner.forModule(InstantMessaging).getHTML(vars)
     else:
         return ""
Exemplo n.º 3
0
 def eventDetailBanner(self, obj, conf):
     if DBHelpers.roomsToShow(conf):
         vars = {}
         vars['chatrooms'] = DBHelpers.getShowableRooms(conf)
         vars['linksList'] = PluginsHolder().getPluginType('InstantMessaging').getOption('customLinks').getValue()
         vars['how2connect'] = PluginFieldsWrapper('InstantMessaging', 'XMPP').getOption('ckEditor')
         return WEventDetailBanner.forModule(InstantMessaging).getHTML(vars)
     else:
         return ""
Exemplo n.º 4
0
 def eventDetailBanner(self, obj, conf):
     if DBHelpers.roomsToShow(conf):
         vars = {}
         vars["chatrooms"] = DBHelpers.getShowableRooms(conf)
         vars["linksList"] = PluginsHolder().getPluginType("InstantMessaging").getOption("customLinks").getValue()
         vars["how2connect"] = PluginFieldsWrapper("InstantMessaging", "XMPP").getOption("ckEditor")
         return WEventDetailBanner.forModule(InstantMessaging).getHTML(vars)
     else:
         return ""
Exemplo n.º 5
0
    def createChatroom(cls, obj, params):
        """ Inserts the object in the database according to all the kind of indexing types, in this case:
        -Chat rooms by conference
        -Chat rooms by user
        -Chat rooms by name (to check if there's already a chat room with that name in our XMPP server)
        -Chat rooms by ID (to access faster to the object when querying)
        """
        room = params['room']

        conference = params['conference']

        # index by conference id
        confIndex = IndexByConf()
        room.setId(DBHelpers.newID())
        confIndex.index(conference.getId(), room)

        # Index by chat room's name
        crNameIndex = IndexByCRName()
        crNameIndex.index(room)

        # Index by id
        idIndex = IndexByID()
        idIndex.index(room)

        # Index by room creator
        userIndex = IndexByUser()
        userIndex.index(room.getOwner().getId(), room)
Exemplo n.º 6
0
    def createChatroom(cls, obj, params):
        """ Inserts the object in the database according to all the kind of indexing types, in this case:
        -Chat rooms by conference
        -Chat rooms by user
        -Chat rooms by name (to check if there's already a chat room with that name in our XMPP server)
        -Chat rooms by ID (to access faster to the object when querying)
        """
        room = params['room']

        conference = params['conference']

        # index by conference id
        confIndex = IndexByConf()
        room.setId(DBHelpers.newID())
        confIndex.index(conference.getId(), room)

        # Index by chat room's name
        crNameIndex = IndexByCRName()
        crNameIndex.index(room)

        # Index by id
        idIndex = IndexByID()
        idIndex.index(room)

        # Index by room creator
        userIndex = IndexByUser()
        userIndex.index(room.getOwner().getId(), room)
Exemplo n.º 7
0
Arquivo: rh.py Projeto: Ictp/indico
 def _checkParams(self, params):
     RHChatModifBase._checkParams(self, params)
     self._conf = ConferenceHolder().getById(params['confId'])
     self._chatroom = DBHelpers.getChatroom(params['chatroom'])
     self._sdate = params['sdate'] if params.has_key('sdate') else None
     self._edate = params['edate'] if params.has_key('edate') else None
     self._forEvent = bool(params['forEvent']) if params.has_key('forEvent') else None
     self._getAll = not self._sdate and not self._edate and not self._forEvent
Exemplo n.º 8
0
 def _checkParams(self, params):
     RHChatModifBase._checkParams(self, params)
     self._conf = ConferenceHolder().getById(params["confId"])
     self._chatroom = DBHelpers.getChatroom(params["chatroom"])
     self._sdate = params["sdate"] if params.has_key("sdate") else None
     self._edate = params["edate"] if params.has_key("edate") else None
     self._forEvent = bool(params["forEvent"]) if params.has_key("forEvent") else None
     self._getAll = not self._sdate and not self._edate and not self._forEvent
Exemplo n.º 9
0
 def _checkParams(self, params):
     RHChatModifBase._checkParams(self, params)
     self._conf = ConferenceHolder().getById(params['confId'])
     self._chatroom = DBHelpers.getChatroom(params['chatroom'])
     self._sdate = params['sdate'] if 'sdate' in params else None
     self._edate = params['edate'] if 'edate' in params else None
     self._forEvent = params.get('forEvent') == '1'
     self._getAll = not self._sdate and not self._edate and not self._forEvent
Exemplo n.º 10
0
 def _checkParams(self, params):
     RHChatModifBase._checkParams(self, params)
     self._conf = ConferenceHolder().getById(params['confId'])
     self._chatroom = DBHelpers.getChatroom(params['chatroom'])
     self._sdate = params['sdate'] if 'sdate' in params else None
     self._edate = params['edate'] if 'edate' in params else None
     self._forEvent = params.get('forEvent') == '1'
     self._getAll = not self._sdate and not self._edate and not self._forEvent
Exemplo n.º 11
0
    def meetingAndLectureDisplay(cls, obj, params):
        out = params['out']
        conf = params['conf']
        if DBHelpers.roomsToShow(conf):
            linksList = PluginsHolder().getPluginType(
                'InstantMessaging').getOption('customLinks').getValue()
            out.openTag("chatrooms")
            for chatroom in DBHelpers.getShowableRooms(conf):
                out.openTag("chatroom")

                out.writeTag("id", chatroom.getId())
                out.writeTag("name", chatroom.getTitle())
                out.writeTag(
                    "server", 'conference.' + chatroom.getHost() if
                    chatroom.getCreatedInLocalServer() else chatroom.getHost())
                out.writeTag("description", chatroom.getDescription())
                out.writeTag("reqPassword",
                             _('Yes') if chatroom.getPassword() else _('No'))
                out.writeTag("showPassword", chatroom.getShowPass())
                out.writeTag("password", chatroom.getPassword())
                out.writeTag("createdInLocalServer",
                             chatroom.getCreatedInLocalServer())
                out.openTag("links")
                if linksList.__len__() > 0:
                    out.writeTag("linksToShow", 'true')
                else:
                    out.writeTag("linksToShow", 'false')

                for link in linksList:
                    out.openTag("customLink")
                    out.writeTag("name", link['name'])
                    out.writeTag(
                        "structure",
                        GeneralLinkGenerator(chatroom,
                                             link['structure']).generate())
                    out.closeTag("customLink")

                out.closeTag("links")
                out.closeTag("chatroom")
            out.closeTag("chatrooms")

            out.writeTag(
                "how2connect",
                PluginFieldsWrapper('InstantMessaging',
                                    'XMPP').getOption('ckEditor'))
Exemplo n.º 12
0
 def _checkParams(self, params):
     RHChatModifBase._checkParams(self, params)
     self._conf = ConferenceHolder().getById(params['confId'])
     self._chatroom = DBHelpers.getChatroom(params['chatroom'])
     self._sdate = params['sdate'] if params.has_key('sdate') else None
     self._edate = params['edate'] if params.has_key('edate') else None
     self._forEvent = bool(
         params['forEvent']) if params.has_key('forEvent') else None
     self._getAll = not self._sdate and not self._edate and not self._forEvent
Exemplo n.º 13
0
    def getVars( self ):
        vars = WTemplated.getVars( self )

        vars["Conference"] = self._conf

        try:
            vars["Chatrooms"] = DBHelpers.getShowableRooms(self._conf)
        except Exception, e:
            vars["Chatrooms"] = None
Exemplo n.º 14
0
    def getVars( self ):
        vars = WTemplated.getVars( self )

        vars["Conference"] = self._conf

        try:
            vars["Chatrooms"] = DBHelpers.getShowableRooms(self._conf)
        except Exception, e:
            vars["Chatrooms"] = None
Exemplo n.º 15
0
    def getVars(self):
        wvars = WTemplated.getVars(self)

        wvars["body_title"] = self._getTitle()
        wvars["Conference"] = self._conf

        try:
            wvars["Chatrooms"] = DBHelpers.getShowableRooms(self._conf)
        except Exception, e:
            wvars["Chatrooms"] = None
Exemplo n.º 16
0
    def getVars(self):
        wvars = WTemplated.getVars(self)

        wvars["body_title"] = self._getTitle()
        wvars["Conference"] = self._conf

        try:
            wvars["Chatrooms"] = DBHelpers.getShowableRooms(self._conf)
        except Exception, e:
            wvars["Chatrooms"] = None
Exemplo n.º 17
0
 def getVars( self ):
     vars = WTemplated.getVars( self )
     vars["Conference"] = self._conf
     try:
         chatrooms = list(DBHelpers.getChatroomList(self._conf))
         vars["Chatrooms"] = fossilize(chatrooms)
         if len(vars['Chatrooms']) is 0:
             vars['Chatrooms'] = None
     except Exception, e:
         vars["Chatrooms"] = None
         chatrooms = {}
Exemplo n.º 18
0
 def getVars( self ):
     vars = WTemplated.getVars( self )
     vars["Conference"] = self._conf
     try:
         chatrooms = list(DBHelpers.getChatroomList(self._conf))
         vars["Chatrooms"] = fossilize(chatrooms)
         if len(vars['Chatrooms']) is 0:
             vars['Chatrooms'] = None
     except Exception, e:
         vars["Chatrooms"] = None
         chatrooms = {}
Exemplo n.º 19
0
 def addCheckBox2CloneConf(cls, obj, list):
     """ we show the clone checkbox if:
         * The XMPP Plugin is active.
         * There are rooms in the event created by the user who wants to clone
     """
     #list of creators of the chat rooms
     ownersList = [
         cr.getOwner() for cr in DBHelpers().getChatroomList(obj._conf)
     ]
     if PluginsWrapper(
             'InstantMessaging',
             'XMPP').isActive() and obj._rh._aw._currentUser in ownersList:
         list['cloneOptions'] += i18nformat(
             """<li><input type="checkbox" name="cloneChatrooms" id="cloneChatrooms" value="1" />_("Chat Rooms")</li>"""
         )
Exemplo n.º 20
0
    def cloneEvent(cls, confToClone, params):
        """ we'll clone only the chat rooms created by the user who is cloning the conference """
        conf = params['conf']
        user = params['user']
        options = params['options']

        if options.get("chatrooms", True):
            crList = DBHelpers().getChatroomList(confToClone)
            ownersList = [cr.getOwner() for cr in crList]
            if PluginsWrapper('InstantMessaging', 'XMPP').isActive():
                for cr in crList:
                    if user is cr.getOwner():
                        cls()._notify('addConference2Room', {
                            'room': cr,
                            'conf': conf.getId(),
                            'clone': True
                        })
Exemplo n.º 21
0
 def confDisplaySMShow(cls, obj, params):
     obj._instantMessaging = obj._sectionMenu.getLinkByName(
         "instantMessaging")
     if obj._instantMessaging and not DBHelpers.roomsToShow(obj._conf):
         obj._instantMessaging.setVisible(False)
Exemplo n.º 22
0
 def confDisplaySMShow(cls, obj, params):
     obj._instantMessaging = obj._sectionMenu.getLinkByName("instantMessaging")
     if obj._instantMessaging and not DBHelpers.roomsToShow(obj._conf):
         obj._instantMessaging.setVisible(False)