def search(request, template_name='payments/search.html'): search_criteria = None search_text = None search_method = None form = PaymentSearchForm(request.GET) if form.is_valid(): search_criteria = form.cleaned_data.get('search_criteria') search_text = form.cleaned_data.get('search_text') search_method = form.cleaned_data.get('search_method') payments = Payment.objects.all() if search_criteria and search_text: search_type = '__iexact' if search_method == 'starts_with': search_type = '__istartswith' elif search_method == 'contains': search_type = '__icontains' search_filter = {'%s%s' % (search_criteria, search_type): search_text} payments = payments.filter(**search_filter) if request.user.profile.is_superuser: payments = payments.order_by('-create_dt') else: from django.db.models import Q payments = payments.filter(Q(creator=request.user) | Q(owner=request.user)).order_by('-create_dt') return render_to_resp(request=request, template_name=template_name, context={'payments': payments, 'form': form})
def search(request, template_name='payments/search.html'): search_criteria = None search_text = None search_method = None form = PaymentSearchForm(request.GET) if form.is_valid(): search_criteria = form.cleaned_data.get('search_criteria') search_text = form.cleaned_data.get('search_text') search_method = form.cleaned_data.get('search_method') payments = Payment.objects.all() if search_criteria and search_text: search_type = '__iexact' if search_method == 'starts_with': search_type = '__istartswith' elif search_method == 'contains': search_type = '__icontains' search_filter = {'%s%s' % (search_criteria, search_type): search_text} payments = payments.filter(**search_filter) if request.user.profile.is_superuser: payments = payments.order_by('-create_dt') else: from django.db.models import Q payments = payments.filter(Q(creator=request.user) | Q(owner=request.user)).order_by('-create_dt') return render_to_response(template_name, {'payments': payments, 'form': form}, context_instance=RequestContext(request))