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
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
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(), ])
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