Esempio n. 1
0
def partnerOrderPrice(request):
    try:
        user = request.user
        Profile.objects.get(user=user)
        originCountry = request.data.get('originCountry')
        destinationCountry = request.data.get('destinationCountry')
        shippingWeight = request.data.get('shippingWeight')
        shippingMode = request.data.get('shippingMode')
        service = Service.objects.get(id=request.data.get('service'))
        if shippingMode == EXPRESS_SHIPPING:
            serviceCosts = Service.computeExpressCosts(
                shippingWeight,
                originCountry,
                destinationCountry,
                service.partnerForwarderMargin
            )
        else:
            serviceCosts = Service.computeStandardCosts(
                shippingWeight,
                originCountry,
                destinationCountry,
                service.partnerForwarderMargin
            )
        finalPrice = functools.reduce(lambda a, b: a + b, map(lambda p: p['amount'], serviceCosts))
        finalPrice = Service.eurToUsdConversion(finalPrice)

        return Response({'success': True, 'price': finalPrice})
    except Exception as e:
        return Response({'success': False, 'error': e.message})