def delete_post(post_id): if 'user' not in session: flash('Please log in to access this page', 'warning') return redirect(url_for('users.login')) post_table = Posts() post = post_table.get_post(post_id) if post.username != session['user']["username"]: abort(403) post_table.delete_post(post_id) flash('Your post has been deleted!', 'success') return redirect(url_for('main.home'))
def post(post_id): if 'user' not in session: flash('Please log in to access this page', 'warning') return redirect(url_for('users.login')) post = Posts() post = post.get_post(post_id) print("_-----------------") print(session) print(session['user']['user_current_location']) locations = [] # long list of coordinates #place = get_coordinates(current_app.config['GOOGLEMAPS_KEY'], session['user']['user_current_location']) place = {} try: place['lat'] = session['user']['user_current_location'][0] place['lng'] = session['user']['user_current_location'][1] place['icon'] = 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png' place['infobox'] = "<b>Your Current Location</b>" locations.append(place) except: flash( "Your location shows error, Please input your location in search bar", "warning") return redirect(url_for('main.offerhelp')) place1 = {} place1 = get_coordinates(current_app.config['GOOGLEMAPS_KEY'], post.address) place1['icon'] = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png' place1['infobox'] = "<b>Target Location</b>" locations.append(place1) print(locations) map_offerhelp = Map(identifier="map_offerhelp", style=("height:350px;" "width:730px;"), lat=locations[0]['lat'], lng=locations[0]['lng'], markers=[(loc['lat'], loc['lng'], loc['infobox'], loc['icon']) for loc in locations], fit_markers_to_bounds=True) print(post.timestamp) user_table = Users() #post = Post.query.get_or_404(post_id) return render_template('post.html', title=post.title, post=post, user_table=user_table, map_offerhelp=map_offerhelp)
def user_posts(username): # page = request.args.get('page', 1, type=int) # user = User.query.filter_by(username=username).first_or_404() # posts = Post.query.filter_by(author=user)\ # .order_by(Post.date_posted.desc())\ # .paginate(page=page, per_page=5) post_table = Posts() #list of Post objects posts = post_table.query_post_by_username(username) length = len(posts) print("here", posts) user_table = Users() return render_template('user_posts.html', posts=posts, user_table=user_table, username=username, length=length)
def new_post(): form = PostForm() if form.validate_on_submit(): posts = Posts(title=form.title.data, content=form.content.data, author=current_user) db.session.add(posts) db.session.commit() flash('your post has been created!', 'success') return redirect(url_for('home')) return render_template('create_post.html', title='Create New Post', form=form, legend='Create New Post')
def addPost(): token = request.headers['token'] token_validity = User.verify_auth_token(token=token) if token_validity: title = request.json['title'] content = request.json['content'] user_id = request.json['user_id'] post = Posts(title=title, content=content, user_id=int(user_id)) db.session.add(post) db.session.commit() return ("Post has been created")
def new_post(): if 'user' not in session: flash('Please log in to access this page', 'warning') return redirect(url_for('users.login')) form = PostForm() posts_table = Posts() if form.validate_on_submit(): # post = Post(title=form.title.data, type=form.type.data, phone=form.phonember.data,emailaddress=form.emailaddress.data, # address=form.address.data,content=form.content.data, author=session['user']['username']) # db.session.add(post) # db.session.commit() try: place = get_coordinates(current_app.config['GOOGLEMAPS_KEY'], form.address.data) except: form.address.data = None flash("Your address is not valid", "warning") return render_template('create_post.html', title='New Post', form=form, legend='New Request') posts_table.put_post(title=form.title.data, type=form.type.data, phone=form.phonember.data, email=form.emailaddress.data, address=form.address.data, content=form.content.data, username=session['user']['username'], sdate=form.sdate.data.strftime('%Y-%m-%d'), fdate=form.fdate.data.strftime('%Y-%m-%d'), lat=place['lat'], lng=place['lng']) flash('Your request has been created!', 'success') return redirect(url_for('main.offerhelp')) return render_template('create_post.html', title='New Post', form=form, legend='New Request')
def update_post(post_id): if 'user' not in session: flash('Please log in to access this page', 'warning') return redirect(url_for('users.login')) post_table = Posts() post = post_table.get_post(post_id) if post.username != session['user']['username']: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.type = form.type.data post.sdate = datetime.strftime(form.sdate.data, '%Y-%m-%d') post.fdate = datetime.strftime(form.fdate.data, '%Y-%m-%d') #post.fdate=form.fdate.data post.address = form.address.data post.email = form.emailaddress.data post.phone = form.phonember.data post.content = form.content.data post.type = form.type.data #db.session.commit() post_table.update_post(post) flash('Your post has been updated!', 'success') return redirect(url_for('posts.post', post_id=post.post_id)) elif request.method == 'GET': form.title.data = post.title form.type.data = post.type form.fdate.data = datetime.strptime(post.fdate, '%Y-%m-%d') form.sdate.data = datetime.strptime(post.sdate, '%Y-%m-%d') form.phonember.data = post.phone form.address.data = post.address form.emailaddress.data = post.email form.content.data = post.content form.type.data = post.type return render_template('create_post.html', title='Update Post', form=form, legend='Update Post')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Posts(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash("Your course has been created!", "success") return redirect(url_for("main.home")) return render_template('create_post.html', title='New Post', form=form, legend='New Post')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Posts(title=form.title.data, content=form.content.data, user_id=current_user.id) db.session.add(post) db.session.commit() flash('Your post has been created!', 'success') return redirect(url_for('main.home')) return render_template( 'create_post.html', title='New Post', form=form, )
def offerhelp(): form = SearchForm() post_table = Posts() users = Users() s3 = boto3.client('s3') target_image_path = '/tmp' allusers = users.get_all_users() for user in allusers: url = user['image_file'] r = requests.get(url) if r.status_code == 403: url = s3.generate_presigned_url( 'get_object', Params={ 'Bucket': 'ece1779-final', 'Key': '/tmp/' + session['user']['email'] + '/user_images/{}'.format(user['image_name']) }, ExpiresIn=604800) users.update_imagefile2(user['username'], url) for user in allusers: if (imgisexist(user['image_file'], target_image_path)): #print('ece1779-final', user['email'] + '/user_images/{}'.format(user['image_file'])) #print(target_image_path + '/' + user['image_file']) print(user['image_file']) # s3.download_file('ece1779-final','/tmp/'+user['email'] + '/user_images/{}'.format(user['image_file']), # target_image_path + '/' + user['image_file']) if form.validate_on_submit(): #locations=post_table.query_post_by_address(form.location.data) types = post_table.get_all_posts() if form.type.data != "All": #print(form.type.data) types = post_table.query_post_by_type(form.type.data) sdates = post_table.query_post_by_sdate(form.sdate.data) fdates = post_table.query_post_by_fdate(form.fdate.data) search_results = extra_same_elem(types, sdates) search_results = extra_same_elem(search_results, fdates) #print(search_results) ##################################################################### locations = [] # long list of coordinates place = get_coordinates(current_app.config['GOOGLEMAPS_KEY'], form.location.data) place['infobox'] = "<b>Hello World</b>" locations.append(place) for item in search_results: #print(item) temp = {} temp['lat'] = item.lat temp['lng'] = item.lng temp['infobox'] = "<b>Hello World from other place</b>" locations.append(temp) print(locations) temp_results = [] i = 1 user_current_location = [locations[0]['lat'], locations[0]['lng']] session['user']['user_current_location'] = user_current_location #print(session['user']['user_current_location']) for item in search_results: post_location = [locations[i]['lat'], locations[i]['lng']] i += 1 item.distance = great_circle(user_current_location, post_location).km print("Distance:{}km".format(item.distance)) if form.distance.data >= item.distance: temp_results.append([item.distance, item.post_id]) #print(second_search_results) temp_results.sort() #print(temp_results) search_results.clear() for item in temp_results: post = post_table.get_post(item[1]) search_results.append(post) if len(search_results) > 4: break ##################################################################### print(search_results) user_table = Users() return render_template('offerhelp.html', posts=search_results, user_table=user_table, form=form, legend='Filter Request') else: post_table = Posts() # list of Post objects posts = post_table.get_all_posts() user_table = Users() return render_template('offerhelp.html', posts=posts, user_table=user_table, form=form, legend='Filter Request')