def equipmenttype_index(request): paged_objects = None q = None count = None form = eqforms.OtherSearchForm() if request.GET and request.GET.get('q'): form = eqforms.OtherSearchForm(request.GET) if form.is_valid(): data = form.cleaned_data if data['q'] and data['q'].strip() and form.get_list(): # This sends a query to search middleware, if such # query exists. It gets a Q object back which is used # in a Django filter to get our queryset. equipmenttype_query = get_query(data['q'], form.get_list()) paged_objects = equipment.EquipmentType.objects.filter( equipmenttype_query ).annotate(eq_count=Count('equipment')) q = data['q'] else: paged_objects = equipment.EquipmentType.objects.all().annotate( eq_count=Count('equipment') ) count = paged_objects.count() # Repackage everything into paged_objects using Paginator. paginator = Paginator(paged_objects, 20) # Make sure the page request is an int -- if not, then deliver page 1. try: page = int(request.GET.get('page','1')) except ValueError: page = 1 # If the page request is out of range, deliver the last page of results. try: paged_objects = paginator.page(page) except (EmptyPage, InvalidPage): paged_objects = paginator.page(paginator.num_pages) # Bundle everything into the context and send it out. context = { 'paged_objects': paged_objects, 'form': form, 'view_type': 'types', 'q': q, 'count': count, } return render_to_response( "equipment/index.html", context, context_instance=RequestContext(request) )
def index(request, view_type=None): paged_objects = None q = None form = woforms.SearchForm() if request.GET and request.GET.get('q'): form = woforms.SearchForm(request.GET) if form.is_valid(): data = form.cleaned_data if data['q'] and data['q'].strip(): # This sends a query to search middleware, if such # query exists. It gets a Q object back which is used # in a Django filter to get our queryset. service_query = get_query(data['q'], [ 'first_name', 'last_name', 'department_text', 'department__name', 'equipment__equipment_type__name', 'equipment__make__name', 'equipment__model', 'equipment_text', 'building__name', 'room', 'location_text', 'description', ]) paged_objects = service.WorkOrder.objects.filter( service_query ) q = data['q'] else: paged_objects = service.WorkOrder.objects.all() if view_type == None: paged_objects = paged_objects.filter( completion_date=None).order_by( '-creation_date' ) elif view_type == 'completed': paged_objects = paged_objects.exclude( completion_date=None).order_by( '-completion_date' ) count = paged_objects.count() # Repackage everything into paged_objects using Paginator. paginator = Paginator(paged_objects, 20) # Make sure the page request is an int -- if not, then deliver page 1. try: page = int(request.GET.get('page','1')) except ValueError: page = 1 # If the page request is out of range, deliver the last page of results. try: paged_objects = paginator.page(page) except (EmptyPage, InvalidPage): paged_objects = paginator.page(paginator.num_pages) # Bundle everything into the context and send it out. context = { 'paged_objects': paged_objects, 'view_type': view_type, 'form': form, 'q': q, 'count': count, } return render_to_response( "service/index.html", context, context_instance=RequestContext(request) )
def index(request, structure_kind='buildings'): if not structure_kind in ['buildings','departments','campuses',]: raise Http404 paged_objects = None q = None form = stforms.SearchForm() if request.GET and request.GET.get('q'): form = stforms.SearchForm(request.GET) if form.is_valid(): data = form.cleaned_data if data['q'] and data['q'].strip(): # This sends a query to search middleware, if such # query exists. It gets a Q object back which is used # in a Django filter to get our queryset. structure_query = get_query( data['q'], form.get_list(structure_kind) ) if structure_kind == 'buildings': paged_objects = structure.Building.objects.filter( structure_query ) if structure_kind == 'departments': paged_objects = structure.OrganizationalUnit.objects.filter( structure_query ) if structure_kind == 'campuses': paged_objects = structure.Campus.objects.filter( structure_query ) q = data['q'] else: if structure_kind == 'buildings': paged_objects = structure.Building.objects.all() if structure_kind == 'departments': paged_objects = structure.OrganizationalUnit.objects.all() if structure_kind == 'campuses': paged_objects = structure.Campus.objects.all() # Repackage everything into paged_objects using Paginator. paginator = Paginator(paged_objects, 20) # Make sure the page request is an int -- if not, then deliver page 1. try: page = int(request.GET.get('page','1')) except ValueError: page = 1 # If the page request is out of range, deliver the last page of results. try: paged_objects = paginator.page(page) except (EmptyPage, InvalidPage): paged_objects = paginator.page(paginator.num_pages) # Bundle everything into the context and send it out. context = { 'paged_objects': paged_objects, 'object_list': paged_objects.object_list, 'form': form, 'view_type': structure_kind, 'q': q, } return render_to_response( "structure/index.html", context, context_instance=RequestContext(request) )
def index(request, view_type=None): if view_type not in ['weekly',None]: raise Http404 paged_objects = None q = None count = None form = eqforms.SearchForm() if request.GET and request.GET.get('q'): form = eqforms.SearchForm(request.GET) if form.is_valid(): data = form.cleaned_data if data['q'] and data['q'].strip() and form.get_list(): # This sends a query to search middleware, if such # query exists. It gets a Q object back which is used # in a Django filter to get our queryset. equipment_query = get_query(data['q'], form.get_list()) paged_objects = equipment.Equipment.objects.filter( equipment_query ) q = data['q'] else: paged_objects = equipment.Equipment.objects.all() if view_type == 'weekly': #import pdb; pdb.set_trace() paged_objects.object_list = paged_objects.filter( on_weekly_checklist=True ).order_by( 'equipment_type__name', 'video_unit', 'cc_unit', 'make__name', 'model', 'serial', ).select_related() count = paged_objects.object_list.count() if view_type == None: count = paged_objects.count() # Repackage everything into paged_objects using Paginator. paginator = Paginator(paged_objects, 20) # Make sure the page request is an int -- if not, then deliver page 1. try: page = int(request.GET.get('page','1')) except ValueError: page = 1 # If the page request is out of range, deliver the last page of results. try: paged_objects = paginator.page(page) except (EmptyPage, InvalidPage): paged_objects = paginator.page(paginator.num_pages) # Bundle everything into the context and send it out. context = { 'paged_objects': paged_objects, 'form': form, 'view_type': view_type, 'q': q, 'count': count, } return render_to_response( "equipment/index.html", context, context_instance=RequestContext(request) )
def index(request, view_type=None, date_range=None): # Setup our paging and query objects ahead of time if view_type not in [ 'unconfirmed', 'current', 'pickups', 'deliveries', 'returns', 'completed', 'overdue', None,]: raise Http404 paged_objects = None q = None count = None now = dt.datetime.now() today = dt.date.today() # Set up an empty form form = coforms.SearchForm() # If there's a GET request, specifically one with a search query if request.GET and request.GET.get('q'): # Get the data from the search form and put it in a SearchForm object form = coforms.SearchForm(request.GET) if form.is_valid(): # If everything's valid, get clean form data and get a list of # which boxes were selected data = form.cleaned_data if data['q'] and data['q'].strip() and form.get_list(): # This sends a query to search middleware, if such # query exists. It gets a Q object back which is used # in a Django filter to get our queryset. checkout_query = get_query(data['q'], form.get_list()) paged_objects = checkout.Checkout.objects.filter( checkout_query) q = data['q'] else: # If it's not valid or nothing was checked, get all objects from db paged_objects = checkout.Checkout.objects.all() if view_type == None: paged_objects = paged_objects.filter( completion_date=None).order_by( '-out_date' ) elif view_type == 'unconfirmed': paged_objects = paged_objects.filter( confirmation_sent=False).filter( completion_date=None).exclude( email='').order_by( 'out_date' ) elif view_type == 'current': paged_objects = paged_objects.filter( completion_date=None).exclude( action_date=None).order_by( '-out_date' ) elif view_type == 'pickups': paged_objects = paged_objects.filter( checkout_type='pickup').filter( action_date=None).filter( return_date__gte=today).filter( completion_date=None).order_by( 'out_date' ) elif view_type == 'deliveries': paged_objects = paged_objects.filter( checkout_type='delivery').filter( action_date=None).filter( return_date__gte=today).filter( completion_date=None).order_by( 'out_date' ) elif view_type == 'returns': paged_objects = paged_objects.filter( return_date__gte=today).filter( completion_date=None).order_by( 'return_date' ) elif view_type == 'completed': paged_objects = paged_objects.exclude( completion_date=None).order_by( '-return_date' ) elif view_type == 'overdue': paged_objects = paged_objects.filter( return_date__lt=today).filter( completion_date=None).order_by( '-return_date' ) count = paged_objects.count() # Repackage everything into paged_objects using Paginator. paginator = Paginator(paged_objects, 20) # Make sure the page request is an int -- if not, then deliver page 1. try: page = int(request.GET.get('page','1')) except ValueError: page = 1 # If the page request is out of range, deliver the last page of results. try: paged_objects = paginator.page(page) except (EmptyPage, InvalidPage): paged_objects = paginator.page(paginator.num_pages) # Bundle everything into the context and send it out. context = { 'paged_objects': paged_objects, 'object_list': paged_objects.object_list, 'form': form, 'view_type': view_type, 'q': q, 'count': count, } return render_to_response( "checkout/index.html", context, context_instance=RequestContext(request) )