コード例 #1
0
ファイル: views.py プロジェクト: exogen/pendle
def browse_customers(request, transaction_key):
    query_str = request.GET.get("query", "").strip()
    response = {"query": query_str}
    if query_str:
        query = search_query(query_str, ["first_name", "last_name", "username", "email", "profile__id_number"])
        customers = User.objects.filter(query)
    else:
        customers = User.objects.all()
    results = []
    for customer in customers:
        results.append(
            {
                "value": customer.username,
                "username": customer.username,
                "fullName": customer.get_full_name(),
                "idNumber": customer.get_profile().id_number,
            }
        )
    return JsonResponse(
        {
            "query": query_str,
            "container": "#customers tbody",
            "results": results,
            "template": render_to_string("institution/includes/browse_customer.html"),
        }
    )
コード例 #2
0
ファイル: views.py プロジェクト: pombredanne/pendle
def browse_assets(request, transaction_key):
    catalog_id = request.GET.get('catalog')
    catalog = Catalog.objects.get_or_default(catalog_id)
    filter_by = request.GET.get('filter', 'none')
    query_str = request.GET.get('query', "").strip()
    if not query_str and not filter_by:
        filter_by = 'manufacturer'
    context = {'transaction_key': transaction_key, 'filter': filter_by,
               'query': query_str, 'catalog': catalog, 'assets': None}
    if query_str:
        query = search_query(query_str, ['barcode', 'product__title',
                                         'product__manufacturer__name'])
        assets = Asset.objects.filter(query)
    else:
        assets = Asset.objects.all()
    assets = assets.filter(catalog=catalog).order_by('barcode')
    if filter_by == 'manufacturer':
        manufacturer_id = request.GET.get('manufacturer')
        if manufacturer_id:
            context['manufacturer'] = Manufacturer.objects.get(
                id=manufacturer_id)
            assets = assets.filter(product__manufacturer=manufacturer_id)
        else:
            context['manufacturers'] = sorted(Manufacturer.objects.all(),
                                              key=lowercase_str)
    elif filter_by == 'type':
        type_id = request.GET.get('type')
        if type_id:
            context['product_type'] = ProductType.objects.get(id=type_id)
            assets = assets.filter(product__product_type=type_id)
        else:
            context['product_types'] = sorted(ProductType.objects.all(),
                                              key=lowercase_str)
    return JsonResponse({
        'query': query_str,
        'results': [{'value': asset.barcode,
                     'barcode': asset.barcode,
                     'manufacturer': {'name': asset.product.manufacturer and
                                              asset.product.manufacturer.name},
                     'product': {'title': asset.product.title}}
                     for asset in assets]})