def delete_activity(activity_id): activity = crud.get_activity_by_id(activity_id) db.session.delete(activity) db.session.commit() flash("Activity deleted") return redirect('/')
def unfav_activity(activity_id): activity = crud.get_activity_by_id(activity_id) user = crud.get_user_by_id(session['id']) user_id = user.user_id activity_id = activity.activity_id is_fav = crud.is_fav(user_id, activity_id) if request.method == 'GET': return render_template('activity.html', activity=activity, is_fav=is_fav) if request.method == 'POST': user.activities.remove(activity) db.session.commit() flash("Favorite removed") return redirect(url_for('show_activity', activity_id=activity_id))
def add_comment(activity_id): activity = crud.get_activity_by_id(activity_id) user = crud.get_user_by_id(session['id']) if request.method == 'GET': return render_template('activity.html', activity=activity) if request.method == 'POST': comment_text = request.form['comment'] star_rating = request.form['rating'] add_comment = crud.create_comment(comment_text, star_rating) db.session.add(add_comment) user.comments.append(add_comment) activity.comments.append(add_comment) db.session.commit() flash("Comment added") return redirect(url_for('show_activity', activity_id=activity_id))
def show_activity(activity_id): """Show details on a particular activity.""" activity = crud.get_activity_by_id(activity_id) activity_id = activity.activity_id avg_rating = crud.get_avg_star_rating(activity_id) rating_count = crud.get_rating_count(activity_id) if 'loggedin' in session: user_id = session['id'] is_fav = crud.is_fav(user_id, activity_id) return render_template('activity.html', activity=activity, avg_rating=avg_rating, rating_count=rating_count, user=session['id'], is_fav=is_fav) else: return render_template('activity.html', activity=activity, avg_rating=avg_rating, rating_count=rating_count)
def edit_activity(activity_id): """Edit an existing Activity""" activity = crud.get_activity_by_id(activity_id) materials = Material.query.all() interests = Interest.query.all() time_periods = TimePeriod.query.all() if request.method == 'GET': return render_template('edit_activity.html', activity=activity, materials=materials, interests=interests, time_periods=time_periods) if request.method == 'POST': activity_name = request.form['activity_name'] overview = request.form['overview'] overview_pic = request.form['overview_pic'] step_1 = request.form['step_1'] photo_1 = request.form['photo_1'] step_2 = request.form['step_2'] photo_2 = request.form['photo_2'] step_3 = request.form['step_3'] photo_3 = request.form['photo_3'] step_4 = request.form['step_4'] photo_4 = request.form['photo_4'] step_5 = request.form['step_5'] photo_5 = request.form['photo_5'] step_6 = request.form['step_6'] photo_6 = request.form['photo_6'] keywords = request.form['keywords'] location = request.form['location'] min_cost = request.form['min_cost'] max_cost = request.form['max_cost'] min_age = request.form['min_age'] max_age = request.form['max_age'] effort_rating = request.form['effort_rating'] materials = request.form.getlist('materials[]') interests = request.form.getlist('interests[]') time_periods = request.form.getlist('time_periods[]') if activity_name: activity.activity_name = activity_name if overview: activity.activity_description['overview']['Overview'] = overview if overview_pic: activity.activity_description['overview'][ 'Overview'] = overview_pic if step_1: activity.activity_description['step_1']['Step 1'] = step_1 if photo_1: activity.activity_description['step_1']['photo'] = photo_1 if step_2: activity.activity_description['step_2']['Step 2'] = step_2 if photo_2: activity.activity_description['step_2']['photo'] = photo_2 if step_3: activity.activity_description['step_3']['Step 3'] = step_3 if photo_3: activity.activity_description['step_3']['photo'] = photo_3 if step_4: activity.activity_description['step_4']['Step 4'] = step_4 if photo_4: activity.activity_description['step_4']['photo'] = photo_4 if step_5: activity.activity_description['step_5']['Step 5'] = step_5 if photo_5: activity.activity_description['step_5']['photo'] = photo_5 if step_6: activity.activity_description['step_6']['Step 6'] = step_6 if photo_6: activity.activity_description['step_6']['photo'] = photo_6 if keywords: activity.keywords = keywords if location: activity.location = location if min_cost: activity.min_cost = min_cost if max_cost: activity.max_cost = max_cost if min_age: activity.min_age = min_age if max_age: activity.max_age = max_age if effort_rating: activity.effort_rating = effort_rating db.session.commit() if interests: interest_list = [] for interest_id in interests: if interest_id != None: interest = Interest.query.get(interest_id) interest_list.append(interest) activity.interests = interest_list if materials: material_list = [] for material_id in materials: if material_id != None: material = Material.query.get(material_id) material_list.append(material) activity.materials = material_list if time_periods: time_period_list = [] for time_period_id in time_periods: if time_period_id != None: time_period = TimePeriod.query.get(time_period_id) time_period_list.append(time_period) activity.time_periods = time_period_list # if interests: # interest_list=[] # for interest in interests: # interest_list.append(int(interest)) # activity.interests = interest_list # if materials: # material_list=[] # for material in materials: # material_list.append(int(material)) # activity.materials=material_list # if time_periods: # time_period_list=[] # for time_period in time_periods: # time_period_list.append(int(time_period)) # activity.time_periods=time_period_list db.session.commit() flash("Activity edited") return redirect(url_for('show_activity', activity_id=activity_id))
def show_activity(activity_id): """Show the details on a particular activity.""" activity = crud.get_activity_by_id(activity_id) return render_template('activity_details.html', activity=activity)