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))
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
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