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)
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 })
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})
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)
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)