def supply_search(request): from logistics.models import Supply, SupplyReservation q = request.GET.get('q') init = request.GET.get('init') unit_pk = request.GET.get('unit_pk', "-1") or "-1" supplies = Supply.objects.filter(active=True, deleted=False).order_by('title') if q: supplies = supplies.filter(title__icontains=q) if init is not None: if not init: return HttpResponse(json.dumps([])) supplies = supplies.filter(pk=init) if unit_pk == "-1": supplies = supplies.filter(allow_externals=True) else: # Pas de filtre, mais on check que le dude peut faire une réservation # dans l'unité from units.models import Unit get_object_or_404(Unit, pk=unit_pk) dummy = SupplyReservation() update_current_unit(request, unit_pk) if not dummy.rights_can('CREATE', request.user): raise Http404 retour = map( lambda supply: { 'id': supply.pk, 'text': supply.title, 'description': strip_tags(html_check_and_safe(supply.description))[:100] + '...', 'unit': str(supply.unit) }, supplies) return HttpResponse(json.dumps(retour))
def display_search(request): from communication.models import Display, DisplayReservation q = request.GET.get('q') init = request.GET.get('init') unit_pk = request.GET.get('unit_pk', "-1") or "-1" displays = Display.objects.filter(active=True, deleted=False).order_by('title') if q: displays = displays.filter(title__icontains=q) if init is not None: if not init: return HttpResponse(json.dumps([])) displays = displays.filter(pk=init) if unit_pk == "-1": displays = displays.filter(allow_externals=True) else: # Pas de filtre, mais on check que le dude peut faire une réservation # dans l'unité from units.models import Unit get_object_or_404(Unit, pk=unit_pk) dummy = DisplayReservation() update_current_unit(request, unit_pk) if not dummy.rights_can('CREATE', request.user): raise Http404 retour = [{ 'id': display.pk, 'text': display.title, 'description': strip_tags(html_check_and_safe(display.description))[:100] + '...', 'unit': str(display.unit) } for display in displays] return HttpResponse(json.dumps(retour))
def supply_search(request): from logistics.models import Supply, SupplyReservation q = request.GET.get('q') init = request.GET.get('init') unit_pk = request.GET.get('unit_pk', "-1") or "-1" supplies = Supply.objects.filter(active=True, deleted=False).order_by('title') if q: supplies = supplies.filter(title__icontains=q) if init is not None: if not init: return HttpResponse(json.dumps([])) supplies = supplies.filter(pk=init) if unit_pk == "-1": supplies = supplies.filter(allow_externals=True) else: # Pas de filtre, mais on check que le dude peut faire une réservation # dans l'unité from units.models import Unit get_object_or_404(Unit, pk=unit_pk) dummy = SupplyReservation() update_current_unit(request, unit_pk) if not dummy.rights_can('CREATE', request.user): raise Http404 retour = map(lambda supply: {'id': supply.pk, 'text': supply.title, 'description': strip_tags(html_check_and_safe(supply.description))[:100] + '...', 'unit': str(supply.unit)}, supplies) return HttpResponse(json.dumps(retour))