Beispiel #1
0
def setup_featured(request, authentication_key):
    account = request.account
    event = Event.events.get(authentication_key__exact=authentication_key)    

    featured_event = FeaturedEvent(
        event=event,
        owner=account,
        start_time=datetime.date.today(),
        end_time=datetime.date.today() + datetime.timedelta(days=15)
    )

    venue_account_featured_stats = FeaturedEvent.objects.filter(event__venue_id=event.venue.id)

    form = SetupFeaturedForm(
        instance=featured_event
    )

    if request.method == 'POST':
        form = SetupFeaturedForm(instance=featured_event, data=request.POST)

        if form.is_valid():
            featured_event = form.save()

            cost = (featured_event.end_time - featured_event.start_time).days * Money(2, CAD)
            total_price = cost

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

            order = FeaturedEventOrder(
                cost=cost,
                total_price=total_price,
                featured_event=featured_event,
                account=account
            )

            order.save()

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

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

    return render_to_response('events/setup_featured_event.html', {
            'form': form,
            'featured_events_stats': venue_account_featured_stats
        }, context_instance=RequestContext(request))
Beispiel #2
0
    def process_order(self):
        cost = self._calculate_cost()
        bonus = Money(Decimal(self.request.POST["bonus"]), CAD)
        cost = cost - bonus

        if cost.amount > 0:
            total_price = cost

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

            order = FeaturedEventOrder(cost=cost,
                                       total_price=total_price,
                                       featured_event=self.featured_event,
                                       account=self.account)

            order.save()

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

            self.redirect_to_paypal = True

        else:
            order = FeaturedEventOrder(cost=cost,
                                       total_price=cost,
                                       featured_event=self.featured_event,
                                       account=self.account,
                                       status="s")
            order.save()
            FeaturedEvent.objects.filter(id=self.featured_event.id).update(
                active=True)

        self.order = order
Beispiel #3
0
    def process_order(self):
        cost = self._calculate_cost()
        bonus = Money(Decimal(self.request.POST["bonus"]), CAD)
        cost = cost - bonus

        if cost.amount > 0:
            total_price = cost

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

            order = FeaturedEventOrder(
                cost=cost,
                total_price=total_price,
                featured_event=self.featured_event,
                account=self.account
            )

            order.save()

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

            self.redirect_to_paypal = True

        else:
            order = FeaturedEventOrder(
                cost=cost,
                total_price=cost,
                featured_event=self.featured_event,
                account=self.account,
                status="s"
            )
            order.save()
            FeaturedEvent.objects.filter(id=self.featured_event.id).update(active=True)

        self.order = order