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
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
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)
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'))
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
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