示例#1
0
文件: app.py 项目: quark3012/NorCha
def get_older_messages(room_id):
    """
    shows the older messages for that room
    :param room_id:
    :return: old messages
    """
    room = get_room_sql(room_id)
    if room and is_room_member_sql(room_id, current_user.username):
        page = int(request.args.get('page', 0))
        messages = get_messages(room_id, page)
        return dumps(messages)
    else:
        return "Room Not Found", 404
示例#2
0
文件: app.py 项目: quark3012/NorCha
def view_room(room_id):
    """
    main chat room
    :param room_id:
    :return: chat room to talk
    """
    room = get_room_sql(room_id)
    if room and is_room_member_sql(room_id, current_user.username):
        room_members = get_room_members_sql(room_id)
        messages = get_messages(room_id)
        return render_template('view_room.html',
                               username=current_user.username,
                               room=room,
                               room_members=room_members,
                               messages=messages)
    else:
        return "Room not found", 404
示例#3
0
文件: app.py 项目: quark3012/NorCha
def edit_room(room_id):
    """
    edits a room for a user if he is room admin for that room
    :param room_id:
    :return: edit room
    """
    room = get_room_sql(room_id)
    if room and is_room_admin_sql(room_id, current_user.username):
        existing_room_members = [
            member for member in get_room_members_sql(room_id)
        ]
        room_members_str = ",".join(existing_room_members)
        message = ''
        if request.method == 'POST':
            room_name = request.form.get('room_name')
            room['name'] = room_name
            update_room_sql(room_id, room_name)

            new_members = [
                username.strip()
                for username in request.form.get('members').split(',')
            ]
            members_to_add = list(
                set(new_members) - set(existing_room_members))
            members_to_remove = list(
                set(existing_room_members) - set(new_members))

            if len(members_to_add):
                add_room_members_sql(room_id, room_name, members_to_add,
                                     current_user.username)

            if len(members_to_remove):
                remove_room_members_sql(room_id, members_to_remove)
            message = 'Room edited successfully'
            room_members_str = ",".join(new_members)
            return redirect(url_for('view_room', room_id=room_id))
        return render_template('edit_room.html',
                               room=room,
                               room_members_str=room_members_str,
                               message=message)
    else:
        return "Room not found", 404