Example #1
0
def users():
    if not request.args:
        search_url = ext_url_for_self()
        return make_xml_response(render_template('search.xml', search_url=search_url))

    phrase = request.args.get('phrase')
    page = int(request.args.get('page', 0))

    l = ldaputil.setup_ldap(app.rc_config)
    results = fetch_entries(l, phrase)
    pages = util.paginate_users(results)

    title = 'Results for %s' % phrase
    prompt = 'Choose'

    curr_url = ext_url_for_self()

    results_paged = pages[page] if 0 <= page < len(pages) else []
    prev_page = page - 1
    next_page = page + 1

    prev_url = '%s?phrase=%s&amp;page=%d' % (curr_url, phrase, prev_page) if prev_page >= 0 else None
    next_url = '%s?phrase=%s&amp;page=%d' % (curr_url, phrase, next_page) if next_page < len(pages) else None

    content = util.format_page(title, prompt, results_paged, prev_url=prev_url, next_url=next_url)

    return make_xml_response(content)
Example #2
0
def groups(group):
    page = int(request.args.get('page', 0))
    title = 'Group %s' % group
    prompt = 'Choose'
    pages = app.groups_pages[group]

    curr_url = ext_url_for_self()

    results_paged = pages[page] if 0 <= page < len(pages) else []
    prev_page = page - 1
    next_page = page + 1

    prev_url = '%s?page=%d' % (curr_url, prev_page) if prev_page >= 0 else None
    next_url = '%s?page=%d' % (curr_url, next_page) if next_page < len(pages) else None

    content = util.format_page(title, prompt, results_paged, prev_url=prev_url, next_url=next_url)
    return make_xml_response(content)