Пример #1
0
    def read(self, request, code="", warehouse="", destination="", consignee="", format=""):
        """Return orders in CSV"""

        orders = self.model.objects.all()
        orders = orders.filter(**filter_for_orders())
     
        if not request.user.has_perm("ets.order_api_full_access"):
            orders = orders.filter(warehouse__persons__pk=request.user.pk)

        if request.GET.has_key('sSearch'):
            orders = get_datatables_filtering(request, orders)
        
        filter_arg = {}
        if warehouse: 
            filter_arg['warehouse__pk'] = warehouse
        if destination:
            filter_arg['consignee__warehouses__pk'] = destination
        if consignee:
            filter_arg['consignee__pk'] = consignee
        if code:
            filter_arg['code'] = code
        if filter_arg:
            orders = orders.filter(**filter_arg)
        
        return orders
Пример #2
0
    def read(self, request, code="", warehouse="", destination="", consignee="", **kwargs):
        """Return orders"""

        orders = self.model.objects.all()
        orders = orders.filter(**filter_for_orders())
     
        if not request.user.has_perm("ets.order_api_full_access"):
            orders = orders.filter(warehouse__persons__pk=request.user.pk)

        if request.GET.has_key('sSearch'):
            orders = get_datatables_filtering(request, orders)
        
        return orders
Пример #3
0
def table_orders(request, queryset):
    """Ajax view that returns list of orders for using in datatables"""
    column_index_map = {
        0: 'code',
        1: 'created',
        2: 'dispatch_date',
        3: 'expiry',
        4: 'warehouse__name',
        5: 'location__name',
        6: 'consignee__code',
        7: 'transport_name',
        8: 'code',
        9: 'code',
        10: 'code',
    }
    
    queryset = queryset.filter(**filter_for_orders())

    redirect_url = get_api_url(request, column_index_map, "api_orders")
    if redirect_url:
        return HttpResponse(simplejson.dumps({'redirect_url': redirect_url}), content_type="application/json; charset=utf-8")

    return get_datatables_records(request, queryset, column_index_map, lambda item: [
        fill_link(item.get_absolute_url(), item.code),
        date_filter(item.created).upper(),
        date_filter(item.dispatch_date).upper(),
        date_filter(item.expiry).upper(),
        item.warehouse.name,
        item.location.name,
        unicode(item.consignee),
        item.transport_name,
        item.percentage,
        fill_link(reverse('waybill_create', kwargs={'order_pk': item.pk}) \
                  if item.has_waybill_creation_permission(request.user) else '', 
                  _("Create")),
        item.is_expired(),
        ])
Пример #4
0
 def read(self, request, order="", warehouse="", destination="", consignee="", **kwargs):
     """Return order items"""
     order_items = self.model.objects.all().distinct()
     
     order_items = order_items.filter(**dict([("order__%s" % key, value) for key, value in filter_for_orders().items()]))
     
     if not request.user.has_perm("ets.orderitem_api_full_access"):
         order_items = order_items.filter(order__warehouse__persons__pk=request.user.pk)
     
     return order_items