Exemple #1
0
def show_lookup():
    if request.method == 'POST':
        username = g.user
        user_login = model.get_username(username)
        company = request.form["company"]

        #ticker_symbol = model.get_ticker_symbol(company)
        #last_price = model.get_price_by_company(company)

        company_details = model.lookup_stock_details(company)
        series_data = model.get_time_series(company)
        try:
            open_prices = series_data[1]
            labels = series_data[2]
        except Exception:
            pass

        return render_template('lookup.html',
                               user_login=user_login,
                               company_details=company_details,
                               open_prices=open_prices,
                               labels=labels)
    else:
        username = g.user
        user_login = model.get_username(username)

        return render_template('lookup.html', user_login=user_login)
Exemple #2
0
def sell_form():

    username = g.user
    user_login = model.get_username(username)

    ticker_symbol = request.form["ticker"]
    print("Tickeer: ", ticker_symbol)
    volume = request.form["volume"]
    print("Volume", volume)
    last_price = model.get_price_by_ticker_symbol(ticker_symbol)
    print("Last Price", last_price)
    result = model.sell(ticker_symbol, volume, username)
    print("Result", result)

    if "." not in result:
        pass
    else:
        if int(volume) > 1:
            result = "You have sold {0} shares of {1}.\nYour new balance is ${2}".format(
                volume, ticker_symbol, result)
        else:
            result = "You have sold {0} share of {1}.\nYour new balance is ${2}".format(
                volume, ticker_symbol, result)

    return render_template('sell.html', user_login=user_login, result=result)
Exemple #3
0
def search_form():
	username = g.user
	user_login = model.get_username(username)

	company = request.form["company"]
	ticker_symbol = model.get_ticker_symbol(company)
	last_price = model.get_price_by_company(company)
	return render_template('buy.html', user_login=user_login,company=company,ticker_symbol=ticker_symbol, last_price=last_price)
Exemple #4
0
def buy_form():
	username = g.user
	user_login = model.get_username(username)


	ticker_symbol = request.form["ticker"]
	volume = request.form["volume"]
	last_price = model.get_price_by_ticker_symbol(ticker_symbol)
	result = model.buy(ticker_symbol, volume, username)

	if int(volume) > 1:
		result = "You have purchased {0} shares of {1}.\nYour new balance is ${2}".format(volume,ticker_symbol,result)
	else:
		result = "You have purchased {0} share of {1}.\nYour new balance is ${2}".format(volume,ticker_symbol,result)

	return render_template('buy.html',user_login=user_login,result=result, ticker_symbol=ticker_symbol, last_price=last_price)
Exemple #5
0
def show_login():
    if request.method == 'POST':
        # Assuming it's a POST request
        session.pop('user', None)
        username = request.form['email']
        password = request.form['password']

        try:
            admin, username = model.login(username, password)
            session['user'] = request.form['email']
            user_login = model.get_username(username)
            return render_template('dashboard.html', user_login=user_login)
        except Exception:
            error_message = "Incorrect username or password."
            return render_template('login.html')

    return render_template('login.html')
Exemple #6
0
def show_dashboard():

    username = g.user
    user_login = model.get_username(username)

    leaderboard = model.get_leaderboard_by_portfolio_value()

    profitloss = model.get_leaderboard_by_profit_loss()

    top_stocks, shares, percentages = model.get_top_ten_stocks()

    return render_template('homepage.html',
                           user_login=user_login,
                           leaderboard=leaderboard,
                           profitloss=profitloss,
                           top_stocks=sorted(zip(percentages, top_stocks,
                                                 shares),
                                             reverse=True))
Exemple #7
0
def show_portfolio():

    username = g.user
    user_login = model.get_username(username)

    # Get portfolio data
    ticker_symbols, share_amounts, purchase_prices, last_prices = model.display_holdings_for_user(
        username)
    user_holdings = zip(ticker_symbols, share_amounts, purchase_prices,
                        last_prices)

    # Get portfolfio data over time to graph value
    dates, portfolio_values = model.get_portfolio_value_over_time(username)
    if len(portfolio_values) > 0:
        highest_price = max(portfolio_values)
        dates.sort()
        earliest_date = dates[0]
        last_date = dates[-1]
        middle_date = dates[int(len(dates) / 2)]
        labels = [last_date, middle_date, earliest_date]
        mylist = zip(dates, portfolio_values)
        percentages = model.get_portfolio_percentage(username)

        # Get transaction data
        trans_dates, ticker_symbols, trans_types, volumes, stock_prices = model.get_user_transactions(
            username)
        user_transactions = zip(trans_dates, ticker_symbols, trans_types,
                                volumes, stock_prices)

        return render_template('portfolio.html',
                               user_login=user_login,
                               dates=dates,
                               portfolio_values=portfolio_values,
                               user_holdings=user_holdings,
                               user_transactions=user_transactions,
                               highest_price=highest_price,
                               labels=labels,
                               percentages=percentages)

    return render_template('portfolio.html', user_login=user_login)
Exemple #8
0
def show_buy():
	username = g.user
	user_login = model.get_username(username)

	return render_template('buy.html',user_login=user_login)
Exemple #9
0
def show_user_portfolio():

    username = g.user
    user_login = model.get_username(username)

    return render_template('portfolio.html', user_login=user_login)