Example #1
0
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('/')
Example #2
0
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))
Example #3
0
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))
Example #4
0
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)
Example #5
0
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))
Example #6
0
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)