Пример #1
0
def search_user(request):
    
    form = UserSearchForm(request.REQUEST)
    search_string = ''
    if form.is_valid():
        search_string = form.cleaned_data["search_string"]

    if search_string :
        qs = User.objects.filter(username__icontains = search_string)
    else:
        qs = User.objects.all()
    
    paginator = Paginator(qs, 20)
    
    # Grab page number from the HTTP GET parameters if present.
    page_no = int(request.GET.get('page', '1'))
    
    # See wether requested page is available at all from the paginator.
    try:
        current_page = paginator.page(page_no)
    except (EmptyPage, InvalidPage):
        current_page = paginator.page(paginator.num_pages)
 
    if search_string:
        form.fields["search_string"].initial = search_string
    
    context = RequestContext(request, {
        'form' : form,
        'current_page' : current_page,
        'search_string' : search_string,
        'num_pages' : paginator.num_pages,
    })
    return render_to_response('profiles/search_user.html', context)
Пример #2
0
def connect(request):
    if request.method == 'POST':
        email_form = EmailForm(request.POST)
        search_form = UserSearchForm(request.POST)
        email_form.is_valid()
        search_form.is_valid()
        address = email_form.cleaned_data['email']
        searched_user = search_form.cleaned_data['lastName']
        if address:
            data = getoutput('echo "{}" >> emails && echo "Complete!"'.format(
                address)).split('\n')
            return render(
                request, 'connect.html', {
                    'email_form': email_form,
                    'email': True,
                    'data': data,
                    'search_form': search_form
                })
            pass
        elif searched_user:
            regUsers = User.objects.raw(
                'SELECT * from auth_user where last_name like "%%{}%%";'.
                format(searched_user))
            return render(
                request, 'connect.html', {
                    'email_form': email_form,
                    'regUsers': regUsers,
                    'search_form': search_form
                })
        else:
            return render(request, 'connect.html', {
                'email_form': email_form,
                'search_form': search_form
            })
    else:
        email_form = EmailForm()
        search_form = UserSearchForm()
    return render(request, 'connect.html', {
        'email_form': email_form,
        'search_form': search_form
    })
Пример #3
0
def connect(request):
    if request.method == 'POST':
        email_form = EmailForm(request.POST)
        search_form = UserSearchForm(request.POST)
        email_form.is_valid()
        search_form.is_valid()
        address = email_form.cleaned_data['email']
        searched_user = search_form.cleaned_data['lastName']
        if address:
            data = getoutput('echo "{}" >> emails && echo "Complete!"'.format(address)).split('\n')
            return render(request, 'connect.html', {'email_form':email_form, 'email':True , 'data':data, 'search_form':search_form})
            pass
        elif searched_user:
            regUsers = User.objects.raw('SELECT * from auth_user where last_name like "%%{}%%";'.format(searched_user))
            return render(request, 'connect.html', {'email_form':email_form, 'regUsers':regUsers, 'search_form':search_form})
        else:
            return render(request, 'connect.html', {'email_form':email_form, 'search_form':search_form})
    else:
        email_form = EmailForm()
        search_form = UserSearchForm()
    return render(request, 'connect.html', {'email_form':email_form, 'search_form':search_form})
Пример #4
0
def search_user(request):
    """This view let's users search for other users by username..."""
    # TODO : fix unicode in request parameters.
    # (Conrado says it is not allowed, google does it anyway ...)
    # TODO FIXME XSS handle the way the search_string shows up in the page -
    # since that is not handled cleanly/correctly at the moment.
    if request.method == 'POST':
        form = UserSearchForm(request.POST)
        if form.is_valid():
            search_string = form.cleaned_data["search_string"]
        else:
            search_string = u''
    else:
        form = UserSearchForm()
        search_string = request.GET.get(u'search_string', u'')

    if not search_string == u'':
        qs = User.objects.filter(username__icontains=search_string)
    else:
        qs = User.objects.none()

    paginator = Paginator(qs, 20)

    # Grab page number from the HTTP GET parameters if present.
    try:
        page_no = int(request.GET.get('page', '1'))
    except ValueError:
        page_no = 1

    # See wether requested page is available at all from the paginator.
    try:
        current_page = paginator.page(page_no)
    except (EmptyPage, InvalidPage):
        current_page = paginator.page(paginator.num_pages)

    if search_string:
        form.fields[
            "search_string"].initial = search_string  # TODO see wether this can be done more cleanly

    context = RequestContext(
        request, {
            'form': form,
            'current_page': current_page,
            'search_string': search_string,
            'num_pages': paginator.num_pages,
        })
    return render_to_response('profiles/search_user.html', context)
Пример #5
0
def search_user(request):
    """This view let's users search for other users by username..."""
    # TODO : fix unicode in request parameters.
    # (Conrado says it is not allowed, google does it anyway ...)
    # TODO FIXME XSS handle the way the search_string shows up in the page -
    # since that is not handled cleanly/correctly at the moment.
    if request.method == 'POST':
        form = UserSearchForm(request.POST)
        if form.is_valid():
            search_string = form.cleaned_data["search_string"]
        else:
            search_string = u''
    else:
        form = UserSearchForm()
        search_string = request.GET.get(u'search_string', u'')

    if not search_string == u'':
        qs = User.objects.filter(username__icontains = search_string)
    else:
        qs = User.objects.none()
    
    paginator = Paginator(qs, 20)
    
    # Grab page number from the HTTP GET parameters if present.
    try:
        page_no = int(request.GET.get('page', '1'))
    except ValueError:
        page_no = 1
    
    # See wether requested page is available at all from the paginator.
    try:
        current_page = paginator.page(page_no)
    except (EmptyPage, InvalidPage):
        current_page = paginator.page(paginator.num_pages)
 
    if search_string:
        form.fields["search_string"].initial = search_string # TODO see wether this can be done more cleanly
    
    context = RequestContext(request, {
        'form' : form,
        'current_page' : current_page,
        'search_string' : search_string,
        'num_pages' : paginator.num_pages,
    })
    return render_to_response('profiles/search_user.html', context)