Пример #1
0
 def notify_admins(arg: tuple) -> None:
     _, activity = arg
     report_activity = utils.activity_for_report(activity)
     admin_room_id = utils.get_admin_room()
     environ.env.emit('gn_reported',
                      report_activity,
                      json=True,
                      broadcast=True,
                      room=admin_room_id,
                      namespace='/ws')
Пример #2
0
    def send_request(arg: tuple) -> None:
        data, activity = arg

        room_id = activity.target.id
        user_id = activity.actor.id
        message = activity.object.content

        username = utils.get_user_name_for(user_id)
        room_name = utils.get_room_name(room_id)
        admin_room_id = utils.get_admin_room()

        activity_json = utils.activity_for_request_admin(user_id, username, room_id, room_name, message, admin_room_id)
        environ.env.emit(
            'gn_admin_requested', activity_json, json=True, broadcast=True, room=admin_room_id, namespace='/ws')
Пример #3
0
    def on_request_admin(self, activity: Activity) -> (bool, int, str):
        activity.actor = Actor({
            'id':
            str(environ.env.session.get(SessionKeys.user_id.value)),
            'displayName':
            environ.env.session.get(SessionKeys.user_name.value)
        })

        room_id = activity.target.id
        channel_id = utils.get_channel_for_room(room_id)
        admin_room_id = utils.get_admin_room()

        if admin_room_id is None or len(admin_room_id.strip()) == 0:
            logger.error('no admin room found for channel "%s"' % channel_id)
            return False, ECodes.NO_ADMIN_ROOM_FOUND, 'no admin room for this channel'
        return True, None, None
Пример #4
0
 def test_get_admin_room(self):
     self.assertEqual(BaseWithDb.ROOM_ID, utils.get_admin_room())