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