Exemple #1
0
def dashboard():
  dashboard = 'dashboard.html'
  dashboard_admin = 'dashboard_admin.html'
  jumbomessage = None
  accounts = None
  networth = 0.00
  inexAllGraph = exAllGraph = inexYearlyAllGraph = None
  unread = None
  if not request.method == "POST":
    if 'logged_in' in session:
      if session['username'] == 'admin':
        return render_template(dashboard_admin)
      jumbomessage = dashboardMessage(session['username'])
      if checkTotalAccounts(session['username']) != 0:
        accounts = getAccounts(session['username'])
        networth = getNetworth(session['username'])
        inexAllGraph = inexTrendAll(session['username'])
        exAllGraph = exTrendAll(session['username'])
        inexYearlyAllGraph = inexTrendYearlyAll(session['username'])
      unreadCount = getInboxCount(session['username'], "unread")
      if unreadCount > 0:
        unread = unreadCount
      return render_template(dashboard, jumbomessage=jumbomessage, accounts=accounts, networth=networth, inexAllGraph=inexAllGraph, inexYearlyAllGraph=inexYearlyAllGraph, exAllGraph=exAllGraph, unread=unread)
    return render_template('index.html', message="You need to login first", mtype="warning")
  username = request.form['username']
  password = request.form['password']
  if checkLogin(username, password):
    session['logged_in'] = True
    session['username'] = username
    session['user'] = getNameofUser(username)
    if username == "admin":
      return render_template(dashboard_admin)
    else:
      # Check if user has investment accounts
      if not checkTotalInvestmentAccounts(session['username']) == 0:
        # Fetch MF NAV data to temp file
        mfNAV2File() 
      jumbomessage = dashboardMessage(username)
      if checkTotalAccounts(username) != 0:
        accounts = getAccounts(username)
        networth = getNetworth(username)
        inexAllGraph = inexTrendAll(session['username'])
        inexYearlyAllGraph = inexTrendYearlyAll(session['username'])
        exAllGraph = exTrendAll(session['username'])
      unreadCount = getInboxCount(session['username'], "unread")
      if unreadCount > 0:
        unread = unreadCount
      return render_template(dashboard, jumbomessage=jumbomessage, accounts=accounts, networth=networth, inexAllGraph=inexAllGraph, inexYearlyAllGraph=inexYearlyAllGraph, exAllGraph=exAllGraph, unread=unread)
  else:
    return render_template('index.html', message="Invalid credentials. Please try again", mtype="danger")
Exemple #2
0
def categorystats():
    if checkTotalAccounts(session['username']) == 0:
        flash(
            "No reports as you don't have any accounts setup. Please start adding your accounts"
        )
        jumbomessage = dashboardMessage(session['username'])
        return render_template('dashboard.html', jumbomessage=jumbomessage)
    categoryStatsGraph = categoryStatsGraphYearly = None
    categoryStatsData = categoryStatsDataYearly = None
    categoryAllGraph = None
    if request.method == "POST":
        statcategory = request.form['statcategory']
        categoryStatsGraph, categoryStatsData = categoryStats(
            session['username'], statcategory, "YEAR_MONTH")
        categoryStatsGraphYearly, categoryStatsDataYearly = categoryStats(
            session['username'], statcategory, "YEAR")
        categoryAllGraph = categoryAllGraphDot(session['username'],
                                               statcategory)
    categoriesRaw = getCategories()
    categories = ([x for x in categoriesRaw[0] if x != "TRANSFER IN"],
                  [x for x in categoriesRaw[1] if x != "TRANSFER OUT"])
    return render_template('categorystats.html',
                           categories=categories,
                           categoryStatsGraph=categoryStatsGraph,
                           categoryStatsData=categoryStatsData,
                           categoryStatsGraphYearly=categoryStatsGraphYearly,
                           categoryStatsDataYearly=categoryStatsDataYearly,
                           categoryAllGraph=categoryAllGraph)
Exemple #3
0
def dashboardMessage(username):
  jumbomessage = []
  # Check how many accounts the user has got
  accounts = checkTotalAccounts(username)
  if accounts == 0:
    jumbomessage.append("You don't have any accounts setup. Please add a new account to manage and start tracking.")
  else:
    jumbomessage.append("You have %s accounts configured." % accounts)
  return jumbomessage
Exemple #4
0
def curvsprevexpenses():
  if checkTotalAccounts(session['username']) == 0:
    flash("No reports as you don't have any accounts setup. Please start adding your accounts")
    jumbomessage = dashboardMessage(session['username'])
    return render_template('dashboard.html', jumbomessage=jumbomessage)
  prevmnthexpenses = getAllCategoryStatsForMonth(session['username'], 1)
  curmnthexpenses = getAllCategoryStatsForMonth(session['username'], 0)
  return render_template('curvsprevmonthexpenses.html',
                          prevmnthexpenses=prevmnthexpenses,
                          curmnthexpenses=curmnthexpenses)
Exemple #5
0
def transferfunds():
  if checkTotalAccounts(session['username']) == 0:
    flash("Please add some accounts first before trying to transfer funds!!")
    jumbomessage = dashboardMessage(session['username'])
    return render_template('dashboard.html', jumbomessage=jumbomessage)
  accounts = getAccounts(session['username'])
  if request.method == "POST":
    fromacc = request.form['fromaccount']
    toacc = request.form['toaccount']
    amount = request.form['amount']
    date = request.form['date']
    notes = request.form['notes']
    addTransactionsDB(date, notes, amount, "TRANSFER OUT", fromacc, session['username'])
    addTransactionsDB(date, notes, amount, "TRANSFER IN", toacc, session['username'])
    flash("Funds transferred from %s to %s successfully" % (fromacc, toacc))
  return render_template('transferfunds.html', accounts=accounts)
Exemple #6
0
def addtransaction():
  if checkTotalAccounts(session['username']) == 0:
    flash("Please add an account first before trying to add a transaction!!")
    jumbomessage = dashboardMessage(session['username'])
    return render_template('dashboard.html', jumbomessage=jumbomessage)
  inc_categories, exp_categories = getCategories()
  categories = exp_categories + inc_categories
  accounts = getAccounts(session['username'])
  if request.method == "POST":
    account = request.form['account']
    category = request.form['category']
    amount = request.form['amount']
    date = request.form['date']
    notes = request.form['notes']
    flash(addTransactionsDB(date, notes, amount, category, account, session['username']))
  return render_template('addtransaction.html', categories=categories, accounts=accounts)
Exemple #7
0
def yearataglance():
  if checkTotalAccounts(session['username']) == 0:
    flash("No reports as you don't have any accounts setup. Please start adding your accounts")
    jumbomessage = dashboardMessage(session['username'])
    return render_template('dashboard.html', jumbomessage=jumbomessage)
  year = curyear = date.today().year
  if request.method == "POST":
      year = request.form['year']
  yearexpenses = getAllCategoryStatsForYear(session['username'], year)
  inexGraph = inexTrend(session['username'], year)
  expenseGraph = expenseStats(session['username'], year)
  expenseBarGraph = expenseStatsBar(session['username'], year)
  return render_template('yearataglance.html',
                          inexGraph=inexGraph,
                          expenseGraph=expenseGraph,
                          expenseBarGraph=expenseBarGraph,
                          yearexpenses=yearexpenses,
                          curyear=curyear, year=year)