예제 #1
0
 def get( self, request, slug ):
     if request.user.is_anonymous():
         return redirect('/')
     request.context_dict[ 'portfolio' ] = Portfolio( slug )
     request.context_dict[ 'form' ] = Portfolio.create_holding()
     
     return render( request, 'portfolio/holding_add.html', request.context_dict )
예제 #2
0
    def get( self, request, game_id ):
        if request.user.is_anonymous():
            return redirect('/')
        request.context_dict['game'] = get_game( game_id )
        request.context_dict['form'] = Portfolio.create_holding()

        print( request.context_dict['game'] )
        return render( request, 'game/manage.html', request.context_dict )
예제 #3
0
    def post( self, request, slug ):
        form = Portfolio.create_holding( request.POST )
        portfolio = Portfolio( slug, request.POST['date'] )

        if form.is_valid():
            form_data = form.cleaned_data
            form_data['date'] = request.POST['date']
            form_data['price'] = portfolio.stock_by_date( form_data['symbol'] ).close

            portfolio.add_holding( form_data )

            return redirect( '/portfolio/{}/manage'.format( slug ) )

        else:
            request.context_dict[ 'form' ] = form

            return render( request, 'portfolio/holding_add.html', request.context_dict )
예제 #4
0
    def post( self, request, game_id ):
        request.context_dict['game'] = get_game( game_id )
        form = Portfolio.create_holding( request.POST )
        request.context_dict[ 'form' ] = form
        if form.is_valid():
            form_data = form.cleaned_data
            form_data['date'] = str( request.context_dict['game'].current_date )

            form_data['price'] = request.context_dict['game'].portfolio.stock_by_date( form_data['symbol'] ).close
            if form_data['price'] * form_data["shares"] <= request.context_dict["game"].balance:
                results = request.context_dict['game'].portfolio.add_holding( form_data )

                request.context_dict['game'].balance -= results
                request.context_dict['game'].save( update_fields=["balance"] )

                return redirect( '/game/{}/manage'.format( game_id ) )
            else:
                errors = request.context_dict[ 'form' ]._errors.setdefault("shares", ErrorList())
                errors.append(u"You cannot afford that")
                return render( request, 'game/manage.html', request.context_dict ) 
        else:
            return render( request, 'game/manage.html', request.context_dict )