def on_message(data): """Broadcast messages""" rooms = get_room(data["room"]) if rooms: users_rooms = get_room_members(rooms.room_name) if users_rooms: for members in users_rooms: msg = data["msg"] if members.member_name == current_user.username: room = rooms.room_name now = datetime.now() time_stamp = now.strftime("%H:%M:%S") message = save_messages(current_user.username, room, msg, time_stamp) if message: print("message saved") print(time_stamp) send( { "username": current_user.username, "msg": msg, "time": time_stamp }, room=room) else: print("Something went wrong") else: return "message not sent"
def add_members(): if request.method == 'POST': room_name = request.form['room_name'] usernames1 = request.form['usernames'] if get_room(room_name) and is_room_admin_1(room_name, current_user.username): if get_test_user(usernames1): if is_room_member(usernames1, room_name) is None: if usernames1 == current_user.username: add_room_member(room_name, usernames1, current_user.username, is_room_admin=True) return redirect(url_for('get_rooms')) else: add_room_member(room_name, usernames1, current_user.username, is_room_admin=False) return redirect(url_for('get_rooms')) else: flash(f"{usernames1} already in a room", "warning") else: flash( f"{usernames1} is not a registered member..Register first", "danger") else: flash("failed to add members", "danger") return render_template('add_room_member.html')
def view_room(room_name): room = get_room(room_name) if room and is_room_member(current_user.username, room_name): messages = get_messages(room_name) room_members = get_room_members(room_name) return render_template('_view_room.html', room=room, room_members=room_members, messages=messages) else: flash( f"You are not a member of this group {room_name} please go back ", "warning") return render_template('error.html')
def create_room(): if request.method == 'POST': room_name = request.form['room_name'] if get_room(room_name): flash("Room already exist", "danger") else: roomid = save_rooms(room_name, current_user.username) add_room_member(room_name, current_user.username, current_user.username, is_room_admin=True) if roomid: return redirect(url_for('add_members', )) return render_template('_create_room.html')
def on_join(data): """User joins a room""" rooms = get_room(data["room"]) if rooms: username = get_user(data["username"]) room = rooms.room_name join_room(room) # Broadcast that new user has joined now = datetime.now() time_stamp = now.strftime("%H:%M:%S") send( { "username": current_user.username, "msg": "has came to online", "time": time_stamp }, room=room) print('message got sent')
def update_room_names(room_name): rooms = get_room(room_name) member = get_room_members(room_name) if request.method == 'POST': new_room_name = request.form['new_room_name'] if is_room_admin_1(room_name, session.get('username')): # new_members_name = request.form['new_members_name'] if updated_room(room_name, new_room_name) and update_members_room( room_name, new_room_name): flash("successfully updated room name and members room names", "success") return redirect(url_for("get_rooms")) else: flash("failed to update members room name and room names", "danger") else: flash("your are not a admin of this group", "warning") return render_template('_edit_room.html', rooms=rooms, member=member)