Exemple #1
0
 def taxes(self, request, pk=None):
     """
     Get taxes for order
     """
     from shuup.core.api.tax import OrderLineTaxSerializer, TaxSummarySerializer
     order = self.get_object()
     tax_summary = order.get_tax_summary()
     rows = [row.to_dict() for row in tax_summary if row.tax_id]
     serializer = TaxSummarySerializer(data=rows, many=True)
     serializer.is_valid(True)
     lines = []
     for line in order.lines.filter(taxes__isnull=False):
         taxes = line.taxes.all()
         ts = OrderLineTaxSerializer(taxes,
                                     many=True,
                                     context=self.get_serializer_context())
         for row in ts.data:
             lines.append(row)
     return Response({"summary": serializer.validated_data, "lines": lines})
Exemple #2
0
 def taxes(self, request, pk=None):
     """
     Get taxes for order
     """
     from shuup.core.api.tax import OrderLineTaxSerializer, TaxSummarySerializer
     order = self.get_object()
     tax_summary = order.get_tax_summary()
     rows = [row.to_dict() for row in tax_summary if row.tax_id]
     serializer = TaxSummarySerializer(data=rows, many=True)
     serializer.is_valid(True)
     lines = []
     for line in order.lines.filter(taxes__isnull=False):
         taxes = line.taxes.all()
         ts = OrderLineTaxSerializer(taxes, many=True, context=self.get_serializer_context())
         for row in ts.data:
             lines.append(row)
     return Response({
         "summary": serializer.validated_data,
         "lines": lines
     })
Exemple #3
0
 def taxes(self, request, *args, **kwargs):
     """
     Get taxes for basket
     """
     self.process_request()
     basket = request.basket
     tax_summary = basket.get_tax_summary()
     rows = [row.to_dict() for row in tax_summary]
     basket_summary_serializer = TaxSummarySerializer(data=rows, many=True)
     basket_summary_serializer.is_valid(True)
     lines = []
     for line in basket.get_final_lines(True):
         items = []
         for source_line_tax in line.taxes:
             source_line_tax.line_id = line.line_id
             items.append(source_line_tax)
         ts = SourceLineTaxSerializer(items, many=True)
         for row in ts.data:
             lines.append(row)
     return Response({
         "summary": basket_summary_serializer.validated_data,
         "lines": lines
     })
Exemple #4
0
 def taxes(self, request, *args, **kwargs):
     """
     Get taxes for basket
     """
     self.process_request()
     basket = request.basket
     tax_summary = basket.get_tax_summary()
     rows = [row.to_dict() for row in tax_summary]
     basket_summary_serializer = TaxSummarySerializer(data=rows, many=True)
     basket_summary_serializer.is_valid(True)
     lines = []
     for line in basket.get_final_lines(True):
         items = []
         for source_line_tax in line.taxes:
             source_line_tax.line_id = line.line_id
             items.append(source_line_tax)
         ts = SourceLineTaxSerializer(items, many=True)
         for row in ts.data:
             lines.append(row)
     return Response({
         "summary": basket_summary_serializer.validated_data,
         "lines": lines
     })