from eums.models import DistributionPlanNode, DistributionPlan, Flow
from rest_framework.utils.urls import replace_query_param
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from eums.api.sorting.standard_dic_sort import StandardDicSort
from eums.api.filter.filter_mixin import RequestFilterMixin
from eums.permissions.stock_report_permissions import StockReportPermissions

PAGE_SIZE = 10
sort = StandardDicSort('last_shipment_date', 'last_received_date',
                       'total_value_received', 'total_value_dispensed',
                       'total_value_lost', 'balance')

mixin = RequestFilterMixin()


class StockReport(APIView):
    permission_classes = (StockReportPermissions, )

    def get(self, request):
        reduced_stock_report = filter_stock_report(request)
        totals = _compute_totals(reduced_stock_report)
        reduced_stock_report = sort.sort_by(request, reduced_stock_report)
        paginated_results = Paginator(reduced_stock_report, PAGE_SIZE)

        page_number = _get_page_number(request)
        results_current_page = paginated_results.page(page_number)

        data = {
Exemple #2
0
 def setUp(self):
     super(TestRequestFilterMixin, self).setUp()
     self.mixin = RequestFilterMixin()