コード例 #1
0
    def process_order(self):
        order_budget = Decimal(self.request.POST["budget"]) - Decimal(
            self.request.POST["bonus"])

        if order_budget:
            total_price = order_budget

            for tax in self.account.taxes():
                total_price = total_price + (order_budget * tax.tax)

            order = AdvertisingOrder(budget=order_budget,
                                     total_price=total_price,
                                     campaign=self.campaign,
                                     account=self.account)

            order.save()

            for tax in self.account.taxes():
                account_tax_cost = AccountTaxCost(account_tax=tax,
                                                  cost=order_budget * tax.tax,
                                                  tax_name=tax.name)
                account_tax_cost.save()
                order.taxes.add(account_tax_cost)

            self.redirect_to_paypal = True

        else:
            order = AdvertisingOrder(budget=order_budget,
                                     total_price=order_budget,
                                     campaign=self.campaign,
                                     account=self.account,
                                     status="s")

            order.save()

        self.order = order