def routeMod(id=None, action=None): if not isMod(): return redirect(url_for('/find')) if not id: return render_template('find.html', reqs=Request.objects(), ismod=True) if action == 'valid_resp': q = FollowUp.objects(id=id) if not len(q): flash("Invalid response ID!", 'error') return redirect('/responses') q = q[0] q.valid = True q.save() flash('Marked response as valid!', 'error') return redirect('/responses') elif action == 'delete_resp': q = FollowUp.objects(id=id) if not len(q): flash("Invalid response ID!", 'error') return redirect('/responses') q[0].delete() flash('Deleted response!', 'success') return redirect('/responses') elif action == 'delete_req': q = Request.objects(id=id) if not len(q): flash("Invalid response ID!", 'error') return redirect('/find') q[0].delete() flash("Marked request %s as invalid!" % id, 'success') return redirect('/find')
def routeHelp(id): if not id: return redirect(url_for('/find')) p = Request.objects(id=id) if not len(p): return "No such request ID '%s'" % id return render_template('help.html', p=p[0])
def internals(route=None): if route == 'needhelp': for k, v in request.form.items(): if not v: return 'You must give a value for %s! <a href="/post">Try again</a>' % k obj = Request( name=request.form.get('name'), urgent={'on':True, 'off':False, None:False}[request.form.get('urgent')], request=request.form.get('request'), contact=request.form.get('phonenum'), location=request.form.get('location')) obj.save() return "Your request has been submitted to the system! We'll try to get to it ASAP. Request ID: %s" % obj.id elif route == "canhelp": for k, v in request.form.items(): if not v: return 'You must give a value for %s! <a href="/help/%s">Try again</a>' % (k, request.form.get('id')) p = Request.objects(id=request.form.get('id')) if not len(p): return 'Could not the request ID "%s"' % id p = p[0] obj = FollowUp( name=request.form.get('name'), cangive=request.form.get('have'), contact=request.form.get('phonenum'), entry=p) obj.save() p.responses.append(obj) return """ Your response has been filed, please check back at <a href="/resp/%s">your response page</a> often. We'll update the page as soon as you can help!""" % (obj.id)
def routeMod(id=None, action=None): if not isMod(): return redirect(url_for('/find')) if not id: return render_template('find.html', reqs=Request.objects(), ismod=True) if action == 'valid_resp': q = FollowUp.objects(id=id) if not len(q): return "Invalid response ID!" q[0].valid = True q[0].save() return 'Marked response as valid! <a href="/responses">Back to list</a>' elif action == 'delete_resp': q = FollowUp.objects(id=id) if not len(q): return "Invalid response ID!" q[0].delete() return 'Deleted response! <a href="/responses">Back to list</a>' elif aciton == 'delete_req': q = Request.objects(id=id) if not len(q): return "Invalid request ID!" q[0].valid = False q[0].save() return 'Marked request as invalid! <a href="/find">Back to list</a>'
def build(data): request = Request() header = RequestBuilder._parse_header(data) request.content = RequestBuilder._parse_content(data) request.method = RequestBuilder._parse_method(header) request.path = RequestBuilder._parse_path(header) attribute_list = RequestBuilder._parse_get(header) if not attribute_list is None: for index in attribute_list: request.set_attribute(index, attribute_list[index]) return request
def routeSearch(page=1): try: reqs = Request.objects().paginate(page=int(page), per_page=35) #@NOTE Hacky af except: return redirect('/find/%s' % (int(page)-1)) return render_template('find.html', reqs=reqs, ismod=isMod(), page=int(page))
def routeSearch(page=1): reqs = Request.objects(valid=True).paginate(page=int(page), per_page=35) return render_template('find.html', reqs=reqs, ismod=isMod(), page=int(page))