Exemplo n.º 1
0
def start(request):
    next = request.GET.get('next', '/')
    username = request.REQUEST.get('username')
    if username:
        current = get_real_user(request)
        available_user = get_available_users(current or request.user.username).filter(username=username)
        if available_user.count() == 1:
            impersonate(request, username)
    return HttpResponseRedirect(next)
Exemplo n.º 2
0
def start(request):
    next = request.GET.get('next', '/')
    username = request.REQUEST.get('username')
    if username:
        current = get_real_user(request)
        available_user = get_available_users(
            current or request.user.username).filter(username=username)
        if available_user.count() == 1:
            impersonate(request, username)
    return HttpResponseRedirect(next)
Exemplo n.º 3
0
def autocomplete_user(request):
    query = request.GET.get('q', '').lower()
    try:
        limit = max(10, min(25, int(request.GET.get('limit', '10'))))
    except ValueError:
        limit = 10
    if not query or not request.user.is_authenticated():
        return HttpResponse(content='')

    current = get_real_user(request)
    available_users = get_available_users(current or request.user.username)
    users = list(available_users.filter(username__istartswith=query).values_list('username', flat=True)[:limit])
    if len(users) < limit:
        users.extend(available_users.filter(~Q(username__istartswith=query), username__icontains=query)
                     .values_list('username', flat=True)[:limit - len(users)])
    return HttpResponse(content='\n'.join(users))
Exemplo n.º 4
0
def autocomplete_user(request):
    query = request.GET.get('q', '').lower()
    try:
        limit = max(10, min(25, int(request.GET.get('limit', '10'))))
    except ValueError:
        limit = 10
    if not query or not request.user.is_authenticated():
        return HttpResponse(content='')

    current = get_real_user(request)
    available_users = get_available_users(current or request.user.username)
    users = list(
        available_users.filter(username__istartswith=query).values_list(
            'username', flat=True)[:limit])
    if len(users) < limit:
        users.extend(
            available_users.filter(~Q(username__istartswith=query),
                                   username__icontains=query).values_list(
                                       'username',
                                       flat=True)[:limit - len(users)])
    return HttpResponse(content='\n'.join(users))