Example #1
0
def opportunities():
    '''display search results to volunteer'''

    if 'filters' in request.cookies:

        cookie = (request.cookies.get('filters'))  #grabs cookie
        filters = cookie.split("/")  # splits cookie into list

        index = int(filters[0])  # grabs index from list
        cat = filters[1]  # grabs categories from list
        categories = cat.split("-")
        avail = filters[2]  # grabs available days
        availability = avail.split("-")  # splits into list
        zipcode = filters[3]  #grabs zipcode from list
        distance = filters[4]  #grabs distance from list

        search = Filters(
            categories=categories,
            availability=availability,
            zipcode=zipcode,
            distance=distance
        )  # creates filter with given category and availability
        opps = search.search()  #grabs list of opportunities

        error = check_opps(opps)
        if error:
            flash(error)
            return redirect('/filters')

        opp = opps[index]  # picks out the opp at index
        index = increment(index, len(opps))  # increments index

        event_date = readable_date(opp.startDateTime)
        event_time = readable_times(opp.startDateTime, opp.duration)

        resp = make_response(
            render_template('volunteer/opportunities.html',
                            opp=opp,
                            event_date=event_date,
                            event_time=event_time,
                            json=json,
                            title="Voluntr | Browse Opportunities",
                            is_production=is_production)
        )  # tells the cookie what to load while it sets itself

        resp.set_cookie('filters',
                        str(index) + "/" + cat + "/" + avail + "/" + zipcode +
                        "/" + distance)  #preps cookie for setting

        return resp  # sets cookie and displays page

    return redirect("/filters")  # redirects to filters if no cookie exists