Esempio n. 1
0
def trade(request, pk):
    if request.user.is_authenticated():
        stock = Stock.objects.get(pk=pk)
        can_sell = request.user.userprofile.can_sell(stock)
        price = stock.price()
        userprofile = request.user.userprofile
        if request.method == 'POST':
            form = TradeForm(request.POST, can_sell=can_sell)
            form.validate_max_shares(stock, userprofile, price)
            if form.is_valid():
                form.save(commit=False).save_with_attrs(form, stock, userprofile, price)
                return HttpResponseRedirect('/stocks/')
        else:
            form = TradeForm(can_sell=can_sell)
        return render_to_response('stocks/trade.html',
               { 'form': form, 'stock': stock, 'can_sell': can_sell, 'price': price },
               context_instance=RequestContext(request))
    else:
        return render_to_response('stocks/trade.html')