コード例 #1
0
ファイル: views.py プロジェクト: eliassakkos/cityfusion
def deposit_funds_for_campaign(request, campaign_id):
    account = Account.objects.get(user_id=request.user.id)    
    campaign = AdvertisingCampaign.objects.get(id=campaign_id)

    if campaign.account.user != request.user:
        resp = render_to_response('403.html', context_instance=RequestContext(request))
        resp.status_code = 403
        return resp

    form = DepositFundsForCampaignForm()

    if request.method == 'POST':
        form = DepositFundsForCampaignForm(data=request.POST)
        if form.is_valid():
            budget = Decimal(request.POST["order_budget"])
            total_price = budget

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

            order = AdvertisingOrder(
                budget=budget,
                total_price=total_price,
                campaign=campaign,
                account=account
            )


            order.save()

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


            return HttpResponseRedirect(reverse('advertising_payment', args=(str(order.id),)))

    return render_to_response('advertising/campaign/deposit_funds.html', {
        "campaign": campaign,
        "form": form
    }, context_instance=RequestContext(request))
コード例 #2
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
コード例 #3
0
ファイル: processors.py プロジェクト: dany431/cityfusion
    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
コード例 #4
0
ファイル: views.py プロジェクト: eliassakkos/cityfusion
def setup(request):
    account = Account.objects.get(user_id=request.user.id)
    campaign = AdvertisingCampaign(account=account, venue_account=request.current_venue_account)

    form = PaidAdvertisingSetupForm(account, instance=campaign)

    advertising_types = AdvertisingType.objects.filter(active=True).order_by("id")

    if request.method == 'POST':
        form = PaidAdvertisingSetupForm(account, instance=campaign, data=request.POST, files=request.FILES)
        if form.is_valid():
            advertising_campaign = form.save()

            chosen_advertising_types = get_chosen_advertising_types(campaign, request)
            chosen_advertising_payment_types = get_chosen_advertising_payment_types(campaign, request)
            chosen_advertising_images = get_chosen_advertising_images(campaign, request)

            for advertising_type_id in chosen_advertising_types:
                advertising_type = AdvertisingType.objects.get(id=advertising_type_id)
                advertising = Advertising(
                    ad_type=advertising_type,
                    campaign=advertising_campaign,
                    payment_type=chosen_advertising_payment_types[advertising_type_id],
                    image=chosen_advertising_images[advertising_type_id],
                    cpm_price=advertising_type.cpm_price,
                    cpc_price=advertising_type.cpc_price
                )

                advertising.save()

            budget = Decimal(request.POST["order_budget"])
            total_price = budget

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

            order = AdvertisingOrder(
                budget=budget,
                total_price=total_price,
                campaign=advertising_campaign,
                account=account
            )

            order.save()

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


            return HttpResponseRedirect(reverse('advertising_payment', args=(str(order.id),)))

    chosen_advertising_types = get_chosen_advertising_types(campaign, request)
    chosen_advertising_payment_types = get_chosen_advertising_payment_types(campaign, request)
    chosen_advertising_images = get_chosen_advertising_images(campaign, request)

    return render_to_response('advertising/setup.html', {
        "form": form,
        "advertising_types": advertising_types,
        "chosen_advertising_types": chosen_advertising_types,
        "chosen_advertising_payment_types": chosen_advertising_payment_types,
        "chosen_advertising_images": chosen_advertising_images

    }, context_instance=RequestContext(request))