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')
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')
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
def test_get_admin_room(self): self.assertEqual(BaseWithDb.ROOM_ID, utils.get_admin_room())