def browse_events(): # Check if the user is logged in. if session: user = User.get_one_user_coll(session['user']) # Get all the events to display events_list = Event.get_all_events() return render_template("events.html", events_list=events_list, user=user) # Get all the events to display events_list = Event.get_all_events() return render_template("events.html", events_list=events_list)
def profile(username): # Check if user is logged in and if session's user correspond to username if session["user"] and session["user"] == username: # Get user from the db and return a user collection user = User.get_one_user_coll(username) user_id = user["_id"] # Get the events created by the user field_for_creator = "event_created_by" events_list_created = Event.get_some_events(field_for_creator, user_id) # Get events joined by the user events_list_joined = Event.get_events_joined(user_id) # Get all events events_list = Event.get_all_events() return render_template("profile.html", user=user, events_list_created=events_list_created, events_list_joined=events_list_joined, events_list=events_list) return redirect(url_for("users.login"))
def leave_event(username): if session["user"] and session["user"] == username: # Get the event id from the form event_id = request.form.get("leave_event") # Get the user id from the db user = User.get_one_user_coll(username) user_id = user["_id"] # Set the attribute to update in the user doc get_user_attr = "events_joined" # Delete the event id from the corresponding user field User.remove_info_from_user_list((get_user_attr, event_id), user_id) # Set the attribute to update in the event doc get_event_attr = "event_joined_by" # Delete the user id from the corresponding event field Event.remove_info_from_event_list((get_event_attr, user_id), event_id) flash(EventsMsg.event_left) events_list = Event.get_all_events() return render_template("events.html", events_list=events_list, user=user) else: flash(EventsMsg.didnt_work) return redirect(url_for('index.home'))
def updated_event(event_id): if request.method == "POST": # Create a dic with new values from the form new_info = { "event_category": request.form.get("event_category"), "event_location": request.form.get("event_location"), "event_date": request.form.get("event_date"), "event_time": request.form.get("event_time"), "event_age_range": request.form.get("event_age_range"), "event_description": request.form.get("event_description") } # Add new info to db Event.update_event(new_info, event_id) # Get all the events to display events_list = Event.get_all_events() return redirect( url_for('events.browse_events', events_list=events_list))
def cancel_event(username): if session["user"] and session["user"] == username: # Get the event id from the form event_id = request.form.get("cancel_event") # Delete event from the event collection in db Event.delete_event(event_id) # Get the user id from the db user_id = User.get_one_user_coll(username)["_id"] # Set the attribute to update in the user doc get_user_attr = "events_created" # Delete event_id from corresponding field of the user User.remove_info_from_user_list((get_user_attr, event_id), user_id) # get all user from db all_users = users_coll.find() # Check if user has joined the event and if so remove the event # from his document for user in all_users: # Set the attribute to update in the user doc get_user_attr = "events_joined" if event_id in user[get_user_attr]: # Get the corresponding user id from the db user_id = user["_id"] # Delete event_id from corresponding field of the user User.remove_info_from_user_list((get_user_attr, event_id), user_id) flash(EventsMsg.event_deleted) user = User.get_one_user_coll(session['user']) events_list = Event.get_all_events() return render_template("events.html", events_list=events_list, user=user) else: flash(EventsMsg.didnt_work) return redirect(url_for('index.home'))