Exemple #1
0
 def __require_admin(request, *args, **kw):
     if not req_what:
         raise ValueError, "Forgot to specify req_what in %s" % f.__name__
     if REQUIRE_IP in req_what:
         if not allowed_ip(request):
             return display_template('admin/access_denied',
                      message='your ip %s was not in the allowed ip list' % str(request.remote_addr))
     if REQUIRE_CRED in req_what:
         if not admin_cred_match(request):
             return display_template('admin/access_denied',
                      message='admin credentials don\'t match')
     return f(request, *args, **kw)
Exemple #2
0
def main(request):
    query = request.args.get('q')
    if not query:
        # TODO: display latest/top search queries instead of raising NotFound
        return display_template('search_empty')

    SearchHistory(query, request).save()

    try:
        page_results    = search(query, 'pages')
        as_results      = search(query, 'article_series')
        comment_results = search(query, 'comments')
        tag_results     = search(query, 'tags')
        cat_results     = search(query, 'categories')
    except SearchError, e:
        log_exception(request)
        return display_template('search_failed', query=query, error=e.message)
Exemple #3
0
def handle_feedback_post(request):
    thank_you = False
    lynx = lynx_browser(request)
    try:
        validate_feedback(request)
        Feedback(
          Visitor(request),
          request.form['name'].strip(), 
          request.form['email'].strip(),
          request.form['subject'].strip(),
          request.form['message'].strip(),
          request.form['website'].strip()
        ).save()
        thank_you = True
    except FeedbackError, e:
        return display_template("feedback", form=request.form, error=e.message, lynx=lynx)
Exemple #4
0
def display_page(**template_data):
    return display_template("page", **template_data)
Exemple #5
0
def display_page(template_data):
    return display_template("comment_page", **template_data)
Exemple #6
0
def handle_feedback_get(request):
    form = dict()
    if request.args.get('subject'):
        form['subject'] = request.args.get('subject')
    return display_template("feedback", form=form, lynx=lynx_browser(request))
Exemple #7
0
def handle_feedback_post(request):
    thank_you = False
    lynx = lynx_browser(request)
    try:
        validate_feedback(request)
        Feedback(
          Visitor(request),
          request.form['name'].strip(), 
          request.form['email'].strip(),
          request.form['subject'].strip(),
          request.form['message'].strip(),
          request.form['website'].strip()
        ).save()
        thank_you = True
    except FeedbackError, e:
        return display_template("feedback", form=request.form, error=e.message, lynx=lynx)

    if thank_you:
        form = dict()
    else:
        form = request.form
    return display_template("feedback", form=form, thank_you=thank_you, lynx=lynx)


def handle_feedback_get(request):
    form = dict()
    if request.args.get('subject'):
        form['subject'] = request.args.get('subject')
    return display_template("feedback", form=form, lynx=lynx_browser(request))

Exemple #8
0
    except SearchError, e:
        log_exception(request)
        return display_template('search_failed', query=query, error=e.message)

    pages    = get_pages(page_results)
    article_series = get_as(as_results)
    comments = get_comments(comment_results)
    tags     = get_tags(tag_results)
    cats     = get_cats(cat_results)

    return display_template('search',
             query=query,
             page_results=MakoDict(page_results),
             pages=pages,
             as_results=MakoDict(as_results),
             article_series=article_series,
             comment_results=MakoDict(comment_results),
             comments=comments,
             tag_results=MakoDict(tag_results),
             tags=tags,
             cat_results=MakoDict(cat_results),
             cats=cats)


# TODO: abstract this code.
def get_pages(page_results):
    page_ids = extract_ids(page_results['matches'])
    if not page_ids:
        return []
    pages = session. \
              query(Page). \
              filter(Page.page_id.in_(page_ids)). \
def handle_feedback_get(request):
    return display_template("feedback", form=dict(), lynx=lynx_browser(request))