Beispiel #1
0
def edit_room(room_id):
    room = get_room(room_id)
    if room and is_room_admin(room_id, current_user.username):
        existing_room_members = [
            member['_id']['username'] for member in get_room_members(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(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(room_id, room_name, members_to_add,
                                 current_user.username)
            if len(members_to_remove):
                remove_room_members(room_id, members_to_remove)
            message = 'Room edited successfully'
            room_members_str = ",".join(new_members)
        return render_template('edit_room.html',
                               room=room,
                               room_members_str=room_members_str,
                               message=message)
    else:
        return "Room not found", 404
Beispiel #2
0
def edit_room(room_id):
    room = get_room(room_id)
    if room and is_room_admin(room_id, current_user.username):
        existing_room_members = [
            member["_id"]["username"] for member in get_room_members(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(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(
                    room_id, room_name, members_to_add, current_user.username
                )
            if len(members_to_remove):
                remove_room_members(room_id, members_to_remove)
            message = "Room edited successfully"
            room_members_str = ",".join(new_members)
        return render_template(
            "edit_room.html",
            room=room,
            room_members_str=room_members_str,
            message=message,
        )
    else:
        return "Room not found", 404
Beispiel #3
0
def edit_room(room_id):
    room = get_room(room_id)
    if room and is_room_admin(room_id, current_user.username):
        existing_room_members = [
            member['_id']['username'] for member in get_room_members(room_id)
        ]
        room_members_str = ",".join(existing_room_members)
        message = ''
        if request.method == 'POST':
            room_name = request.form.get('room_name')
            if (len(request.form.get('room_name'))) == 0:
                message = "Room name cannot be empty"
                return render_template('edit_room.html',
                                       room=room,
                                       room_members_str=room_members_str,
                                       message=message)
            room['name'] = room_name
            update_room(room_id, room_name)
            if len(request.form.get('members')) == 0:
                message = "Edit unsuccessful"
                return render_template('edit_room.html',
                                       room=room,
                                       room_members_str=room_members_str,
                                       message=message)
            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 current_user.username in members_to_remove:
                message = "Cannot remove admin from room"
                return render_template('edit_room.html',
                                       room=room,
                                       room_members_str=room_members_str,
                                       message=message)
            if len(members_to_add):
                add_room_members(room_id, room_name, members_to_add,
                                 current_user.username)
            if len(members_to_remove):
                remove_room_members(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:
        message = "Not the admin for this room"
        return render_template('error.html', message=message)
Beispiel #4
0
def edit_room(room_id):
    room = get_room(room_id)
    room_members = [
        member['_id']['username'] for member in get_room_members(room_id)
    ]
    print('room members are ==', room_members)
    is_room_admin = check_if_room_admin(room_id, current_user.username)

    if request.method == 'POST':

        new_room_name = request.form.get('new_room_name')
        change_room_name(room_id, new_room_name)
        room['room_name'] = new_room_name

        new_room_members = [
            username.strip()
            for username in request.form.get('members').split(',')
        ]

        members_to_add = list(set(new_room_members) - set(room_members))
        members_to_remove = list(set(room_members) - set(new_room_members))

        if members_to_add:
            add_room_members(room_id, new_room_name, members_to_add,
                             current_user.username)
        if members_to_remove:
            remove_room_members(room_id, members_to_remove)

        room_members = get_room_members(room_id)
        return render_template('view_room.html',
                               username=current_user.username,
                               room=room,
                               room_members=room_members,
                               is_room_admin=is_room_admin)

    else:
        room_members = ','.join(room_members)
        if room and is_room_member(room_id, current_user.username):
            return render_template('edit_room.html',
                                   username=current_user.username,
                                   room=room,
                                   room_members=room_members)
        else:
            return redirect(url_for('home'))
Beispiel #5
0
def edit_room(room_id):
    room = get_room(room_id)
    print(room)
    print(is_room_admin(room_id, current_user.username))
    if room and is_room_admin(room_id, current_user.username):
        existing_room_members = [
            member['_id']['username'] for member in get_room_members(room_id)
        ]

        message = ''
        if request.method == 'POST':
            room_name = request.form.get('room_name')

            update_room(room_id, room_name)
            new_members = [
                username.strip()
                for username in request.form.get('members').split(',')
            ]
            print(new_members)
            members_to_add = list(
                set(new_members) - set(existing_room_members))
            members_to_remove = list(
                set(existing_room_members) - set(new_members))
            print(members_to_remove, members_to_remove)
            if len(members_to_add):
                add_room_members(room_id, room_name, members_to_add,
                                 current_user.username)
            if len(members_to_remove):
                remove_room_members(room_id, members_to_remove)
            return redirect(url_for('home'))
        room_members_str = ",".join(existing_room_members)
        print(room_members_str)
        return render_template('edit_room.html',
                               message=message,
                               room=room,
                               room_members_str=room_members_str)

    return "Room not found", 404
Beispiel #6
0
def edit_room(room_id):
    room = [i for i in db.get_room(room_id)]
    if room and db.is_room_admin(room_id, current_user.username):
        existing_room_members = [
            member for member in db.get_room_members(room_id)
        ]
        existing_members = [
            str(member['_id']['username'])
            for member in existing_room_members[0]
        ]

        if request.method == 'POST':
            room_name = request.form['room_name']
            db.update_room(room_id, room_name)

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

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

            if len(members_to_remove):
                db.remove_room_members(room_id, members_to_remove)

            return redirect('/')

        room_members_str = ', '.join(existing_members)
        return render_template('edit-room.html',
                               room=room[0],
                               room_members_str=room_members_str)
    return 'Room not fould', 404